制作时间: 2022.5硬件设备: CJ2M(PLC,内置网口)软件: CX-Programmer、 SocketTool案例简介:

1.掌握使用SocketTool软件发送FINS/UDP命令读写PLC数据。2.熟悉FINS/UDP命令格式的具体含义。

1. 系统概述,硬件搭建和接线

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(1)

图 1-1

内置 EIP 模块拨码设置 IP 地址 10.110.59.3;计算机 IP 地址为10.110.59.192。

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

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(2)

图 2-1

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

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(3)

图 2-2

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

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(4)

图 2-3

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

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(5)

图 2-4

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

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(6)

图 2-5

其中 ICF 数据格式如下:

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(7)

图 2-6

即发送数据时候, ICF=80RSV 固定 00, GCT 固定 02DNA 为目标网络号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。 d. 使用 0101 代码读 D100 的数据,命令如下:0101(读代码) 82(DM 地址代码) 006400(D100) 0001(1 个数据)0101 指令说明如下:

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(8)

图 2-7

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

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(9)

图 2-8

3. 现象和结论a. 读 D100 数据,完整命令如下:80000200030000C000000101820064000001把显示十六进制值打钩,发送数据,接收到的反馈如下:

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(10)

图 3-1

FINS/UDP 命令反馈格式如下:

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(11)

图 3-2

即: C00002 00C000(计算机节点) 000300(PLC 节点) 00 0101(读数据)0000(正常反馈) 0123(数据)。

PLC 内存数据如下:

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(12)

图 3-3

b. 写 W0.05 完整命令如下:80000200030000C00000010231000005000101把显示十六进制值打钩,发送数据,接收到的反馈如下:

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(13)

图 3-4

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

plc中tcp通信客户端和服务器区别(上位机发送FINSUDP)(14)

图 3-5

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

,