您的当前位置:首页正文

欧姆龙PLC以太网TCP命令FINS协议实验

2021-12-28 来源:易榕旅网
ETN21以太网fins/TCP命令

实验时间:2014年10月8日

实验设备:CP1H-XA40DR-A、CP1W-EXT01、CJ1W-ETN21、网线

实验目的:利用SOCKETTOOL发送fins/TCP命令,对CPU内存进行读取和写入。

实验步骤:

1、 IP地址设置:

①打开电脑本地连接查看IP地址如下:

②usb线连上电脑,打开I/O表,将ETN21模块的ip地址与电脑设置为同一个网段不同节点,节点号跟硬件上的node number一样,下载重启模块,如下:

2、 配置socketool软件 ①软件选TCP Client,创建,输入ETN21的IP地址和端口号,端口号9600,如下:

点击连接,显示十六进制值打勾:

3、 握手信号

TCP方式客户端需要发给服务器握手信号,等待服务器正常反馈表示握手成功,才能正常交流数据。客户端发出的命令格式如下:

服务器反馈的命令格式如下:

故sockettool发送命令为:46494E53(FINS)0000000C(长度12字节)00000000(命令

代码)00000000(错误代码)000000D6(客户端节点号214),即:46494E530000000C0000000000000000000000D6 46494E530000000C00000000000000000000003C

反馈是46494E53(FINS)00000010(长度16字节)00000001(命令代码)00000000(错误代码)000000D6(客户端节点号)00000003(服务器节点号) 通讯建立成功。

4、TCP命令

①命令帧如下,ETN手册W421第7-4有相关介绍,如下:

Fins 命令格式:

实验现象:

1、勾选16进制,输入读取D1命令:发送Fins/TCP命46494E53(FINS)0000001A(数据长度26)00000002(命令代码)00000000(错误代码)80000200030000D600000101820001000001(FINS命令帧),即:

46494E530000001A000000020000000080000200030000D600000101820001000001 46494E530000001A0000000200000000800002000100003C00000101820001000001

写入命令,CIO区100.01和100.02置位:发送Fins/TCP命令46494E53(FINS)0000001C(数据长度28)00000002(命令代码)00000000(错误代码)

80000200030000D6000001023000640100020101(FINS命令帧)

即:46494E530000001C000000020000000080000200030000D6000001023000640100020101

查看内存:

并可看到输出灯100.01和100.02亮。 上述FINS DATE: 80 ICF

0101/0102 读/写 Response C0 ICF 0101 读内存 00 RSV 02 GCT 00 DNA D6 DA1 0000 表示正常完成 00 DA2 00 SNA 03 SA1 /1111 /反馈D1为1111 00 SA2 00 SID 82/30 D区字/CIO位 000000/006401 D0/CIO100.01 0001/0002 0101 1个/2位 数据 00 RSV 02 GCT 00 DNA 03 DA1 00 DA2 00 SNA D6 SA1 00 SA2 00 SID

实验总结:

1、 Socket Tool 中一定要将下面以显示十六进制值打钩,否则无法正确读到数 据。

2、对为操作由于命令发送是按字节发送,故对单个字置1或0时要用01或者00。

3、注意ETN模块面板node number要和IP地址最后一位一样。

4、如果通讯建立之后又发送了一次握手信号,将会反馈错误代码00000003(该命令不支持)并且通讯将会中断;发送错误会反馈错误信息,一样会中断。 5、错误代码有如下:

因篇幅问题不能全部显示,请点此查看更多更全内容