quote:以下是引用土泥吧在2012-05-31 17:27:04的发言:
MODBUS通讯经历
曾经采用CP341连接18台日立的变频到西门子315-2DP中,波特率设为9600,8位无校验1个停止位,距离加起来有个80米左右。通讯速度不是很理想。有时候启动某一台变频明显慢很多,被老大骂了一顿,说我的方案有问题。我觉得问题最可能是通讯有超时的情况,搞了好几天也没搞好。
后来没办法,老大让我必须解决,还要不增加太多成本,然后我就改了下方案。CP341接变频的台数降到4台,启动速度明显快很多,老大能接受了。剩下的14台怎么办???我用了两个微硬科技公司的网关PBMD485-K20,一个网关接7个变频,这样解决了问题,通讯速度和质量都能保证。老大那个苦瓜脸终于露出点笑容了!!!
按说9600在80米的距离接18台变频器应该问题不大,当然和楼主从变频器读取的数据量、变频器的响应时间等等都有关系,如果楼主当时能把速率调到19200,没有问题的话,应该说明程序没问题。如果调到19200后上述问题还存在,可能和楼主的参数设置等等有关了。
如果楼主希望精确计算延时时间,读或写每个变频器大概的算法是:(13+读/写字节数据长度)*1.04+变频器响应时间+50 ms。
以前类似的问题也经常遇到,我的经验是出现问题不可怕,最好是连接一个串口调试工具,实时监视一下报文,这样对调试很有帮助。