本案例是三菱PLC通過(guò)CClinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接川崎機(jī)器人的配置案例
具體步驟如下。

機(jī)器人步驟:
1、TCP通信命令
川崎機(jī)器人提供以下TCP通信命令:
· TCP_LISTEN 創(chuàng)建套接字并等待連接請(qǐng)求
· TCP_ACCEPT 檢查是否接收到連接請(qǐng)求
· TCP_CONNECT 創(chuàng)建套接字并發(fā)送連接請(qǐng)求
· TCP_SEND 發(fā)送數(shù)據(jù)字符串
· TCP_RECV 接收數(shù)據(jù)字符串
· TCP_CLOSE 中斷套接字通信
· TCP_END_LISTEN 結(jié)束等待連接請(qǐng)求
如其字面意義,上述命令實(shí)現(xiàn)的功能與一般通用的TCP通信協(xié)議指令基本相同,具有TCP通信協(xié)議編程基礎(chǔ)的開(kāi)發(fā)者很容易就能掌握,此外需要注意的是,在調(diào)用通信命令前,需判斷是否會(huì)出現(xiàn)異常,如端口被占用、套接字非法等,異常調(diào)用會(huì)導(dǎo)致系統(tǒng)報(bào)錯(cuò),并使機(jī)器人控制系統(tǒng)異常停止運(yùn)行,從而影響機(jī)器人正常使用。
該ModbusTCP服務(wù)器可以同時(shí)連接多個(gè)客戶(hù)端,滿(mǎn)足與多個(gè)外圍設(shè)備的通信需求,程序中可以預(yù)定義客戶(hù)端最大連接數(shù)量。每個(gè)外圍設(shè)備的通信占用一個(gè)連接套接字,當(dāng)外圍設(shè)備斷開(kāi)與服務(wù)器的連接后,服務(wù)器端應(yīng)能檢測(cè)到通信服務(wù)中止,并關(guān)閉連接套接字,為后續(xù)設(shè)備的再次連接預(yù)留連接資源。
2、標(biāo)準(zhǔn)ModbusTCP協(xié)議數(shù)據(jù)包的解析與處理
ModbusTCP服務(wù)器與客戶(hù)端建立連接后,循環(huán)等待接收客戶(hù)端發(fā)送的Modbus請(qǐng)求應(yīng)用數(shù)據(jù)單元(ADU),請(qǐng)求(或響應(yīng))應(yīng)用數(shù)據(jù)單元包括兩部分,前面七個(gè)字節(jié)長(zhǎng)的報(bào)文頭稱(chēng)為MBAP報(bào)文頭(Modbus協(xié)議報(bào)文頭),MBAP之后的部分為協(xié)議數(shù)據(jù)單元PDU,PDU又由功能碼和數(shù)據(jù)域組成。如下圖所示:

基于TCP/IP協(xié)議的ModbusTCP與串行鏈路上的Modbus在傳輸?shù)臄?shù)據(jù)幀格式上有區(qū)別:
1) 由于網(wǎng)際層IP和傳輸層TCP已經(jīng)負(fù)責(zé)對(duì)雙方通信數(shù)據(jù)報(bào)進(jìn)行了地址和端口解析處理,并將源主機(jī)發(fā)送的數(shù)據(jù)單元可靠交付到目的主機(jī),ModbusTCP應(yīng)用數(shù)據(jù)單元中已經(jīng)不再包含地址域,不需要在應(yīng)用層對(duì)外圍設(shè)備的地址進(jìn)行解析,而該地址域在串行鏈路上必要的。
2) ModbusTCP應(yīng)用數(shù)據(jù)單元中增加了七字節(jié)的MBAP報(bào)文頭,該報(bào)文頭包括2字節(jié)的事務(wù)處理標(biāo)識(shí)符、2字節(jié)的協(xié)議標(biāo)識(shí)符、2個(gè)字節(jié)的長(zhǎng)度域,以及1個(gè)字節(jié)的單元標(biāo)識(shí)符。需要在應(yīng)用層中對(duì)MBAP報(bào)文件頭進(jìn)行解析處理。
3) 由于采用面向連接的TCP協(xié)議,已經(jīng)提供了可靠的傳輸服務(wù),在ModbusTCP的應(yīng)用數(shù)據(jù)單元中不再包含差錯(cuò)校驗(yàn)域,不需要進(jìn)行串行鏈路中的數(shù)據(jù)幀的CRC計(jì)算和校驗(yàn)。
對(duì)ModbusTCP應(yīng)用數(shù)據(jù)單元的解析處理分兩步,首先是解析MBAP報(bào)文頭,解析正確后提取后續(xù)的協(xié)議數(shù)據(jù)單元PDU,再對(duì)PDU進(jìn)行解析,根據(jù)PDU的解析結(jié)果訪問(wèn)用戶(hù)應(yīng)用數(shù)據(jù),并生成Modbus響應(yīng),發(fā)送應(yīng)答給外圍設(shè)備。
3、對(duì)外數(shù)據(jù)接口的規(guī)劃
川崎機(jī)器人的PC程序和機(jī)器人控制程序可以公用的信號(hào)和變量包括:通用I/O信號(hào)、系統(tǒng)開(kāi)關(guān)和全局變量。
通用I/O信號(hào)分為直接與外部通信的外部I/O信號(hào)和僅可在內(nèi)部使用的I/O信號(hào),其中外部輸入信號(hào)相當(dāng)于PLC的開(kāi)關(guān)量輸入信號(hào),外部輸出信號(hào)相當(dāng)于PLC的開(kāi)關(guān)量輸出信號(hào),內(nèi)部I/O信號(hào)相當(dāng)于PLC的內(nèi)部寄存器。通用I/O信號(hào)有數(shù)量限制,外部輸入信號(hào)、外部輸出信號(hào)和內(nèi)部I/O信號(hào)數(shù)量均最多不能超過(guò)960點(diǎn)。
系統(tǒng)開(kāi)關(guān)是用于指示機(jī)器人各種系統(tǒng)設(shè)置或狀態(tài)的信號(hào),如開(kāi)關(guān)名稱(chēng)POWER指示馬達(dá)電源ON/OFF狀態(tài),TEACH_LOCK顯示示教鎖定的ON/OFF狀態(tài)。系統(tǒng)開(kāi)關(guān)的名稱(chēng)及其黙認(rèn)值根據(jù)不同的機(jī)器人規(guī)格而不同。
全局變量是用于PC程序或機(jī)器人控制程序中的位姿信息、數(shù)字信息、字符信息的變量,各自對(duì)應(yīng)于位姿變量、實(shí)型變量、字符串變量。全局變量一旦被定義,其值保存在存儲(chǔ)器中,可在任何程序中使用。其中實(shí)數(shù)、整數(shù)、邏輯值和ASCII值都用實(shí)數(shù)值表達(dá)。
川崎機(jī)器人控制器的ModbusTCP服務(wù)器在提供對(duì)外數(shù)據(jù)交換服務(wù)時(shí),需根據(jù)控制器自身的特性,提前規(guī)劃制定對(duì)外數(shù)據(jù)接口范圍,應(yīng)遵循以下原則:
1、應(yīng)盡量遵循行業(yè)通則,如Modbus的公共功能碼0x02,代表讀離散量輸入信號(hào)功能,對(duì)于離散量輸入信號(hào),并且要求是只讀功能的信號(hào),其地址范圍應(yīng)限定于機(jī)器人控制器內(nèi)的通用信號(hào)中的外部輸入信號(hào),其地址編號(hào)起始為1001。而不應(yīng)將地址編號(hào)如1~32的外部輸出信號(hào)或地址編號(hào)2001~2256內(nèi)部信號(hào)劃入功能碼0x02的范圍內(nèi),因?yàn)橥獠枯敵鲂盘?hào)和內(nèi)部信號(hào)原則上不僅可讀,還可寫(xiě),相當(dāng)于線(xiàn)圈的定義,應(yīng)劃入功能碼0x01(讀線(xiàn)圈)和0x05(寫(xiě)單個(gè)線(xiàn)圈)范圍內(nèi)。
2、對(duì)外開(kāi)放的通用信號(hào)數(shù)量不能超出機(jī)器人設(shè)置的最大信號(hào)數(shù)量,并且機(jī)器人專(zhuān)用信號(hào)設(shè)置中已被指定用于專(zhuān)用信號(hào)的通用信號(hào)不可寫(xiě)。讀寫(xiě)超過(guò)最大信號(hào)數(shù)量,或?qū)憣?zhuān)用信號(hào)通道,會(huì)導(dǎo)致機(jī)器人報(bào)錯(cuò)并停止,應(yīng)根據(jù)機(jī)器人設(shè)置對(duì)ModbusTCP服務(wù)器相關(guān)參數(shù)進(jìn)行配置,以避免對(duì)機(jī)器人運(yùn)行造成干擾。

I/O信號(hào)數(shù)量設(shè)置

專(zhuān)用信號(hào)顯示
3、在可用資源充足時(shí),宜通過(guò)通用信號(hào)接口與外部設(shè)備交換系統(tǒng)開(kāi)關(guān)狀態(tài)信息和內(nèi)部變量信息。如機(jī)器人專(zhuān)用信號(hào)設(shè)置中,將外部信息交換所需的系統(tǒng)開(kāi)關(guān)指定給外部輸出信號(hào)或內(nèi)部信號(hào),通過(guò)公共讀寫(xiě)線(xiàn)圈功能碼讀寫(xiě)系統(tǒng)開(kāi)關(guān)信號(hào)。或?qū)?nèi)部變量賦值給連續(xù)內(nèi)部信號(hào)多位組合而成的寄存器(或讀寄存器),通過(guò)公共讀(或?qū)懀┘拇嫫鞴δ艽a完成與內(nèi)部變量的數(shù)據(jù)交換。
啟動(dòng)Modbus測(cè)試軟件Modbus Poll,設(shè)置連接參數(shù)并連接K-Roset仿真。連接參數(shù)設(shè)置中的IP地址設(shè)置與第2步設(shè)置相同,端口號(hào)設(shè)置為ModbusTCP服務(wù)器程序文件中設(shè)置的服務(wù)器端口號(hào)。

4、Modbus Poll與K-Roset連接成功后,在Modbus Poll通過(guò)Setup->Read/Write Definition中的各項(xiàng)功能,或通過(guò)菜單的Functions下的各子功能,逐項(xiàng)測(cè)試Modbus功能。


確認(rèn)機(jī)器人配置無(wú)誤后,打開(kāi)三菱PLC配置軟件,開(kāi)始進(jìn)行CCLink一側(cè)配置。
打開(kāi)三菱PLC,設(shè)置CClinkIE一側(cè)的參數(shù)配置,首先設(shè)置PLC的IP地址

雙擊詳細(xì)設(shè)置進(jìn)入CClinkIE配置

添加通用從站IP地址以及占用點(diǎn)數(shù)


設(shè)置好分配的軟元件

將組態(tài)下載進(jìn)PLC,并打開(kāi)網(wǎng)關(guān)配置軟件“Gateway Configuration Studio”
新建項(xiàng)目選擇CClinkIE-MTC

設(shè)置網(wǎng)關(guān)在CClinkIE一側(cè)的IP地址及占用點(diǎn)數(shù)(與PLC組態(tài)保持一致)


設(shè)置網(wǎng)關(guān)在ModbusTCP一側(cè)的IP地址

添加從站并填寫(xiě)IP地址,跟ModbusPoll一樣填寫(xiě)從站IP(命令異常碼使能可監(jiān)控從站在線(xiàn)狀態(tài))

右鍵添加所需要的功能碼,填寫(xiě)參數(shù)地址以及數(shù)據(jù)長(zhǎng)度

以03功能碼(讀保持寄存器)為例,填寫(xiě)需要讀取的參數(shù)地址以及連續(xù)讀取數(shù)量。

參數(shù)確認(rèn)無(wú)誤后下載配置給網(wǎng)關(guān)即可。將所有設(shè)備全部上電,當(dāng)OK燈亮起,Txd和Rxd交替閃爍,即代表網(wǎng)關(guān)開(kāi)始正常通訊。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
31109瀏覽量
222400 -
三菱PLC
+關(guān)注
關(guān)注
13文章
267瀏覽量
33199 -
ModbusTCP
+關(guān)注
關(guān)注
0文章
255瀏覽量
5509
發(fā)布評(píng)論請(qǐng)先 登錄
開(kāi)疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接遠(yuǎn)程I/O配置案例
開(kāi)疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接三菱PLC與ABB機(jī)器人配置案例
開(kāi)疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接機(jī)器人配置案例
開(kāi)疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接FANUC機(jī)器人配置案例
開(kāi)疆智能Devicenet轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接費(fèi)斯托閥島配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接施耐德TCP從站配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接PCA3200電能表配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接組態(tài)王配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接康耐視InSight相機(jī)案例
開(kāi)疆智能ModbusTCP轉(zhuǎn)CClinkIE網(wǎng)關(guān)連接臺(tái)達(dá)DVP-ES3 PLC配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接傲博機(jī)器人配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)CANopen網(wǎng)關(guān)連接GBS20機(jī)器人配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)CANopen網(wǎng)關(guān)連接施耐德變頻器配置案例
開(kāi)疆智能ModbusTCP轉(zhuǎn)Profient網(wǎng)關(guān)連接西門(mén)子PLC與川崎機(jī)器人配置案例
開(kāi)疆智能ModbusTCP轉(zhuǎn)Profient網(wǎng)關(guān)連接ER機(jī)器人配置案例
開(kāi)疆智能CCLinkIE轉(zhuǎn)ModbusTCP網(wǎng)關(guān)連接川崎機(jī)器人配置案例
評(píng)論