CS機(jī)器人與歐姆龍F(tuán)ins TCP通訊
1. 簡(jiǎn)介
CS機(jī)器人與plc通訊的方式有很多種,比如Modbus,EtherNet/IP,Profinet,socket通訊,但是有些型號(hào)的PLC不支持以上這幾種通訊方式怎么辦呢?CS系列的機(jī)器人就還有一種通訊方式可供客戶使用,那就是Fins/Tcp通訊。本篇文章就是講解如何與歐姆龍PLC進(jìn)行Fins/tcp通訊。
版本信息為:
? 機(jī)器人系統(tǒng)版本v2.10.0
? Fins插件版本v2.3.0
? RTSI Service插件版本 v1.0.0
2. 操作流程
2.1安裝Fins和RTSI Service通訊插件
2.1.1安裝Fins通訊插件
第一步:將fins插件放在u盤里。

圖-1
第三步:進(jìn)入圖-2界面后,按照?qǐng)D-2界面所示步驟操作即可進(jìn)入圖-3界面。

圖-2
第四步:按照?qǐng)D-3操作步驟所示進(jìn)行操作,即可進(jìn)入圖-4界面;(注意第一步要選擇U盤,因?yàn)槲疫@個(gè)是在虛擬機(jī)上進(jìn)行操作的,所以選擇的是本機(jī),在實(shí)際示教器上要選擇U盤)

圖-3
第五步:按照?qǐng)D-4操作,點(diǎn)擊“重啟”即可。

圖-4
第六步:重啟之后就可以看到圖-5界面所示,該插件已經(jīng)激活,圖-6界面所示,該插件已經(jīng)安裝到機(jī)器人上了。如果發(fā)現(xiàn)機(jī)器人示教器上沒(méi)有該插件,再次重啟機(jī)器人即可。

圖-5

圖-6
2.1.2安裝RTSI Service插件
第一步:按照安裝Fins/tcp通訊插件步驟的第一步到第五步進(jìn)行操作。
第二步:操作完后就可以在機(jī)器人配置→插件里找到這個(gè)插件了,如圖-7所示。

圖-7
2.2使用Fins和RTSI Service通訊插件
2.2.1只使用Fins通訊插件(只使用Fins通訊插件時(shí)是通過(guò)RPC的方式讀寫PLC寄存器的腳本)
2.2.1.1與PLC建立通訊連接(如圖-8所示步驟操作)
第一步:進(jìn)入機(jī)器人配置界面。
第二步:進(jìn)入Fins插件。
第三步:設(shè)置IP地址(此處IP地址為PLC的IP地址),點(diǎn)擊“連接”按鈕。
第四步:查看連接狀態(tài),連接狀態(tài)有:”空閑、連接中、已連接1、已連接2、連接失敗” 這五種。
空閑:未連接到PLC。
連接中:正在連接PLC。
已連接1:成功連接到PLC, 且成功識(shí)別PLC信息 。
已連接2:連接到PLC,但未識(shí)別PLC信息。
連接失?。荷弦淮芜B接失敗了。
注意:處于已連接2狀態(tài)時(shí)需要通過(guò)選擇PLC模式并點(diǎn)擊設(shè)置來(lái)確定PLC信 息,否則可能無(wú)法通訊。這就需要進(jìn)行第五步的操作。
第五步:設(shè)置PLC模式。(目前能自動(dòng)識(shí)別的PLC有“CV、CS、CJ、CP”)。
第六步:勾選自動(dòng)連接。自動(dòng)連接的作用是,在關(guān)機(jī)重啟后自動(dòng)連接所設(shè)置的IP的PLC。

圖-8
2.2.1.2如何讀寫PLC的寄存器
第一步:通過(guò)rpc=rpc_factory("xmlrpc","http://6.0.0.10:9601")函數(shù)建立一個(gè) RPC對(duì)象。如圖-9紅框1所示。
第二步:
(1)可以通過(guò)DM100=rpc.memoryAreaReadInt16("dm100")函數(shù)讀取 PLC里16位整數(shù)寄存器“dm100"里的值并將值存在全局變量DM100中。如圖-9紅框2所示。
(2)可以通過(guò)rpc.memoryAreaWriteInt16("dm100",1)函數(shù)將”1“寫入到PLC里16位整數(shù)寄存器“dm100"里去。如圖-9紅框3所示。
(3)可以通過(guò)rpc.memoryAreaReadBit("w4.02")["value"]?=True函數(shù)讀取 PLC里位寄存器“w4.02"里的值并判斷值是否等于”True"。如圖-9紅框5所示。
(4)可以通過(guò)rpc.memoryAreaWriteBit("w4.02",True)函數(shù)將”True“寫入到PLC位寄存器“w4.02"里去。如圖-9紅框4所示。
(5)詳細(xì)腳本請(qǐng)參考圖-10

圖-9

圖-10
2.2.2同時(shí)使用Fins和RTSI Service通訊插件(通過(guò)RTSI插件將PLC寄存器的數(shù)據(jù)映射到機(jī)器人通用寄存器中,RTSI插件占用了 RTSI 輸入訂閱的 input_bit_registers0_to_31,input_bit_registers32_to_63,input_int_register(0-24),input_double_registerX(0-24)。因此需要注意是否有其他功能或外部 客戶端在占用。)
2.2.2.1運(yùn)行RTSI插件,如圖-11紅框標(biāo)注所示。

圖-11
2.2.2.2按照2.2.1.1的操作步驟與PLC建立通訊即可。
2.2.2.3建立通訊信號(hào),此功能是通過(guò)RTSI同步PLC和機(jī)器人的寄存器,點(diǎn)擊添加,會(huì)出現(xiàn)新的待設(shè)置條目。如圖-12所示。
PLC寄存器地址:輸入需要同步的PLC寄存器地址,例如“W0”、“W1”
PLC寄存器類型:需要同步的PLC寄存器類型。
傳輸方向:PLC_TO_ROBOT:讀取PLC數(shù)據(jù)然后寫入機(jī)器人寄存中。
ROBOT_TO_PLC:讀取機(jī)器人寄存器然后寫入PLC中。
RTSI Register:要同步的機(jī)器人寄存器。該寄存器就是機(jī)器人I0里自帶的寄存器,比如 整數(shù)寄存器,布爾寄存器,浮點(diǎn)寄存器。如圖-12所示。
RTSI Register Force:當(dāng)PLC寄存器類型為BIT_FORCE或WORD_FORCE時(shí)生效。
映射狀態(tài)是指:讀寫PLC的錯(cuò)誤碼,為0時(shí)代表沒(méi)有問(wèn)題。

圖-12

圖-13
2.2.2.4如何使用建立的寄存器
使用了RTSI插件就不要使用腳本函數(shù)去讀取或者寫入PLC寄存器的值了,就可以直接使用機(jī)器人與PLC同步了的寄存器,如圖-14紅框所示。
圖-14
3. 常見(jiàn)問(wèn)題解答
1.因?yàn)槭褂玫腇INS協(xié)議庫(kù)不支持,且暫時(shí)沒(méi)有需求場(chǎng)景,當(dāng)傳輸方向?yàn)镽OBOT_TO_PLC 是,類型:DOUBLE、FLOAT、BIT_FORCE、WORD_FORCE 不可用。
2.FINS協(xié)議實(shí)時(shí)性本身一般,加上又使用了RPC、擴(kuò)展IO等方式,所以同步 數(shù)據(jù)時(shí)延遲會(huì)很大,使用腳本時(shí)函數(shù)的執(zhí)行時(shí)間也會(huì)較長(zhǎng)。
3.PLC的一些寄存器可能有讀寫權(quán)限。
4. 示例
1.以下文件為使用了RTSI插件的程序
CS_BACKUP_2024-05-11_11-42-57.zip
2. .以下文件為沒(méi)有使用了RTSI插件的程序
CS_BACKUP_2024-07-16_15-15-52.zip