OMRON 客户服务中心 P032-1
上位机发送 FINS UDP 命令读写 PLC 数据
制作时间:2016.6
硬件设备:CJ2M-CPU35(PLC,内置网口)
软件:CX-Programmer、SocketTool
案例简介:1.掌握使用SocketTool软件发送FINS/UDP命令读写PLC数据。
2.熟悉FINS/UDP命令格式的具体含义。
1. 系统概述,硬件搭建和接线
图 1-1
本案例中,内置 EIP 模块拨码设置 IP 地址 10.110.59.3;计算机 IP 地址为
10.110.59.192。
OMRON 客户服务中心 P032-1
2. 操作步骤
(1) 硬件设置:
CJ2M 内置的 EIP 口两个拨码含义如下:
图 2-1
本案例设置 CJ2M 内置 EIP 口模块单元号为 1,节点号为 3。
(2) 软件操作:
a. 在 CX-Programmer 中新建 CJ2M 的工程,把 PLC 切换到编程模式创建 IO 表,
双击读取出来的 EIP21 模块,设置 IP 地址与子网掩码,其中最后一个网段与
硬件节点号一致:
图 2-2
OMRON 客户服务中心 P032-1
b. 打开 SocketTool 软件,新建一个 UDP 客户端:
图 2-3
IP 地址设置 PLC 的 IP 地址,对方端口设置 9600,本地端口设置 10000(两个端
口号不能设置成一样的)。
c. 上位编写 FINS/UDP 命令,具体格式说明如下:
图 2-4
图 2-5
OMRON 客户服务中心 P032-1
其中 ICF 数据格式如下:
图 2-6
即发送数据时候,ICF=80
RSV 固定 00,GCT 固定 02
DNA 为目标网络号
DA1 为目标节点号
DA2 为目标单元号
SNA 为源网络号
SA1 为源节点号
SA2 为源单元号
SID 设置 00
此次计算机 IP:10.110.59.192,PLC IP:10.110.59.3
即目标(PLC)网络号 0,单元号 0,节点号 03
源(计算机)网络号 0,单元号 0,节点号 192
即 FINS 头代码为:
800002 000300 00C000 00
注:PLC 侧直接对 CPU 操作,与以太网模块实际单元号没有关系,固定为 0。
OMRON 客户服务中心 P032-1
d. 使用 0101 代码读 D100 的数据,命令如下:
0101(读代码)82(DM 地址代码)006400(D100)0001(1 个数据)
0101 指令说明如下:
图 2-7
e. 用 0102 代码写 W0.05 为 ON,命令如下:
0102(写代码)31(W 位地址代码)000005(W0.05)0001(1 个数据)01(ON)
0102 代码格式说明如下:
图 2-8
OMRON 客户服务中心 P032-1
3. 现象和结论
a. 读 D100 数据,完整命令如下:
80000200030000C000000101820064000001
把显示十六进制值打钩,发送数据,接收到的反馈如下:
FINS/UDP 命令反馈格式如下:
图 3-1
图 3-2
即:C00002 00C000(计算机节点) 000300(PLC 节点) 00 0101(读数据)
0000(正常反馈) 0123(数据)。
OMRON 客户服务中心 P032-1
PLC 内存数据如下:
图 3-3
b. 写 W0.05 完整命令如下:
80000200030000C00000010231000005000101
把显示十六进制值打钩,发送数据,接收到的反馈如下:
即:C00002 00C000(计算机节点) 000300(PLC 节点)00 0102(写命令)
图 3-4
0000(正常结束)
PLC 内存数据如下:
图 3-5
OMRON 客户服务中心 P032-1
4. 注意事项
(1) PLC 直接连接计算机,直连网线与交叉网线都可以。
(2) 建立 UDP 客户端时设置的对方端口需要与 PLC 设置的端口号一致,默认
9600,否则通讯不上。
(3) 以太网参数设置好后,可以连接 CX-P 软件测试设置与连接是否正确。
(4) 在没有建立过路由表的情况下,网络号都为 0。
(5) PLC 侧直接对 CPU 操作,与以太网模块实际单元号没有关系,固定为 0。
(6) 输入命令的时候中间不能加空格,否则无法得到正确反馈。