您现在所在的是:

电工技术

回帖:1个,阅读:495 [上一页] [1] [下一页]
672
hxqwbj
文章数:3
年度积分:50
历史总积分:672
注册时间:2013/1/17
发站内信
发表于:2013/1/24 16:12:46
#0楼
我想用MCGS自带的 莫迪康ModbusRTU 协议实现单片机与MCGS的通信,将单片机中的一组数据发送至MCGS中,但我不知道 莫迪康ModbusRTU 怎么设置,也不知道莫迪康ModbusRTU 的数据帧格式,所以也无法编制单片机程序。你有相关资料或建议么?另外如果自己开发驱动你有相关资料么?
19874
pqsh 版主
文章数:7500
年度积分:490
历史总积分:19874
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2013/1/25 8:51:43
#1楼
好吧,一般不给新来的回答。因为新来的问完问题,就没下文了。
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/
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003