CS机器人与欧姆龙Fins TCP通讯

2024-10-10

1.  简介

CS机器人与plc通讯的方式有很多种,比如Modbus,EtherNet/IP,Profinet,socket通讯,但是有些型号的PLC不支持以上这几种通讯方式怎么办呢?CS系列的机器人就还有一种通讯方式可供客户使用,那就是Fins/Tcp通讯。本篇文章就是讲解如何与欧姆龙PLC进行Fins/tcp通讯。

版本信息为:

• 机器人系统版本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

第三步:进入图-2界面后,按照图-2界面所示步骤操作即可进入图-3界面。

图-2

第四步:按照图-3操作步骤所示进行操作,即可进入图-4界面;(注意第一步要选择U盘,因为我这个是在虚拟机上进行操作的,所以选择的是本机,在实际示教器上要选择U盘)

图-3

第五步:按照图-4操作,点击“重启”即可。

图-4

第六步:重启之后就可以看到图-5界面所示,该插件已经激活,图-6界面所示,该插件已经安装到机器人上了。如果发现机器人示教器上没有该插件,再次重启机器人即可。

图-5

图-6

2.1.2安装RTSI Service插件

第一步:按照安装Fins/tcp通讯插件步骤的第一步到第五步进行操作。

第二步:操作完后就可以在机器人配置→插件里找到这个插件了,如图-7所示。

图-7

2.2使用Fins和RTSI Service通讯插件

2.2.1只使用Fins通讯插件(只使用Fins通讯插件时是通过RPC的方式读写PLC寄存器的脚本)

2.2.1.1与PLC建立通讯连接(如图-8所示步骤操作)

第一步:进入机器人配置界面。

第二步:进入Fins插件。

第三步:设置IP地址(此处IP地址为PLC的IP地址),点击“连接”按钮。

第四步:查看连接状态,连接状态有:”空闲、连接中、已连接1、已连接2、连接失败” 这五种。

空闲:未连接到PLC。

连接中:正在连接PLC。

已连接1:成功连接到PLC, 且成功识别PLC信息 。

已连接2:连接到PLC,但未识别PLC信息。

连接失败:上一次连接失败了。

注意:处于已连接2状态时需要通过选择PLC模式并点击设置来确定PLC信 息,否则可能无法通讯。这就需要进行第五步的操作。

第五步:设置PLC模式。(目前能自动识别的PLC有“CV、CS、CJ、CP”)。

第六步:勾选自动连接。自动连接的作用是,在关机重启后自动连接所设置的IP的PLC。

图-8

2.2.1.2如何读写PLC的寄存器

第一步:通过rpc=rpc_factory("xmlrpc","http://6.0.0.10:9601")函数建立一个 RPC对象。如图-9红框1所示。

第二步:

(1)可以通过DM100=rpc.memoryAreaReadInt16("dm100")函数读取 PLC里16位整数寄存器“dm100"里的值并将值存在全局变量DM100中。如图-9红框2所示。

(2)可以通过rpc.memoryAreaWriteInt16("dm100",1)函数将”1“写入到PLC里16位整数寄存器“dm100"里去。如图-9红框3所示。

(3)可以通过rpc.memoryAreaReadBit("w4.02")["value"]?=True函数读取 PLC里位寄存器“w4.02"里的值并判断值是否等于”True"。如图-9红框5所示。

(4)可以通过rpc.memoryAreaWriteBit("w4.02",True)函数将”True“写入到PLC位寄存器“w4.02"里去。如图-9红框4所示。

(5)详细脚本请参考图-10

图-9

图-10

2.2.2同时使用Fins和RTSI Service通讯插件(通过RTSI插件将PLC寄存器的数据映射到机器人通用寄存器中,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运行RTSI插件,如图-11红框标注所示。

图-11

2.2.2.2按照2.2.1.1的操作步骤与PLC建立通讯即可。

2.2.2.3建立通讯信号,此功能是通过RTSI同步PLC和机器人的寄存器,点击添加,会出现新的待设置条目。如图-12所示。

PLC寄存器地址:输入需要同步的PLC寄存器地址,例如“W0”、“W1”

PLC寄存器类型:需要同步的PLC寄存器类型。

传输方向:PLC_TO_ROBOT:读取PLC数据然后写入机器人寄存中。

ROBOT_TO_PLC:读取机器人寄存器然后写入PLC中。

RTSI Register:要同步的机器人寄存器。该寄存器就是机器人I0里自带的寄存器,比如 整数寄存器,布尔寄存器,浮点寄存器。如图-12所示。

RTSI Register Force:当PLC寄存器类型为BIT_FORCE或WORD_FORCE时生效。

映射状态是指:读写PLC的错误码,为0时代表没有问题。

图-12

图-13

2.2.2.4如何使用建立的寄存器

使用了RTSI插件就不要使用脚本函数去读取或者写入PLC寄存器的值了,就可以直接使用机器人与PLC同步了的寄存器,如图-14红框所示。

图-14

3.  常见问题解答

1.因为使用的FINS协议库不支持,且暂时没有需求场景,当传输方向为ROBOT_TO_PLC 是,类型:DOUBLE、FLOAT、BIT_FORCE、WORD_FORCE 不可用。

2.FINS协议实时性本身一般,加上又使用了RPC、扩展IO等方式,所以同步 数据时延迟会很大,使用脚本时函数的执行时间也会较长。

3.PLC的一些寄存器可能有读写权限。

4.  示例

1.以下文件为使用了RTSI插件的程序

CS_BACKUP_2024-05-11_11-42-57.zip

2.  .以下文件为没有使用了RTSI插件的程序

CS_BACKUP_2024-07-16_15-15-52.zip

download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

准备好突破增长瓶颈,开启智能制造了吗?
了解我们的机器人如何帮助您的业务增长
欢迎下载艾利特机器人资料

我已阅读并同意艾利特《隐私政策》《法律声明》

我已知晓并同意艾利特通过电子邮件发送相关资料

提交