登录
首页 电工技术 电工技术
回帖 发帖
正文

主题:MCGS与单片机通信问题请教!

点击:512 回复:1

我想用MCGS自带的 莫迪康ModbusRTU 协议实现单片机与MCGS的通信,将单片机中的一组数据发送至MCGS中,但我不知道 莫迪康ModbusRTU 怎么设置,也不知道莫迪康ModbusRTU 的数据帧格式,所以也无法编制单片机程序。你有相关资料或建议么?另外如果自己开发驱动你有相关资料么?
13-01-24 16:12
好吧,一般不给新来的回答。因为新来的问完问题,就没下文了。
modbus RTU是主从方式。单片机数据有多少?想采用何种方式发送?
一般的方式是,MCGS为主(上位),向单片机(下位)查询,单片机接受查询后,回应。
上位查询帧可以用: aa 03 xx xx cc cc crc。也就是上位机的取得hold reg的命令,这个命令是MCGS里定义好了后自动发出的,其实你不用管。其中:aa是下位机标识,03是取得400xx的字寄存变量,xx xx是寄存器开始,cc cc是寄存器(字)数量,crc是校验。
如果是一个下位机,简单传几个数的话,你可以用单片机收到上述的查询帧后,回应数据就行了。回应帧是:aa 03 Bc dh dl 。。。 dh dl CRC。aa就是上面的标识,Bc是你回应的数据的字节为单位的数量,dh,dl是你要传的数一个字的高低字节。CRC是校验。比较麻烦的是CRC,如果上位不关心CRC的话,你填00 00就可以。
参考:http://www.modbus.com/
13-01-25 08:51

工控新闻

更多新闻资讯