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

機器人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.新建工程
打開 codesys 軟件,點擊新建程序,如下所示

選擇 project-Empty project,可根據(jù)需要命名,點擊確定

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


2-2-4.添加設(shè)備
選擇新建設(shè)備 Untitled1,右鍵點擊添加設(shè)備,選擇對應(yīng)的 CODESYS Control Win V3 X64 中的 PLC,點擊添加設(shè)備

選擇新建的 PLC,點擊右鍵選擇添加設(shè)備

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

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

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

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

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

雙擊 CODESYS Control Win V3 X86 設(shè)備,進入通訊設(shè)置,選擇對應(yīng)電腦名稱,掃描設(shè)備

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

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


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

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

通訊正常后左側(cè)任務(wù)欄會出現(xiàn)綠色的圖標(biāo),代表通訊正常

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

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

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

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


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

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

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

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

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

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