登录
首页 PLC论坛 欧姆龙OMRON
回帖 发帖
正文

主题:请教一个欧姆龙PLC,无协议通信问题

点击:203 回复:10

附件 屏幕截图 2024-04-23 181447.jpg
想实现欧姆龙PLC读温控表的温度,用的无协议通信TXD,温控表协议格式是8字节,最后两个字节是crc校验。依次往D300几个寄存器写入相应的数据,最后两个字节是CRC校验,我理解的CRC校验是变化的,是根据前边几个寄存器的内容计算出来的吧?欧姆龙PLC有没有类似三菱PLC,CRC校验的命令啊。还有如果CRC校验如果我写的不对,会怎么样,能够通信上吗,希望高手解答下
最后修改:2024/4/23 18:29:36
24-04-23 18:27
你要是欧姆龙的温控仪,直接看通讯手册,有例子,不用这样子
https://www.fa.omron.com.cn/products/family/3101/download/manual.html
24-04-24 09:18

引用 272925066 在 2024/4/23 18:27:32 发言【内容省略】

可以自己编写一个CRC子程序
如果你说CP1H\CP1L\CP2E等PLC,它门是有支持Modbus协议的,不需要TXD和RXD指令编程实现Modbus。
24-04-25 16:25
读温控表的温度---会有很多数据要写吗?
可能使用的温控表种类太多吧
数据不是很多,可以试试查表方式
24-04-25 21:17
我没有说明白,读温控表数据不变,CRC校验不变,但是写温控表数据会变,CRC校验就需要变,CRC校验是变化的,需要怎么计算啊
24-04-26 15:35
哦 以为只是要实时温度
网上见过三菱PLC做的CRC程序
有触摸屏?交给它可能简单些
24-04-26 17:31

引用 272925066 在 2024/4/23 18:27:32 发言【内容省略】

1、对,CRC是根据前面的寄存器内容进行计算的。
2、欧姆龙没有三菱的CRC指令,但是如果用户机型支持FB的话,可以自行编写CRC的FB用来扩充指令。
3、如果CRC写的不对,那么就无法通讯。
4、如果用户编写CRC,那么请注意,欧姆龙的是以字作为基础单位的,而CRC算法是以字节为基础单位的,因此在循环以及最后的字处理需要有些不同。
5、仅仅对于非欧姆龙的温控器用户会需要自行编写CRC,对于欧姆龙自己的温控器,用户可以调用欧姆龙提供的官方FB,在软件安装目录中的LIB目录下,如果你不存在该目录,请在CX-ONE软件安装盘内安装扩展FB。
附件 sanp1.jpg
6、如果是非欧姆龙的温控器,使用TXD指令请注意,发送完成后需要重置PLC串口,否则会发生第二次通讯失败的状况。
7、相比较而言,如果你的PLC支持Modbus简易通讯,那会更容易实现你的通讯需求。
Good Luck~
24-04-27 09:22
CRC计算有工时,百度一下就知道。
modbus_rtu是很通用的串口通讯协议了,触摸屏,PLC很多都可以直接通讯,没必要自己去研究。
有车轮子就没必要自己去造了,选型PLC的时候可以考虑选择汇川,直接表格式插入就OK,方便很多。
留更多的精力考虑设备工艺逻辑。
如图:这不是更方便嘛~
附件 1714189421492.jpg
24-04-27 11:44
谢谢大家了,还是在论坛和大家沟通沟通就豁然开朗了,如果单独过一段时间读取一下温控表的温度,数据不变,CRC也不会变,把固定的CRC检验写到相应的寄存器就好了,可以用无协议通信。但是如果想实时通信还是modbus-rtu方便很多。谢谢大家的帮助
24-04-27 15:20
现在的PLC一般都支持猫吧屎通讯,不用自己写CRC了
我以前用FX3U不知道有这个指令,自己从网上抄了个CRC,最后还能用
24-04-27 15:23

上一页下一页

工控新闻

更多新闻资讯