本案例是三菱PLC通過CClinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接川崎機器人的配置案例
具體步驟如下。
機器人步驟:
1、TCP通信命令
川崎機器人提供以下TCP通信命令:
· TCP_LISTEN 創(chuàng)建套接字并等待連接請求
· TCP_ACCEPT 檢查是否接收到連接請求
· TCP_CONNECT 創(chuàng)建套接字并發(fā)送連接請求
· TCP_SEND 發(fā)送數(shù)據(jù)字符串
· TCP_RECV 接收數(shù)據(jù)字符串
· TCP_CLOSE 中斷套接字通信
· TCP_END_LISTEN 結(jié)束等待連接請求
如其字面意義,上述命令實現(xiàn)的功能與一般通用的TCP通信協(xié)議指令基本相同,具有TCP通信協(xié)議編程基礎(chǔ)的開發(fā)者很容易就能掌握,此外需要注意的是,在調(diào)用通信命令前,需判斷是否會出現(xiàn)異常,如端口被占用、套接字非法等,異常調(diào)用會導(dǎo)致系統(tǒng)報錯,并使機器人控制系統(tǒng)異常停止運行,從而影響機器人正常使用。
該ModbusTCP服務(wù)器可以同時連接多個客戶端,滿足與多個外圍設(shè)備的通信需求,程序中可以預(yù)定義客戶端最大連接數(shù)量。每個外圍設(shè)備的通信占用一個連接套接字,當(dāng)外圍設(shè)備斷開與服務(wù)器的連接后,服務(wù)器端應(yīng)能檢測到通信服務(wù)中止,并關(guān)閉連接套接字,為后續(xù)設(shè)備的再次連接預(yù)留連接資源。
2、標(biāo)準(zhǔn)ModbusTCP協(xié)議數(shù)據(jù)包的解析與處理
ModbusTCP服務(wù)器與客戶端建立連接后,循環(huán)等待接收客戶端發(fā)送的Modbus請求應(yīng)用數(shù)據(jù)單元(ADU),請求(或響應(yīng))應(yīng)用數(shù)據(jù)單元包括兩部分,前面七個字節(jié)長的報文頭稱為MBAP報文頭(Modbus協(xié)議報文頭),MBAP之后的部分為協(xié)議數(shù)據(jù)單元PDU,PDU又由功能碼和數(shù)據(jù)域組成。如下圖所示:
基于TCP/IP協(xié)議的ModbusTCP與串行鏈路上的Modbus在傳輸?shù)臄?shù)據(jù)幀格式上有區(qū)別:
1) 由于網(wǎng)際層IP和傳輸層TCP已經(jīng)負責(zé)對雙方通信數(shù)據(jù)報進行了地址和端口解析處理,并將源主機發(fā)送的數(shù)據(jù)單元可靠交付到目的主機,ModbusTCP應(yīng)用數(shù)據(jù)單元中已經(jīng)不再包含地址域,不需要在應(yīng)用層對外圍設(shè)備的地址進行解析,而該地址域在串行鏈路上必要的。
2) ModbusTCP應(yīng)用數(shù)據(jù)單元中增加了七字節(jié)的MBAP報文頭,該報文頭包括2字節(jié)的事務(wù)處理標(biāo)識符、2字節(jié)的協(xié)議標(biāo)識符、2個字節(jié)的長度域,以及1個字節(jié)的單元標(biāo)識符。需要在應(yīng)用層中對MBAP報文件頭進行解析處理。
3) 由于采用面向連接的TCP協(xié)議,已經(jīng)提供了可靠的傳輸服務(wù),在ModbusTCP的應(yīng)用數(shù)據(jù)單元中不再包含差錯校驗域,不需要進行串行鏈路中的數(shù)據(jù)幀的CRC計算和校驗。
對ModbusTCP應(yīng)用數(shù)據(jù)單元的解析處理分兩步,首先是解析MBAP報文頭,解析正確后提取后續(xù)的協(xié)議數(shù)據(jù)單元PDU,再對PDU進行解析,根據(jù)PDU的解析結(jié)果訪問用戶應(yīng)用數(shù)據(jù),并生成Modbus響應(yīng),發(fā)送應(yīng)答給外圍設(shè)備。
3、對外數(shù)據(jù)接口的規(guī)劃
川崎機器人的PC程序和機器人控制程序可以公用的信號和變量包括:通用I/O信號、系統(tǒng)開關(guān)和全局變量。
通用I/O信號分為直接與外部通信的外部I/O信號和僅可在內(nèi)部使用的I/O信號,其中外部輸入信號相當(dāng)于PLC的開關(guān)量輸入信號,外部輸出信號相當(dāng)于PLC的開關(guān)量輸出信號,內(nèi)部I/O信號相當(dāng)于PLC的內(nèi)部寄存器。通用I/O信號有數(shù)量限制,外部輸入信號、外部輸出信號和內(nèi)部I/O信號數(shù)量均最多不能超過960點。
系統(tǒng)開關(guān)是用于指示機器人各種系統(tǒng)設(shè)置或狀態(tài)的信號,如開關(guān)名稱POWER指示馬達電源ON/OFF狀態(tài),TEACH_LOCK顯示示教鎖定的ON/OFF狀態(tài)。系統(tǒng)開關(guān)的名稱及其黙認值根據(jù)不同的機器人規(guī)格而不同。
全局變量是用于PC程序或機器人控制程序中的位姿信息、數(shù)字信息、字符信息的變量,各自對應(yīng)于位姿變量、實型變量、字符串變量。全局變量一旦被定義,其值保存在存儲器中,可在任何程序中使用。其中實數(shù)、整數(shù)、邏輯值和ASCII值都用實數(shù)值表達。
川崎機器人控制器的ModbusTCP服務(wù)器在提供對外數(shù)據(jù)交換服務(wù)時,需根據(jù)控制器自身的特性,提前規(guī)劃制定對外數(shù)據(jù)接口范圍,應(yīng)遵循以下原則:
1、應(yīng)盡量遵循行業(yè)通則,如Modbus的公共功能碼0x02,代表讀離散量輸入信號功能,對于離散量輸入信號,并且要求是只讀功能的信號,其地址范圍應(yīng)限定于機器人控制器內(nèi)的通用信號中的外部輸入信號,其地址編號起始為1001。而不應(yīng)將地址編號如1~32的外部輸出信號或地址編號2001~2256內(nèi)部信號劃入功能碼0x02的范圍內(nèi),因為外部輸出信號和內(nèi)部信號原則上不僅可讀,還可寫,相當(dāng)于線圈的定義,應(yīng)劃入功能碼0x01(讀線圈)和0x05(寫單個線圈)范圍內(nèi)。
2、對外開放的通用信號數(shù)量不能超出機器人設(shè)置的最大信號數(shù)量,并且機器人專用信號設(shè)置中已被指定用于專用信號的通用信號不可寫。讀寫超過最大信號數(shù)量,或?qū)憣S眯盘柾ǖ溃瑫?dǎo)致機器人報錯并停止,應(yīng)根據(jù)機器人設(shè)置對ModbusTCP服務(wù)器相關(guān)參數(shù)進行配置,以避免對機器人運行造成干擾。
I/O信號數(shù)量設(shè)置
專用信號顯示
3、在可用資源充足時,宜通過通用信號接口與外部設(shè)備交換系統(tǒng)開關(guān)狀態(tài)信息和內(nèi)部變量信息。如機器人專用信號設(shè)置中,將外部信息交換所需的系統(tǒng)開關(guān)指定給外部輸出信號或內(nèi)部信號,通過公共讀寫線圈功能碼讀寫系統(tǒng)開關(guān)信號。或?qū)?nèi)部變量賦值給連續(xù)內(nèi)部信號多位組合而成的寄存器(或讀寄存器),通過公共讀(或?qū)懀┘拇嫫鞴δ艽a完成與內(nèi)部變量的數(shù)據(jù)交換。
啟動Modbus測試軟件Modbus Poll,設(shè)置連接參數(shù)并連接K-Roset仿真。連接參數(shù)設(shè)置中的IP地址設(shè)置與第2步設(shè)置相同,端口號設(shè)置為ModbusTCP服務(wù)器程序文件中設(shè)置的服務(wù)器端口號。
4、Modbus Poll與K-Roset連接成功后,在Modbus Poll通過Setup->Read/Write Definition中的各項功能,或通過菜單的Functions下的各子功能,逐項測試Modbus功能。
確認機器人配置無誤后,打開三菱PLC配置軟件,開始進行CCLink一側(cè)配置。
打開三菱PLC,設(shè)置CClinkIE一側(cè)的參數(shù)配置,首先設(shè)置PLC的IP地址
雙擊詳細設(shè)置進入CClinkIE配置
添加通用從站IP地址以及占用點數(shù)
設(shè)置好分配的軟元件
將組態(tài)下載進PLC,并打開網(wǎng)關(guān)配置軟件“Gateway Configuration Studio”
新建項目選擇CClinkIE-MTC
設(shè)置網(wǎng)關(guān)在CClinkIE一側(cè)的IP地址及占用點數(shù)(與PLC組態(tài)保持一致)
設(shè)置網(wǎng)關(guān)在ModbusTCP一側(cè)的IP地址
添加從站并填寫IP地址,跟ModbusPoll一樣填寫從站IP(命令異常碼使能可監(jiān)控從站在線狀態(tài))
右鍵添加所需要的功能碼,填寫參數(shù)地址以及數(shù)據(jù)長度
以03功能碼(讀保持寄存器)為例,填寫需要讀取的參數(shù)地址以及連續(xù)讀取數(shù)量。
參數(shù)確認無誤后下載配置給網(wǎng)關(guān)即可。將所有設(shè)備全部上電,當(dāng)OK燈亮起,Txd和Rxd交替閃爍,即代表網(wǎng)關(guān)開始正常通訊。
-
機器人
+關(guān)注
關(guān)注
213文章
29615瀏覽量
212184 -
三菱PLC
+關(guān)注
關(guān)注
13文章
246瀏覽量
32075 -
ModbusTCP
+關(guān)注
關(guān)注
0文章
213瀏覽量
4848
發(fā)布評論請先 登錄
開疆智能Profinet轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接WINCC配置案例

開疆智能ModbusTCP轉(zhuǎn)Canopen網(wǎng)關(guān)連接匯川PLC配置案例
開疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接ABB機器人配置案例

開疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接遠程I/O配置案例

開疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接三菱PLC與ABB機器人配置案例

開疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接機器人配置案例

開疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接FANUC機器人配置案例

開疆智能Devicenet轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接費斯托閥島配置案例

開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接施耐德TCP從站配置案例

開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接脈沖計數(shù)器配置案例

開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接PCA3200電能表配置案例

開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接組態(tài)王配置案例

開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接康耐視InSight相機案例

開疆智能ModbusTCP轉(zhuǎn)CClinkIE網(wǎng)關(guān)連接臺達DVP-ES3 PLC配置案例

開疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接傲博機器人配置案例

評論