codesys與兩臺EC機器人進(jìn)行EIP通訊
1. 簡(jiǎn)介
EtherNet/IP 是一種基于以太網(wǎng)技術(shù)的工業(yè)自動(dòng)化網(wǎng)絡(luò )協(xié)議,是以太網(wǎng)技術(shù)在工業(yè)領(lǐng)域的應用。它是由羅克韋爾自動(dòng)化公司(Rockwell Automation)開(kāi)發(fā)的,是一種開(kāi)放的網(wǎng)絡(luò )標準,可以用于連接各種各樣的設備,如 PLC、傳感器、執行器、HMI 等。
EtherNet/IP 協(xié)議基于 TCP/IP 協(xié)議棧,采用了面向連接和面向無(wú)連接的通信方式,可以實(shí)現高速的數據傳輸和實(shí)時(shí)的控制。它可以支持 10Mbps、100Mbps和 1000Mbps 三種傳輸速率,距離可以達到 100 米或更遠。同時(shí),EtherNet/IP還具有很強的靈活性和可擴展性,可以支持多種拓撲結構和協(xié)議適配器。
EtherNet/IP 協(xié)議的主要特點(diǎn)包括:
高速傳輸:EtherNet/IP 可以支持多種傳輸速率,可以滿(mǎn)足不同應用場(chǎng)景的需求。
實(shí)時(shí)性強:EtherNet/IP 可以實(shí)現高速數據傳輸和實(shí)時(shí)控制。
靈活性強:EtherNet/IP 可以支持多種拓撲結構和協(xié)議適配器。
易于集成:EtherNet/IP 是一種開(kāi)放的網(wǎng)絡(luò )標準,可以與各種各樣的設備集成使用。
可擴展性強:EtherNet/IP 可以通過(guò)加入新的協(xié)議適配器和功能模塊來(lái)擴展網(wǎng)絡(luò )功能。
安全性好:EtherNet/IP 支持多種安全機制,如 VLAN、VPN、IPsec 等
EC 系列產(chǎn)品支持以太網(wǎng)/IP 從站應用。 如果控制器作為從設備運行,則無(wú)需進(jìn)行其他置。
在通信配置過(guò)程中可能使用的術(shù)語(yǔ)描述如下:
1.Originator: 向從站發(fā)起連接請求的一方,一般是主站或客戶(hù)端設備。
2.Target:終端節點(diǎn)或者是從站設備,被請求建立連接的一方。
3.O->T:指示發(fā)起者到目標節點(diǎn)的方向,用于描述數據報由主站發(fā)送到從站。
4.T->O:指示從目標到發(fā)起者的方向,用于描述數據報由從站發(fā)送到主站。
5.RPI: Requested Packet Interval, 數據報的請求周期,單位為 ms。
6.Connection Timeout Multiplier: 其值表示的乘數與 RPI 相乘得到數據報傳輸的超時(shí)間,一般由主站設置。
7.point to point: 一種主從站的連接類(lèi)型,點(diǎn)對點(diǎn)連接。
8.Multicast:一種主從站的連接類(lèi)型, 由一個(gè)從站對多個(gè)主站傳播。(目前暫不支持這種鏈接)。
9.EDS: Electronic Data Sheet,一種包含從站所有配置信息的文件,主站必須讀取這個(gè)配置文件才能生成對從站的正確請求報文。
Ethernet/IP 部分寄存器被劃分為11 個(gè)組(也稱(chēng) slot),每個(gè) slot 實(shí)質(zhì)是一個(gè) Ethernet/IP 連接,且都包含有 O->T與 T->O 兩個(gè)方向的數據,其中只有一個(gè)方向上承載的數據為有效數據,而寄存器數據最終會(huì )在哪一個(gè)方向傳輸取決于寄存器的實(shí)際意義。如從控制器的視角,所有類(lèi)型的輸出寄存器會(huì )在T->O 方向傳輸,此時(shí)另一個(gè)方向 O->T存的意義可以認為是對 T->O 方向數據的確認;相對的,所有類(lèi)型的輸入寄存器會(huì )在 O->T 方向傳輸具體每個(gè) slot 講義如下(具體可參照 elite 通訊手冊)
Adapter Slot 0: 32 個(gè) 32 位 int 輸出寄存器,地址范圍 [0,31] 傳輸方向 T->O(elite--codesys)
Adapter Slot 1: 32 個(gè) 32 位 int 輸入寄存器,地 址范圍 [0,31] 傳輸方向 O->T(codesys--elite)
Adapter Slot 2:寄存器類(lèi)型 32 個(gè) float 輸 出寄存器,地址 范圍 [0,31] 傳輸方向 T->O(elite--codesys)
Adapter Slot 3: 寄存器類(lèi)型 32 個(gè) float 輸 入寄存器,地址 范圍 [0,31] 傳輸方向 O->T(codesys--elite)
Adapter Slot 4 寄存器類(lèi)型 52 個(gè) float 輸 入寄存器,地址 范圍 [0,51]
主要包含機器人位置速度等信息
傳輸方向 T->O(elite--codesys)
Adapter Slot 5 寄存器類(lèi)型 4 個(gè) 32 位狀態(tài) 寄存器,地址范 圍 [0,3]
主要包含系統輸入輸出數字 IO 狀態(tài)
傳輸方向 T->O (elite--codesys)
Adapter Slot 6 寄存器類(lèi)型 8 個(gè) 32 位狀態(tài) 寄存器,地址范 圍 [0,7]
主要包含系統模擬量輸入輸出值
傳輸方向 T->O(elite--codesys)
Adapter Slot 7 寄存器類(lèi)型 18 個(gè) 32 位狀 態(tài)寄存器,地址 范圍 [0,17] 主要包含安全參數狀態(tài)及值
傳輸方向 T->O(elite--codesys)
Adapter Slot 8 寄存器類(lèi)型 46 個(gè) 32 位狀 態(tài)寄存器,地址 范圍 [0,45] 主要包含時(shí)間等信息
傳輸方向 T->O (elite--codesys)
Adapter Slot 9 寄存器類(lèi)型 64 個(gè) 8 位狀態(tài) 寄存器,地址范 圍 [0,63]
主要包含輸入 M 變量,M912 開(kāi)始
傳輸方向 O->T(codesys---elite)
Adapter Slot 10
寄存器類(lèi)型 64 個(gè) 8 位狀態(tài) 寄存器,地址范 圍 [0,63] 主要包含輸出 M 變量,M400 開(kāi)始傳輸方向 T->O(elite--codesys)
2. 配置及驗證步驟
2-1.硬件接線(xiàn)與網(wǎng)絡(luò )配置
這里網(wǎng)線(xiàn)連接采用了交換機,參考下圖

機器人1、2與電腦需要在同一網(wǎng)段,并且不同地址,如圖
電腦IP:192.168.1.202

機器人1IP:192.168.1.200

機器人2IP:192.168.1.201

2-2. codesys配置及使用步驟
2-2-1.新建工程
打開(kāi) codesys 軟件,點(diǎn)擊新建程序,如下所示

選擇 project-Empty project,可根據需要命名,點(diǎn)擊確定

2-2-3.安裝EDS文件
加載安裝 elite 的EDS 文件,在 Codesys 菜單欄-工具-設備存儲庫,點(diǎn)擊安裝,導入附件中對應 EC 機器人 eds 文件。導入后文件會(huì )出現在 EthernetIP 總線(xiàn)下,同時(shí)顯示文件已經(jīng)安裝到設備存儲庫


2-2-4.添加設備
選擇新建設備 Untitled1,右鍵點(diǎn)擊添加設備,選擇對應的 CODESYS Control Win V3 X64 中的 PLC,點(diǎn)擊添加設備

選擇新建的 PLC,點(diǎn)擊右鍵選擇添加設備

2-2-5.設備配置
選擇現場(chǎng)總線(xiàn)--EthernetIP--以太網(wǎng)適配器--Ethernet,點(diǎn)擊右下角添加設備

選擇設備欄 Ethernet(Ethernet),點(diǎn)擊右鍵選擇添加設備,選擇 Ethernet/IP Scanner,點(diǎn)擊右下角添加設備

選擇 Ethernet/IP Scanner,點(diǎn)擊右鍵選擇添加設備,選擇 Elite Robot,點(diǎn)擊右下角添加設備

將 EC 機器人設備添加后,點(diǎn)擊 Elite Robot,選擇通用設置從站(機器人)IP地址,與機器人 IP 地址一致,如下圖所示(重復兩次,添加2臺機器人)

2-2-6.啟動(dòng)PLC
找到電腦右下角圖標處,右鍵選中,Start PLC

雙擊 CODESYS Control Win V3 X86 設備,進(jìn)入通訊設置,選擇對應電腦名稱(chēng),掃描設備

2-2-7.設置主站IP
設置 Ethernet 主站 IP 地址,雙擊 Ethernet,選擇通用中的“...”,選擇對應的以太網(wǎng),如下圖所示

2-2-8.組態(tài)機器人模塊
選擇 Elite Robot 模塊進(jìn)行配置,選擇連接,根據需要添加連接,這里連接 Adapter Slot 0、1、2、3、4、9、10,包含 INT 輸入輸出寄存器、Float 輸入輸出寄存器、位置信息寄存器及 M 虛擬輸入輸出(通訊類(lèi)型選擇組播)


2-2-9.程序編譯及下載
配置完成后就可以編譯程序、下載程序已經(jīng)模塊使能了,如下圖

2-2-10.運行與測試
下載完成后就可以運行程序了

通訊正常后左側任務(wù)欄會(huì )出現綠色的圖標,代表通訊正常

機器人導入腳本并運行,關(guān)聯(lián)各 5 個(gè) INT 輸入輸出和 Float 輸入輸出,腳本如下所示(具體釋義可參考 LUA 腳本手冊)

2-2-10.數據驗證
Elite_Robot--EtherNET/IP IO 映射,機器人當前位置信息 Adapter Slot 4,將機器人當前基座信息發(fā)送到 Adapter Slot 4 變量中

Float 輸出,將機器人數值發(fā)送到 codesys 變量,D010-D014 關(guān)聯(lián)到 Adapter Slot 2 輸出前 5 個(gè)數值,數據變化一致

Float 輸入,將 codesys 數值發(fā)送到機器人變量,D000-D004 關(guān)聯(lián)到 Adapter Slot 3 輸入前 5 個(gè)數值,數據變化一致


INT 輸出,將機器人數值發(fā)送到 codesys 變量,I010-I014 關(guān)聯(lián)到 Adapter Slot 0 輸入前 5 個(gè)數值,數據變化一致

INT輸入,將codesys數值發(fā)送到機器人變量,I000-I004關(guān)聯(lián)到Adapter Slot
1 輸出前 5 個(gè)數值,數據變化一致

M 虛擬輸入,將 Codesys 的 Bool 數值發(fā)送到機器人 M 虛擬輸入變量,M912開(kāi)始的 M 關(guān)聯(lián)到 Adapter Slot 9 輸出的 Bool 值(具體參考 Adapter Slot 9 定義數值),數據變化一致

M 虛擬輸出,將機器人 M 虛擬輸入變量數值發(fā)送到 Codesys 的 BOOL 值,M400開(kāi)始的 M 關(guān)聯(lián)到 Adapter Slot 10 輸入的 BOOL 值(具體參考 Adapter Slot 10 定義數值),數據變化一致

M 虛擬輸出,將機器人 M 虛擬輸入變量數值發(fā)送到 Codesys 的 BOOL 值,M400開(kāi)始的 M 關(guān)聯(lián)到 Adapter Slot 10 輸入的 BOOL 值(具體參考 Adapter Slot 10 定義數值),數據變化一致

3. 常見(jiàn)問(wèn)題解答
3.1問(wèn):設置主站IP的時(shí)候不成功、頁(yè)面提示“沒(méi)有到設備的連接,請重新掃描網(wǎng)絡(luò )”
答:需要先打開(kāi)PLC,再進(jìn)行主站加載
3.2問(wèn):其中有一臺機器人通訊不成功,狀態(tài)欄一直紅色報警
答:檢測一下機器人IP與電腦是否在同一網(wǎng)段,ping能否ping通,配置頁(yè)面是否有設置對應的機器人IP.
3.3問(wèn):通訊都正常了就是讀取不到任何數據
答:檢測一下通訊使能是否有打開(kāi),沒(méi)有打開(kāi)的情況下需要打開(kāi)使能
3.4問(wèn):輸入了預備值當前值沒(méi)有變化
答:需要在調試頁(yè)面進(jìn)行手動(dòng)寫(xiě)入值
4. 附錄
EIP.LUA