发布时间: 2026-03-12

机器人与欧姆龙PLC的Fins TCP通讯


1. 简介

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

版本信息为:

• 机器人系统版本v2.13.4以上

• Fins插件版本v2.13.0

2. 操作流程

2.1安装插件

下载插件安装包后,按插件安装流程章节安装插件。

安装Fins通讯插件

2.2Fins通讯插件使用

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

1)与PLC建立通讯连接

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

第二步:进入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。

2)如何读写PLC的寄存器

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

第二步:

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

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

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

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

(5)详细脚本请参考下图

3. 常见问题解答

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

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

4. 示例

以下文件为机器人程序案例

 

 

提交反馈