Q:如何使用SEND指令发送数据?
注:IP地址均为同一网段;PLC硬件节点号与其IP地址最后一位相同
步骤2:编写SEND指令(操作数为S、C、D)具体设置如下
S——发送数据首地址
C+0——发送数据的长度
C+1——00-07位表示目标网络号,如果在同一个网络中传送,此处固定设为00;08-11位对于EIP网络,设置为0;12-15位固定为0。
C+2——低字节,表示发送目标单元地址,如果目标对象是CPU本身,设为00。如果对象是模块,就设为10+模块单元号;高字节,表示发送目标节点号,可设为00-FE,如果设为FF则向网络中的所有节点发送
C+3——00-03位,表示重试次数,可在0-F范围中设置;08-10位,指定通信端口号,可从内部逻辑端口0-7中选择;15位,表示是否需要响应,设为0表示需要,设为1表示不需要;其他位固定为零
C+4——响应监视时间。设为0000,表示响应监视时间2S
D——接收数据首地址
更多详细内容请参考<使用SEND指令发送数据>e-Learning视频,网址:
http://www.fa.omron.com.cn/elearning/video/1052
SEND指令的说明有几十页,实在是读不进去,勇哥在这里分享自己的研究结果,以方便大家查阅。
勇哥的目的,是PLC向电脑发送数据。
S: 源首字(本地节点 ):表示发送方PLC数据所在地址的首字
D:目标首字(远程节点):表示接收方PLC数据所在地址的首字
C:控制数据首字
下面是控制字C的一个例子,它是在两个PLC之间传递数据。
实际上,勇哥的目的是无法做到的,因为欧姆龙官方说:CIF41根本不支持SEND指令。
而勇哥手里只有cp1h(插了一个CIF41扩展以太网模块), 没有cj2m(带有原生的以太网口)。
这个模块比cp1h本身还贵,居然不支持SEND指令,只能做为fins tcp或者fins udp使用,真是不值啊。
真是无语。这个研究只能中止。
不过对于使用cj2m的朋友来说,上面的知识是适用的!
Q:CP1W-CIF41使用时有哪些限制?
② 不支持 IO 表设定,需要通过浏览器设定参数。
③ 不支持 Mail/FTP/Socket/SNTP/Internet 维护功能。
④ 不支持 SEND/RECV/CMND 指令。
⑤ FINS/TCP最大连接数为2。
--------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

