LabVIEW论坛
直播中

周建远

8年用户 1462经验值
擅长:制造/封装 连接器 光电显示
私信 关注
[问答]

请教下关于欧姆龙PLC OPC处理Float类型的方法

  如题,欧姆龙PLC,之前做项目从没用过OPC通讯,这个项目因为是接手别人的,结构没设计好,如果替换为协议通讯就得大改动,没时间 只能换用OPC,之前是西门子PLC,现在换成欧姆龙了,OPC Sever搞定了,D区的数据如果我OPC中设为Float类型,那么读写全不正常,敢问这个怎么解决?只能先乘以100或1000变为整数再处理吗?  这样需要改动的就很多了,不比改程序架构简单多少,哪位有好的方法麻烦讲一下,万分感谢! (PS:通讯方面没问题,不管OPC还是协议发指令都没问题,这些各位大神就跳过吧)

回帖(5)

aryan

2018-5-11 19:10:36

最佳答案

以前做过这个内容,凭印象答一下吧!PLC的浮点数是遵循IEEE754标准的。
至于如何转换,见附件VI。
举报

    IEEE754.rar (2018-6-8 09:37 上传)

    5 KB, 下载次数: 34

tyx010203

2018-5-12 14:30:30
我做的的项目都是用的OPC与西门子的PLC进行通信,应该用欧姆龙也是一样的,针对你的问题你可以检查这几点问题,首先PLC本身进行数据修改是否正常,然后打开OPC Quick中数据是否正常,在进行DB地址与OPC标签的检查,一个Float占4个字节,PLC往DB块中写数据时要保证位数是否正确。然后在创建OPC 标签的时候,你可以检查每个数据的DB块地址是否与PLC对应,地址是否有重复或者创建了地址超出DB块的有效数据。
举报

周建远

2018-6-8 16:34:14
引用: crescent 发表于 2018-5-11 19:10
以前做过这个内容,凭印象答一下吧!PLC的浮点数是遵循IEEE754标准的。
至于如何转换,见附件VI。

这个问题我解决了,float数据类型占两个寄存器,就这么简单   不推荐OPC,速度太慢太慢,走TCP的话用协议收发指令速度要快的多,如果说用OPC做曲线帧率是10,那么走协议帧率就是60以上了
举报

aryan

2018-6-8 21:18:36
引用: zhouyezuishuai 发表于 2018-6-8 16:34
这个问题我解决了,float数据类型占两个寄存器,就这么简单   不推荐OPC,速度太慢太慢,走TCP的话用协议收发指令速度要快的多,如果说用OPC做曲线帧率是10,那么走协议帧率就是60以上了

是的,很多PLC也可以用485。三菱的PLC走TCP的话协议包太复杂。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分