CPU224XP,主站,MODBUS RTU,
仪表:9600,8,无效验,1个停止位,是否能通讯正常,我以前连过流量计,停止位都是设为2的,这次这个仪表停止位是1,我不知道能不能通信正常!
最佳答案
1.你测试一下,之前有个类似的问题,结果停止位1既可以通讯成功。
2.你可以采用自由口
2个停止位,对PLC收是没有影响,主要是发送的问题。发送时只给对方一个停止位,会造成对方接收错误。
所以,应急的办法可以这样,试试无妨:
使用发送中断,一个字节一节字地单独发送,留出字节之间一些空余时间(实际是中断处理时间)充当停止位,如果这还不够,再人为地加进一些延时。
提问者对于答案的评价:
谢谢大家的解答,已经解决,可以正常通信,这个是PLC和一个液位仪表的通讯,但还是不明白,同样程序,同样的PORT0 RTU主站,一样的设置,以前连流量计的时候却要停止位设置为2位,否则不能通讯,搞不懂啊,过几天这个PLC还要再接入两个流量计,我再看看能不能行吧!
专家置评
1、modbus RTU指令库数据格式
1个起始位,8数据位,奇/偶/无效验,1个停止位
波特率可选1200,2400,4800,9600,19200,38400,57600,115200。
参考http://www.ad.siemens.com.cn/service/article/S7-200/S7-200modbus/Default.aspx
2、如果格式不同可以考虑自由口通信根据从站数据格式调用接收发送指令实现通信
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc180056.html