1. 硬件连接与基础配置
西门子Smart200 PLC自带的485口在工业现场中非常实用,尤其是通过Modbus RTU协议控制多个设备时。但很多新手在第一步硬件连接上就踩坑,我自己刚开始用的时候也犯过不少错误。先说说最基本的接线问题:485通讯采用两线制,A线接A线,B线接B线,这个听起来简单,但现场忙起来真的容易接反。
有一次我在一个项目里接了8个温控表,结果有一台的线接反了,导致整个网络通讯时好时坏。后来发现是其中一个表的A、B线接反了,虽然其他设备还能通讯,但时不时就会出现超时错误。所以这里强烈建议大家用不同颜色的线区分A、B线,比如红色接A,蓝色接B,这样排查起来也方便。
终端电阻也是个容易忽略的点。485总线两端都需要加120Ω的终端电阻,很多人觉得短距离通讯可以不加,但在工业现场电磁干扰严重,不加终端电阻信号反射会导致通讯不稳定。我一般会在PLC端和最后一个设备端加上终端电阻,中间设备都不加。记得有次调试一个50米长的线路,没加终端电阻,通讯速率一到19200就出错,加上后即使115200的波特率也能稳定通讯。
关于电缆选择,推荐使用屏蔽双绞线,屏蔽层要单端接地。我曾经试过用普通电线代替,结果变频器一启动通讯就中断,后来换用带屏蔽的电缆问题就解决了。电缆要远离动力线,至少保持20厘米以上的距离,如果必须交叉,尽量成90度角交叉。
2. 软件配置与参数设置
软件配置是另一个容易出问题的地方。首先要在STEP 7-Micro/WIN SMART中调用Modbus RTU主站指令库,这个库需要分配库存储区。很多新手直接使用建议地址,结果和其他程序地址冲突导致通讯失败。我建议手动指定库存储区的起始地址,比如从VB1000开始,避免与现有程序冲突。
初始化程序MBUS_CTRL的参数设置必须和从站设备完全一致。有一次我调试温控表时,波特率设置了9600,但有个温控表默认是4800,结果就这个表一直通讯不上。后来把所有设备的通讯参数都检查一遍才发现问题。现在我的做法是先用调试软件确认每个从站的参数,然后再在PLC程序中设置。
超时时间的设置也很重要。默认1000ms对于大多数场合够用,但如果从站设备响应慢,就需要适当延长超


5366

被折叠的 条评论
为什么被折叠?



