CP1W-CIF41欧姆龙以太网通信-FINS
一:连接设置
节点号要正确要不CP1W-CIF41的ERROR灯闪(如CP1W-CIF41 IP为192.168.250.1,节点号即为1,与最后一段相同)。使用插槽1时4开关要置ON,使用插槽2时5开关要置ON,否则ERROR灯常亮。
PLC的串行选件端口插以太网模块时设置要改成115200 7,2,E HOST LINK
若是不知道模块的IP,可以从PLC内存查看:
新建一个USB连接PLC的工程——在线工作——查看存IP地址的数据寄存器
例如放在选件板2的位置,则IP地址在D32300+155=D32455,D32456两个地址查看;注意地址D后面不要带M。
(右键点击空白栏,编辑即可输入并查看)
连接方法1:知道模块IP后。设置电脑IP与模块处于同一个网段即可。FINS节点号即为模块IP的最后一个。
连接方法2:登陆http://192.168.250.1(模块的IP)/c00.htm 注意:有时候模块要与电脑处于同一个网段才能连上(如模块192.168.250.1,电脑要为192.168.250.2)
密码:ETHERNET
修改完成以后点击传送,然后点击重启即可。
二:FINS指令:
学习利用网络调试助手发送FINS命令对PLC进行操作,首先要学习FINS的通讯格式;
1、FINS指令格式
手册中的格式如下:
举例说明:
利用FINS/TCP的方式读取PLC的DM1通道的数据,格式解析如下:
FINS帧格式:
ICF | RSV | GCT | DNA | DA1 | DA2 | SNA | SA1 | SA2 | SID | Commandcode | TEXT | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
固定00 | 固定02 | 目标网络号 | 目标节点号 | 目标单元号 | 源网络号 | 源节点号 | 源单元号 | 服务号,随便 | MRC | SRC | |||||||
80 | 00 | 02 | 00 | 01 | 00 | 00 | C7 | 00 | 00 | 01 | 01 | 820000000001 | |||||
MR、SR参见FINS命令第5章;
前面的ICF、RSV等为指定一些目标地址和源地址的网络号、节点号、单元号及其他固定的格式,后面关于Command code以及TEXT的内容,需要根据上位机实现什么的操作,填写不同的操作数据,就读取DM1通道的数据;
DM区的Memory area code为82;
读取存储区的Command code为0101;
下面利用网络调试助手进行测试:
2、使用网络调试助手测试FINS/TCP
利用上位发送FINS/TCP的格式如下:ETN21手册,编号W421,P203。
1)FINS节点地址数据发送(客户端->服务器)命令
发送:4649 4E53 0000 000C 0000 0000 0000 0000 0000 00C7(本机IP地址末位为199)。
反馈:46 49 4E 53 00 00 00 10 00 00 00 01 00 00 00 00 00 00 00 C7 00 00 00 01 ;
发送及返回截图如下:
2)切换到编程状态
发送:46494E53 00000014 00000002 00000000 8000 0200 0100 00C7 00FF 0402
FINS 长度 命令 错误码 FINS帧
反馈:46494E53 00000016 00000002 00000000 C00002 00C700 000100 FF 0402 0000
3)切换到监视状态
发送:46494E53 00000014 00000002 00000000 800002 000100 00C700 FF 0401
反馈:46494E53 00000016 00000002 00000000 C00002 00C700 000100 FF 0401 0000
4)读DM0开始的2个通道:
发送:46494E53 0000001A 00000002 00000000 800002 000100 00C700 FF 0101 82 000000 0002
返回:46494E53 0000001A 0000000200000000 C00002 00C700 000100 FF 0101 0000 C0004541
5)将0.0置ON:
发送:46494E53 0000001B 00000002 00000000 800002 000100 00C700 FF 0102 30 000000 0001 01
(注:写位时,要将某位置ON,必须将写入内容的最末1位为1,其它位不限。)
返回:46494E53 00000016 00000002 00000000 C00002 00C700 000100 FF 0102 0000
同时观察NJ501,对应的变量(CIO_00)变为ON.
6)读100.0:
发送:46494E53 0000001A 00000002 00000000 800002 000100 00C700 FF 0101 30 006400 0001
返回:46494E53 00000017 00000002 00000000 C00002 00C700 000100 FF 0101 0000 01
同时观察NJ501,对应的变量(CIO_10000)确实是ON.
3、使用网络调试助手测试FINS/UDP通讯
经测试,采用FINS/UDP方式时,直接发送FINS命令帧就可以进行通讯。