上位机发送 FINS UDP 命令读写 PLC 数据

制作时间:2022.5
硬件设备:CJ2M(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。


2.操作步骤
(1)硬件设置:
CJ2M内置的EIP口两个拨码含义如下:


图2-1

本案例设置CJ2M内置EIP口模块单元号为1,节点号为3。
2)软件操作:
a.在CX-Programmer中新建CJ2M的工程,把PLC切换到编程模式创建IO表,
双击读取出来的EIP21模块,设置IP地址与子网掩码,其中最后一个网段与
硬件节点号一致:


图2-2

b.打开SocketTool软件,新建一个UDP客户端:


图2-3

IP地址设置PLC的IP地址,对方端口设置9600,本地端口设置10000(两个端
口号不能设置成一样的)。


图2-4

c.上位编写FINS/UDP命令,具体格式说明如下:


图2-5

其中ICF数据格式如下:


图2-6

即发送数据时候,ICF=80
RSV固定00,GCT固定02
DNA为目标网络号
DA1为目标节点号
DA2为目标单元号
SNA为源网络号
SA1为源节点号
SA2为源单元号
SID设置00
此次计算机IP:10.110.59.192,PLCIP:10.110.59.3
即目标(PLC)网络号0,单元号0,节点号03
源(计算机)网络号0,单元号0,节点号192
即FINS头代码为:
0000C00000
注:PLC侧直接对CPU操作,与以太网模块实际单元号没有关系,固定为0。
d.使用0101代码读D100的数据,命令如下:
0101(读代码)82(DM地址代码)006400(D100)0001(1个数据)
0101指令说明如下:


图2-7

e.用0102代码写为ON,命令如下:
0102(写代码)31(W位地址代码)000005()0001(1个数据)01(ON)
0102代码格式说明如下:


图2-8

3.现象和结论
a.读D100数据,完整命令如下:
0000C0000001001



图3-1




图3-2

即:C0000200C000(计算机节点)000300(PLC节点)000101(读数据)


PLC内存数据如下:


图3-3

b.写完整命令如下:
0000C00000010231000005000101



图3-4

即:C0000200C000(计算机节点)000300(PLC节点)000102(写命令)
0000(正常结束)
PLC内存数据如下:


图3-5

4.注意事项
(1)PLC直接连接计算机,直连网线与交叉网线都可以。
(2)建立UDP客户端时设置的对方端口需要与PLC设置的端口号一致,默认
9600,否则通讯不上。
(3)以太网参数设置好后,可以连接CX-P软件测试设置与连接是否正确。
(4)在没有建立过路由表的情况下,网络号都为0。
(5)PLC侧直接对CPU操作,与以太网模块实际单元号没有关系,固定为0。

免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系