请教大神一个MODBUS通讯的一个问题!!
用一个西门子S7-200SMART的PLC与一个台达DTA4848的温控器通讯,用PLC读取温控器的当前温度值与设定值,采用MODBUS RTU协议。
现在遇到一个问题,PLC无法读取温控器的寄存器值。各种办法都试了,通讯始终连不上。
这是我通讯的设置:
1、波特率;PLC与温控表都是设置了9600;
2、奇偶检验;PLC与温控表都是设置了奇检验;
3、通讯端口;PLC设置了2,温控表刚开始设置了2,后面仪表更换成3,也是不行;
4、数据长度;仪表默认是8位,无法更改。PLC无此项设置
5、停止位;仪表默认是1位,无法更改。PLC无此项设置
感觉设置应该没什么问题,但是就是通讯不上。2跟485的物理通讯接线也调换过了。PLC的MODBUS指令一直提示错误“3”,原因是接收超时,从站无响应。如图:
上图所示,我初始化了MODBUS指令。设置也设置好了,但是就是提示错误“3”(黑色下划线处)。仪表的当前温度值地址为“4700H”转换为MODBUS的4区10进制,对应数值“418176”这个应该没错吧???还有2个MODBUS设备的地址号是应该设置成同样的,还是要设置成不同站号???还有,PLC没有关于数据长度的设置,还有开始,停止位的设置,是不是这个出了问题???
求大神帮忙解答,不胜感激!!!!!!!!!!