登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:【话题】写程序该怎么写,想读取温湿度(20230905)

点击:782 回复:28

3G的你只是加个485BD通讯板是不支持MODBUS的;
23-09-04 18:45

引用 惜缘 在 2023/9/4 18:00:06 发言【内容省略】

你那个0106的不用.那个是用来改温度传感器的id(地址)的.
然后直接用0103那个,然后温度就会返回如010304那个.
23-09-04 19:49
首先你的先用串口助手调试出来通讯正常能接受到数据值。
你在目标字串哪里只需要输入 01 03 00 00 00 02 因为后面的CRC校验你的软件可以计算
计算后看看计算结果哪里是不是01 03 00 00 00 02 C4 0B,如果是再发送
然后看有没有返回,返回的内容是什么。
这里需要注意
1.你的硬件是否都能正常使用(USB转串口,这个模块本身)
2.接线是否正确
3.模块与串口调试助手的通讯参数设置是否一致(波特率、数据位、校验这些)
4.串口调试助手这个软件是否有问题
要想通讯成功,上面的4点必须全部OK才行,任意一点不对都是不行的。
这里成功后,再上PLC,你的PLC是不是加装了485BD板?
23-09-04 19:55
是的,上面加的485BD板
23-09-04 20:46
有串口调试软件。
23-09-04 20:55
01 06 07 D0 00 02 08 86
标准的modbus rtu 协议
01 是从站地址,功能码是06(写单个寄存器),07 D0 是数据地址 16#7D0是10#2000。00 02是数据大小,2个字节  后面是CRC校验
FX好像不能直接用,需要自己写RS指令来搞,有点麻烦;
说简单点,只需要把你需要发送的数据通过RS指令发出去就行,唯一麻烦就是计算CRC校验,
总结:能搞,就是麻烦
最后修改:2023/9/4 21:16:16
23-09-04 21:15
他这个是读取数据,固定的报文,不需要更改CRC校验码。
如果是写入就麻烦一些,写入的数据不同就要重新计算。
23-09-04 21:37
也麻烦啊,
返回数据还是要CRC计算吧,
自己写程序反正麻烦,
还是喜欢直接填地址,关联变量就行。
23-09-04 21:39
你说的是用西门子的吗
23-09-04 21:53
汇川的EASY,H5U,以及AM系列(CODESYS)
西门子的博图也还好,200SMART也还行表情
就是FX老的搞起来麻烦,我以前记得试着搞过,很麻烦
23-09-04 21:59

上一页 下一页

工控新闻

更多新闻资讯