modbus初始化程序没有问题,要理解西门子200modbus通讯的难点就是要理解mbus_msg各管脚的具体含义。
其中:
en:通讯使能端用SM0.0
first:激活指令端,需要用沿触发
slave:连接的从站地址,必须与变频器设置的从站地址对应一致
rw:读、写,=0是读;=1是写
addr:从站数据区地址,这个是难点,需要和从站的modbus数据格式,类型等考虑
count:读取或写入数据的个数
datapt:参与通讯的本方数据暂存区,就是读取或写入到从站变频器上的数据都存放在这个地址区,这个区是你用户自定义的,需要与count管脚配合。通讯个数是以bit或word的方式进行的。当通讯是以bit单位时,必须是以8的整数倍形式。
done:读取、写入完成标志位,完成后置位一个周期
error:故障代码,当通讯出现故障时,方便用户根据故障字节值判断问题的所在