1、運動控制型主機 DVP20PM培訓資料 PM-Soft 軟體POU功能塊使用 說明與DVPFPMC通訊網路卡,DVP20PM教育訓練大綱,17. PM-Soft 軟體POU功能塊使用說明 18. Canopen Card CIA402應用 19.Ethernet 應用實機操作,第五天,PMSoft POU 簡介,POU基本概念POU 在PMSoft中的實作程式中使用Function Block 範例 Demo,POU (Programming Organization Unit):程式組織單元符合IEC 61131-3的開發環境會把程式區分為許多POU。共有3型態: 函式(Function)
2、對應 PMSoft 可視為原 PM 的 API應用指令, 運動指令, G-Code, M-Code 功能塊 (Function Block) 對應 PMSoft 可視為原 PM 的 P 副程式 程式(Program) 對應 PMSoft 可視為原PM 的主程式(O100), 運動程式(Ox0Ox99), 副程式(P0P255)與 I 中斷副程式) 每個 POU 可以再分兩個部分 Common Elements 此部分主要是定義程式內所使用到的變數。(對應 PMSoft 可視為區域變數內含三種變數屬性, 1.輸入變數, 2.輸出變數, 3.一般變數 4.輸入輸出變數) Programming L
3、anguages 5種程式語法的任一種(IL,LD,FBD,SFC,ST(Structured Text) 。PMSoft 目前提供Ladder編輯方式,自動化應用程式整合所有的程式(Program), 功能塊(FB), 函式(Function) 使其成為一完整的 PM 程式,全域變數,FB,POU 架構下的PM 程式,功能塊(副程式),全域變數,POU : O100,區域變數,POU : Oxn,FB,POU : Pn,FB,FB,FB,FB,FB,模組化編輯環境 (POU), 將複雜專案拆成數個 POU, 方便設計 變數宣告功能 (全域變數, 區域變數), 程式內可利用變數宣告達到實體I/
4、O的指定, 全域變數並可匯入/匯出到其他專案使用 功能塊宣告 (全域變數, 區域變數), 將設計好的功能塊利用宣告方式引用到程式內 結構化編輯方式 (階梯圖資料結構化), 團隊分工當程式架構龐大時可詳細分工(FB), 可讀性 (變數宣告)及維護性較高 (POU) 個人可建立自己的資料庫(FB), 可重複使用(FB), 縮短了新產品的開發週期,同時也降低了成本,提供編輯 POU 的功能 可將複雜專案拆成數個 POU,使問題簡單化 例如在撰寫PLC程式時, 考量到一部份功能可能會重覆使用。因此, 可將此部份程式獨立出來撰寫成 FB。之後再將這些POUs組合至程式中並載入PM運行。,系統預設POU程
5、式 (Program) O100, Ox0-Ox99, P0-P255,專案中可獨立出來撰寫的部份,可在功能塊中建立一POU(Function Block)單獨撰寫。,全域變數表,在建立新的PMSoft專案檔後, 系統會自動建立Program類別的 POU(ex: O100, Ox0Ox99, P0P255), 使用者只需要在系統資訊區 (System Information), 點選相對應的POU 程式Icon, 即可以進行程式的 編輯,用滑鼠點選O100,移動滑鼠游標到 “Function Block” Icon 按下滑鼠右鍵 選取 ,POU命名規則 :1.不區分大小寫 (ex: “abc
6、”相等於“ABC”) 2.不允許重複定義相同名稱的POU 3.不能為指令名稱 (ex: LD, LDI) 4.最多允許20個字元 POU密碼設定 :當使用者設定密碼後, 在開啟此一POU時, 需輸入正確密碼, 否則無法看到POU的內容,POU是由符號編輯表單和Ladder編輯器所組成 Ladder程式中使用的變數或功能塊必須在變數表單中宣告,區域符號編輯表單,Ladder程式編輯區,全域符號編輯表單,宣告變數,功能塊接腳,功能塊實體名稱,變數表種類:全域變數表Program 型態POU的區域變數表 (ex: O100, Ox0Ox99, P0P255)Function Block 型態POU的
7、區域變數表,全域變數表不同於區域變數表, 全域變數表沒有類別(Class)的欄位 宣告在此的變數是可以用在所有的POU中 宣告的變數, 可在編譯時由系統自動配置位址或是由使用者在Address欄位指定裝置,區域變數表 (Program)宣告在此的變數只能用在目前編輯的POU中 類別(Class)固定為VAR 宣告的變數, 可在編譯時由系統自動配置位址或是由使用者在Address欄位指定裝置,Example : Program 型態POU的區域變數表,區域變數表 (Function Block)宣告在此的變數只能用在目前編輯的POU中 宣告的變數, 可在編譯時由系統自動配置位址或是由使用者在Ad
8、dress欄位指定裝置 類別(Class) 有四個選項-VAR : 區域變數-INPUT : 輸入變數-INOUT : 輸入輸出變數-OUTPUT : 輸出變數,Example: Function Block 型態POU的區域變數表,變數命名規則 :變數名稱不區分大小寫 變數名稱可由底線符號、英文字母、數字所組成 不可有連續兩個以上的底線符號 底線符號不可以出現在最後一個字元 最大長度為20個字元 名稱中不可以含有空白字元 變數名稱不可以為裝置名稱 (ex: D10, M100) 變數名稱不可以為常數 (ex: 100, K100),系統符號表的功能是在設定系統符號範圍(ex: D, M等暫存
9、器), 設定範圍內的裝置將保留給系統作為變數和功能區塊, 在編譯時記憶配置使用當設定範圍內的裝置不夠用時, 編譯時會有錯誤訊息產生,清除全部符號表單中已配置位址欄位內容,變數型態:基本型態 (Simple Type): BOOL:宣告變數型態是一位元(BIT),系統配置為M裝置。 WORD:宣告變數型態是16位元,系統配置D裝置。 DWORD:宣告變數型態是32位元,系統配置連續2個D裝置。 LWORD:宣告變數型態是64位元,系統配置連續4個D裝置。 FLOAT:宣告變數型態是32位元浮點數,系統配置為2個D裝置,用於浮點數指令。 COUNTER:宣告變數型態是16位元計數裝置,系統配置C計
10、數裝置。 TIMER:宣告變數型態是16位元計時裝置,系統配置T裝置。 ARRAY :陣列為連續的記憶體位址(型態包括:BOOL, WORD, DWORD, FLOAT, TIMER, COUNTER)功能塊 (Function Block): 使用著自訂的功能塊,變數型態輸入方式:,型態列表,陣列型態,陣列大小,基本型態,變數型態輸入方式:,功能塊列表,選擇功能塊,目的 : 讓使用者將事先定義好的變數, 匯入到變數表中使用變數表匯出: 在變數表單按下滑鼠右鍵, 並點選 Export Symbols, 即可完成匯出動作 (PS: 預設匯出附檔名為(.CSV),變數表匯入: 在變數表單按下滑鼠右
11、鍵, 並點選 Import Symbols, 即產生匯入功能視窗,在匯入檔案前是否將表單內容清除,全部取代目前表單內容,忽略匯入內容,詢問使用者是否匯入該變數,匯入檔案路徑,輸入區域 : Contact, Operation, Function Block 輸出區域 : Coil, API, Motion Instruction, G-Code,游標方框,輸入區域,輸出區域,功能塊名稱,實體名稱,使用滑鼠拖曳功能塊到Ladder視窗:使用方式: 1. 將編輯好的功能塊拖曳到Ladder編輯器後,新增功能塊符號表單會 自動開啟並產生預設的實體名稱。,預設實體名稱,是否將功能塊宣告加入到全域符號表
12、,功能塊名稱,2. 按下OK鍵後,功能塊會加入到Ladder 視窗中,同時其宣告也會加入到符號表中,新增的功能塊,新增功能塊的宣告,編輯模式:將游標點選到FB的任一個PIN腳上,此時即可按上下鍵使游標 在PIN腳上下移動與進行Pin腳和實體名稱的編輯。,監控模式:將游標點選到FB的任一個PIN腳上,此時即可按上下鍵使游標 在PIN腳上下移動與進行監控數值的更改。,方法一: 在系統資訊視窗中,直接使用滑鼠雙擊欲開啟功能塊的Icon,即可開啟 該功能塊視窗進行編輯。,滑鼠雙擊功能塊,開啟功能塊編輯視窗,方法二: 在Ladder編輯視窗中,直接使用滑鼠雙擊功能塊,即可開啟該功能塊 視窗進行編輯,滑鼠
13、雙擊功能塊,開啟功能塊編輯視窗,目的 : 讓使用者將寫好的功能塊建立成程式庫, 以便達到功能塊重複使用的功效匯出功能塊 (Export Function Blocks) : 提供單一或是多個功能塊的匯出 提供密碼保護功能 系統預設的附檔名為(.fbu)匯入功能塊 (Import Function Blocks) : 不允許匯入相同名稱的功能塊 當匯入功能塊有密碼保護時, 需輸入正確的密碼, 才能完成匯入,Example : 匯出功能塊,選取匯出功能塊,密碼設定,按下OK按鈕, 即可將選取的功能塊匯出到檔案,Example : 匯入功能塊,輸入密碼,選取匯入 檔案,匯入成功,新匯入的功能塊,匯入
14、FB有密碼保護,啟動監控,功能塊輸入接腳 數值,功能塊輸出接腳數值,點選功能塊ADD_16的實體開啟視窗進行監控,監控變數輸入方式:1. 在監控表單按下滑鼠右鍵,點選Insert Symbols,開啟符號輸入表單,Example:,點選 Insert Symbols,開啟符號輸入表單,2. 在符號輸入表單選取監控的變數,按下OK按鈕加入到監控表中,Example:,變數選取區,按下OK按鈕,選取的變數加入到監控表單,變數監控 : 全域變數 : 輸入 “Global”+”.”+變數名稱 ( Ex: GLOBAL.RESULT ) 區域變數(Program) : 輸入 程式名稱+“.”+變數名稱
15、( Ex: O100.START ) 區域變數(功能塊實體) :輸入 程式名稱+”.”+實體名稱+”.”+變數名稱 ( Ex: O100.INST.SUM ),Example:,監控表單,全域變數表,Example : 繪製矩型的Function Block,繁體版,簡體版,DVP20PM00D A1版本 以及 DVP20PM00M A0版本原本與擴充卡通訊方式 PM與擴充卡的傳輸線為一條Clock一條Data 通訊間傳輸速率為200Kb DVP20PM00D A2版本 以及 DVP20PM00M A1版本除原本通訊方式外,增加新通訊方式 PM與擴充卡的傳輸線為一條Clock兩條Data以及一
16、條SEL 通訊間傳輸速率為5Mb,利用CAN bus作為控制伺服的通訊管道,CAN Bus,FPMC,PM主機,利用Ethernet將PM程式上下載,PM主機,PC主機,FPMC,NET,具Net功能機組,或,CANopen 資料傳遞模式概論,Node n,OBJ 0x0 0xn,Node m,CAN BUS,CAN BUS,OBJ 0x0 0xn,對於CAN上的任一個節點(node),內部會存放符合CANopen定義的資料,而每一個資料都有其相對應的代碼。節點(node)彼此間利用CANopen規範中的資料傳遞模式,來作節點(node)間將代碼內資料交換的模式。,CANopen 運動控制方式
17、概論,Master,命令,伺服,驅動,檢查,馬達,1,2,2,回報,3,利用通訊方式控制伺服模組的方式 主站發送運動模式,目標位置,以及起動此流程,若無其他需求則主站不再發送命令。 伺服驅動器收到命令後,驅動馬達,並且在運轉過程中控制馬達遵循主站所配置的任務。 伺服驅動器完成主站所配置的任務後,回報主站。,DVP-FPMC與ASD-A2硬體接線圖,硬體上利用RJ45連接線,連接ASD-AD的CN6與DVP-FPMC上CANopen的端子,而數台A2彼此利用CN6作連接,在最後一台的ASD-A2的CN6上連接一個120歐姆的終端電阻。,ASD-A2硬體設定 設定Keypad P1-01為000B
18、(CANopen模式)。 設定Keypad P3-00 利用ASD-A2專屬模式時,要設定為00010004。 非使用ASD-A2專屬模式時,可設定0005007E。 設定Keypad P3-01為0x0403或0x0203,其中4代表1Mbps, 2代表500Kbps。 設定完成後ASD-A2必須重新上電。 注意事項 同一個CAN bus上每一個節點的代碼不能相同。 同一個CAN bus上要設定相同傳送頻率,則無法正常通訊。 ASD-A2在脈波模式下不接收CANopen命令動作,而在CANopen模式下不接受脈波命令。 1Mbps最大傳送距離為25公尺,500K最大傳送距離為100公尺,DV
19、P-FPMC與具CANopen通訊功能模組接線方式以為例VFD-E交流馬達驅動器為例,VFD-E硬體設定 設定參數碼 09.13,因VFD-E無法利用ASD-A2專屬模式,要設定為5127 設定參數碼 09.14為0或1,其中0代表1Mbps, 1代表500Kbps。 設定完成後VFD-E必須重新上電。,通訊設定支援兩種CANopen通訊頻率 500Kb 1Mb (初始設定) 可經由設定CR裝置改變。 另外通訊卡內訂節點(Node)代碼為127,使用者在使用時不得將同BUS上其 他節點設定為127。同一個BUS上若裝置彼此間通訊頻率設定不同,則彼此 無法通訊。 A2如需使用專屬控制模式,則需將
20、節點(Node)代碼設定為14。,CAN BUS掃瞄,啟動伺服,伺服運轉,針對ASD-A2,利用暫存器CR做運動上的控制 其他具有CANopen通訊功能機組,設定傳輸資料,啟動傳遞,需瞭解CANopen通訊的相關內容。,BUS SCAN方式1利用PMSoft下達命令,方式2利用程式下達命令(Ladder),TO K254 CRn D裝置 D裝置,此值一定,All Servo on All Servo off All Error Reset All Scan Add Servo Drive Del Servo Drive Servo on Servo off Error Reset FPMC I
21、nfo,方式3利用程式下達命令(POU),POU輸入 預設節點:節點代碼,其數值範圍為14。 啟動:起動SCAN動作1為起動、0為關閉。 POU輸出 節點:執行SCAN的節點。 完成:節點掃瞄工作完畢。 工作中:節點工作中。 錯誤:節點發生錯誤或POU輸入錯誤。 節點狀態:目前節點的狀態。,起動伺服方式1利用PMSoft下達命令,All Servo on All Servo off All Error Reset All Scan Add Servo Drive Del Servo Drive Servo on Servo off Error Reset FPMC Info,方式2利用程式下達
22、命令(Ladder)同樣可以利用LD命令對FPMC卡的暫存器CR,作資料的讀寫,方式3利用程式下達命令(POU),POU輸入 預設節點:節點代碼,其數值範圍為14。 啟動:POU啟動 POU輸出 節點:執行SCAN的節點。 完成:工作完畢。 工作中:節點工作中。 錯誤:節點發生錯誤或POU輸入錯誤。 節點狀態:目前節點的狀態。,伺服運轉目前控制方式只提供利用程式控制利用LD來設定特定CR來達成伺服控制的目的伺服運動模式可分為 位置控制其中對於被控制的伺服輸入必要的參數有 位移量 位置控制模式,原點回歸需設定原點回歸方式,TO K254 CRn D裝置 D裝置,伺服運轉模式操作 位置控制模式 位
23、置控制模式提供輸入相對位置與絕對位置兩種 絕對位置輸入位置即為馬達運轉的絕對位置 相對位置輸入位置為馬達目前位置的相對距離 另外如果需要設定速度與加速度也可以透過TO指令對CR裝置下達參數值 各參數的單位均為馬達單位 位移量 速度 加速時間,(Pulse Per Second),POU輸入 預設節點:節點代碼,其數值範圍為14。 啟動:起動位置控制,1為起動、0為關閉。 絕/相對位置:選擇位置控制模式下,下達的位置為絕對位置或相對位置,0為絕對1為相對。 目標位置:位置控制的位置參數。 運動速度:位置控制的速度參數,不能為0。 加速時間:位置控制的加速時間參數,不能為0。 減速時間:位置控制的
24、減速時間參數,不能為0。,利用POU作位置控制模式,伺服運轉模式操作 原點回歸 原點回歸為將特定CR裝置設定為,符合CANopen DS402的原點回歸方式的代 碼來達成原點回歸的目的。使用者除回歸方式外,還可以設定原點回歸速度以 及加速度,以及實際最後位置與DOG的距離。 各項設定參數其單位均為馬達單位。 原點偏移量 回原點速度 回原點加速時間,(使用者定義單位),利用POU作原點回歸模式,POU輸入 預設節點:節點代碼,其數值範圍為14。 啟動:起動位置控制,1為起動、0為關閉。 原點回歸方式:原點回歸方式,其數值範圍為135。視使用者需求選擇原點回歸方式。 偏移量:原點回歸的偏移量。 回
25、原點速度:在碰到Homing點前的速度參數,不能為0。 尋找零點速度:在碰到Homing點後到馬達停在index pulse之間的速度,不能為0。當選擇模式不需Homing點時,此參數無用。 加速時間:原點回歸的的加速時間參數,不能為0。,上圖為DS402規範中,方式7的原點回歸 Index Pulse 馬達在出廠時以定義的特定位置。 Home Switch DOG點 Positive Limit Switch 正轉極限,利用POU作節點的狀態監控,POU輸入 預設節點:節點代碼,其數值範圍為14。 啟動:起動位置控制,1為起動、0為關閉。 POU輸出 節點:目前狀態監控的節點代碼。 節點連線
26、:1為節點目前在連線狀態中。 節點啟動:1為節點目前Servo On。 節點錯誤:1為節點發生錯誤。 節點位置:目前該節點的馬達位置。 若節點未連線節點連線、節點啟動、節點錯誤為0。,與其他具有CANopen通訊功能機組通訊在通訊卡與其CANopen機組作通訊時,需要得知一些與CANopen DS301相關的資訊,在傳遞時必須要知道 傳遞對象的節點代碼 傳遞對象的OBJ代碼 傳遞資料的資料長度 傳遞資料的內文 而後對特定CR裝置發送以上資訊內容。等待傳送完畢後,即可利用CR起 動資料傳輸動作。,利用POU作節點的參數寫入動作,POU輸入 預設節點:節點代碼,其數值範圍為1126。 啟動:起動位
27、置控制,1為起動、0為關閉。 物件辭典指標:節點的Object index number。 物件辭典子指標:節點的Object index的sub index number。 資料長度:傳送資料長度,單位為byte。必須符合該參數的規定資料長度。當傳送資料內容為2 bytes,而節點規定該參數資料長度為4 bytes,則此時需填為4。 資料內容:傳送的資料內容。,利用POU作節點的參數讀出動作,POU輸入 預設節點:節點代碼,其數值範圍為1126。 啟動:起動位置控制,1為起動、0為關閉。 物件辭典指標:節點的Object index number。 物件辭典子指標:節點的Object ind
28、ex的sub index number。 POU輸出 資料長度:讀出的資料長度,單位為byte。 資料內容:讀出的資料內容。,CAN BUS Scan,CANopen 起動伺服,檢查伺服連線狀態,下達位置控制下移動目的地,運動模式操作,從站搜尋&起動,位置模式,原點回歸模式,下達原點回歸方式,位置模式起動,原點回歸起動,範例 軟體環境 PMsoft V1.xx,繁體中文,簡體中文,作業1. 13:50-1415 各位實做A2正轉8圈速度漸增再反轉1圈 , 完成後mail 程式及截圖給.tw, email內附上個人大名,運動模式操作,從站搜尋&起動,位置模式,原點回歸模式,參數的寫入及讀出,範例
29、 軟體環境 PMsoft V2.xx,繁體中文,簡體中文,狀態監控,作業2. 14:50-1515 各位實做利用SDO(參數的寫入及讀出)改變OD6093 SUB2, SUB1 , 完成後mail 程式及截圖給.tw, email內附上個人大名,對CANopen網路FPMC增加三種POU用以設定及使用補間功能,將節點1的A2做參數初始化以及伺服啟動,對節點1啟動補間模式,設定FPMC卡和PM的同步週期= 20ms,將單凸的現在位置作為節點1位置的輸入,PDO為CANopen中,作為資料交換的通訊方式,此種通訊主要需設定 通訊的參數,如封包代碼以及資料發送的觸發條件。 通訊的資料內容位置,目的在
30、設定資料內容位於物件辭典的位置。 每個Slave所能利用的PDO數目,將由各自物件辭典中所提供的索引數目決定。,1,2,3,4,5,3,1,2,4,5,PDO動作大致順序為 利用PDO MAP尋找PDO Data所在物件辭典的位置。 將此PDO Data利用PDO通訊協議送出。 CAN bus將資料傳遞。 利用PDO MAP找出PDO Data所要擺放在物件辭典的位置。 將PDO的Data放在物件辭典中。,設定FPMC在 接收從Slave發送 之PDO通訊參數,設定FPMC在 發送給Slave接收 之PDO通訊參數,設定FPMC在 接收從Slave發送 之PDO資料參數,設定FPMC在 發送給
31、Slave接收 之PDO資料參數,對象辭典 0x2000H 0x207FH entry description,FPMC的PDO 傳收資料擺放區,設定方式雷同CR#H1400CR#H143F,設定方式雷同CR#H1600CR#H163F,POU使用限制 使用POU配置初始化、配置從站接收資訊、配置從站傳輸資訊、從站配置啟動 時,需搭配特別定義的全域變數使用,全域變數表 此變數用以將發送/接收資料的POU和節點PDO配置的POU做連結動作,故在使 用POU時需在全域變數表中匯入此列變數。 POU的規範 對單一節點必須利用發送/接收資料的POU,先規劃節點收送資料在物件辭典的位 置,再使用節點PD
32、O規劃的POU,輸入欲規劃的節點編號,而後將會獲得節點的 資料對應於FPMC卡的特殊暫存器CR編號。,先將FPMC卡切換到一般模式CR#500設定為1A2模式2一般模式設定FPMC本身的Node ID = 127做配置初始化動作,設定接收/發送資料位於節點物件辭典的索引以及子索引編號,並且輸入其資料的型態。,FPMC卡 CANopen 網路 Master,利用TO/FROM指令做CR寫入和讀出的動作,其對象CR由CR0/CR4決定。,輸入節點在CANopen網路中的編號,並且啟動PDO配置。在配置完成後,會將FPMC的CR編號存放於CR0以及CR4中,並且其word的編號將存放於index1及
33、index4,啟動主站的同步功能,並且依照使用的PDO個數決定同步週期。,將利用RPDO收到的資料,轉由TPDO送出。,FPMC卡 CANopen 網路 Slave,先將FPMC卡切換到一般模式CR#500設定為1A2模式2一般模式更改FPMC(從站)的CANopen網路節點編號,Master範例,Slave範例,範例一,範例二,POU檔匯入檔,全域符號匯入檔,使用前需將檔案增加副檔名 .CSV。 並且要匯入全域符號中,設定本身電腦的ip位置,Ethernet Function設定使用Ethernet作PMSoft程式上下載,Ethernet Function另外提供特定CR,以利使用者利用E
34、thernet傳遞特定資料給具有Ethernet通訊功能的機組。使用上需利用TO指令設定 機組的IP 機組的Port 欲傳遞的資料內容,其資料長度最大1024 Bytes 使用上僅提供Ethernet上,一主站一從站間彼此資料的傳遞。,設定通訊參數,設定通訊參數,連線起動,資料傳送,範例 軟體環境 PMsoft V1.xx,繁體中文,簡體中文,設定FPMC的IP為 192.168.0.100,FPMC卡利用Ethernet與HMI做資料傳遞範例,HMI硬體 HMI目前支援Ethernet的機種為DOP-B10E615HMI程式通訊設定 在開啟檔案後選擇 選項設定模組參數在一般中人接介面種類挑選DOP-B10E615在通訊點取Ethernet。勾選畫面寫入IP位置key入人機IP位置即可,增加通訊方式。點選 跳出裝置名稱隨使用這定義,而控制器選擇Delta DVT TCP/IP,再按確定設定通訊對象IP。點選新增的連線對象,在通訊參數中IP位置,設定FPMC卡的預定的IP位置在使用的元件的輸入頁面中的連線選擇先前定義的裝置名稱,即可利用Ethernet將此元件定義的記憶體位置做操作。,PM程式 利用IP設定FPMC的Ethernet IP,HMI範例,PM範例,FPMC FW,