1、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 地址和端口
2、号,端口号 9600,如下:点击连接,显示十六进制值打勾:3、 握手信号TCP 方式客户端需要发给服务器握手信号,等待服务器正常反馈表示握手成功,才能正常交流数据。客户端发出的命令格式如下:服务器反馈的命令格式如下:故 sockettool 发送命令为: 46494E53(FINS )0000000C(长度 12 字节)00000000(命令代码)00000000 (错误代码)000000D6 (客户端节点号 214) ,即:46494E530000000C0000000000000000000000D646494E530000000C00000000000000000000003C反馈是 4
3、6494E53(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 命令帧)
4、,即:46494E530000001A000000020000000080000200030000D60000010182000100000146494E530000001A0000000200000000800002000100003C00000101820001000001写入命令,CIO 区 100.01 和 100.02 置位:发送 Fins/TCP 命令 46494E53(FINS)0000001C(数据长度 28)00000002(命令代码)00000000(错误代码)80000200030000D6000001023000640100020101(FINS 命令帧)即:46494
5、E530000001C000000020000000080000200030000D6000001023000640100020101查看内存:并可看到输出灯 100.01 和 100.02 亮。上述 FINS DATE:80 00 02 00 03 00 00 D6 00 00ICF RSV GCT DNA DA1 DA2 SNA SA1 SA2 SID0101/0102 82/30 000000/006401 0001/0002 0101读/写 D区字/CIO 位 D0/CIO100.01 1个/2 位 数据ResponseC0 00 02 00 D6 00 00 03 00 00ICF RSV GCT DNA DA1 DA2 SNA SA1 SA2 SID0101 0000 /1111读内存 表示正常完成 /反馈 D1为 1111实验总结:1、 Socket Tool 中一定要将下面以显示十六进制值打钩,否则无法正确读到数据。2、对为操作由于命令发送是按字节发送,故对单个字置 1 或 0 时要用 01 或者00。3、注意 ETN 模块面板 node number 要和 IP 地址最后一位一样。4、如果通讯建立之后又发送了一次握手信号,将会反馈错误代码00000003(该命令不支持)并且通讯将会中断;发送错误会反馈错误信息,一样会中断。5、错误代码有如下: