`最近一段时间再研究omron的PLC和 labview通信的问题,omron PLC 有一个hostlink协议,查了很多资料看了一下感觉都说的不清不楚的,所以还是觉得自己看编程手册来亲自研究一下。hostlink协议就读写两种命令,可以读写PLC的很多区域包括I/O口的状态。我把命令用简单语言说一下(网上的好多资料用词太专业了看不太懂)
@00RDDM00100002FCS*-
这个命令当中解释如下:
@:hostlink协议起始标志必须要有的。
00:表示PLC设备的地址。如果设备地址是01的话,那这00就改成01
RD:读PLC的DM区域,如果是写的话就用WD。其他区域的读写可以参考omron PLC的编程手册
DM0010:是读写PLC DM区域从DM0010地址开始读取
0002:表示读取从DM0010通道开始的连续两个区域,也就是要读取DM0010和DM0011.两个区域。只是16进制表示的,如果要读取三个区域可以写出DM0003,以此类推。
FCS:是从@符号开始到0002结束的所有单个字符的ASCII码的异或值这个FCS是一个具体的数值(先将单个字符转换成二进制数,然后异或。不知道的可以查ascii表)
*:这个符号是必须有地。不论读写
-:是回车符啊,网页上我打不出来,所有用-表示,别误会,实际这个字符程序是显示不出来的。
下面再看一下返回命令的格式;
按照上面发送的命令PLC正常回复的命令应该是下面这条
@00RD0000520073FCS*-
@:同上
RD:同上
00:是命令正常执行的时候会返回00,错误的时候非00,有相依的错误说明可以查询
0052和0073两个数值就是我们刚才从DM0010开始连续读两个区域的返回值。都是16进制的。
FCS:同上
-:同上
大概就这么多了,还算是蛮清楚的吧,如果实在还是不清楚那就差omron的编程手册吧。
`
30
评分
-
查看全部评分
|
|
|
|
ok
|
|
|
|
|
正在学习欧姆龙PLC的通信问题,请求楼主提供一下这个子vi.
非常感谢
|
|
|
|
|
讲的很好,我最近也在研究欧姆龙的通讯,刚用TCP协议搞定青智功率表的通讯,现在正头疼PLC呢,看到此帖,受教了
|
|
|
|
|
Hostlink与modbus指令没有太大区别,可以理解为哦,omron公司自定义协议,它有自己的一套编写规则,如果知道modbus协议,使用hostlink应该不难,注意的是校验部分他是用的求和异或校验方法,其他的都差不多
|
|
|
|
|