发布于 2007-03-08 22:49:54
0楼
看了一遍,似乎不明白的地方是,MODBUS作主站时,如何向远方的仪器设备写入数据。反过来说,如果是从通讯的仪表读取数据是不是就简单多了,还是同意那句话。跟MODBUS的主站库本身是没有关系的,这个库什么都给你做好了,你拿来用就是了。
先说读取数据,如果我的单片机的保持寄存器的地址是从40000开始的,那么,我从40001开始读,一次可以读128个(记得不太清),然后把它存放在VB1000开始的地址中,那么40001的数据存在VW1000,40002的数据存在VW1002,依此类推。
再说写数据,道理是一样的,就是把你事先要写入的数据依次存放在VB2000中,然后,通讯时,PLC把数据送入到对应的寄存器中。
我作过主站和从站的通讯,主站是读取电量记量仪的数据,从站是和PC通讯,来读取PLCVW区数据和IO状态。
至于楼上所说的和变频器通讯,个人认为西门子变频器的通讯协议非常死板,跟单片机是完全不一样的。当然它有它的好处。
道理都是一样,如果楼主没有弄清楚,找一个电子版的440说明书,把通讯那一单好好看看。