基于PC和单片机实现MODBUS RTU通信.doc
-
资源ID:3411488
资源大小:12.50KB
全文页数:2页
- 资源格式: DOC
下载积分:2元
快捷下载
会员登录下载
微信登录下载
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于PC和单片机实现MODBUS RTU通信.doc
基于PC和单片机实现MODBUS RTU通信最近研究了一下MODBUS通信,在STC12C5A60S2单片机上实现了MODBUS协议的部分功能,方便上位机从单片机系统上获取数据,比如由单片机获取的温度、湿度、或者控制信号的状态等。有了MODBUS协议后,上位机的开发就很方便了,可以使用C#等高级语言通过串口通信,或者使用组态王直接通过串口通信而不需要写代码,这些都归功于MODBUS协议的开放性,很多的组态软件都能提供对他的支持。甚至通过PLC直接可以和单片机通信,比如在PLC系统上没有AD时,可以使用单片也来进行AD,然后通过MODBUS返回给PLC进行相应的控制。通过MODBUS协议可以实现主机和多个从机进行通谢,而每个从机有唯一的地址,主机就靠这个地址和从机进行通信。每一帧数据都要通过CRC进行校验,保证通信的正确性。在进行多机通信时只需要把每个从机的串口并到一起即可,见后面的图。单片机中3号功能的核心代码如下:本例中每个从机返回个字节的数据,号机返回i+1, 2号机返回2*i+ ,当然在实际运用中只要自己定义所返回的数据的含义即可。比如,字节代表温度,字节代表湿度,接下来的个字节代表P0,P1,P2,P3端口的状态等。可以自由定义,很方便。具体效果见下图:把两块板的串口通过杜绑线连在一起。在TEXTBOX中输入从机的地址,返回相应的数据如果输入的地址从机不存在,那么通信将会超时,就会提示通信故障。这个是根据通信超时来判断的。