您的位置 首页 培训

根据PC和单片机完成MODBUS RTU通讯

基于PC和单片机实现MODBUS RTU通信-最近研究了一下MODBUS通信,在STC12C5A60S2单片机上实现了MODBUS协议的部分功能,方便上位机从单片机系统上获取数据,比如由单片机获取的温度、湿度、或者控制信号的状态等。

最近研讨了一下MODBUS通讯,在STC12C5A60S2单片机上完成了MODBUS协议的部分功用,便利上位机从单片机体系上获取数据,比方由单片机获取的温度、湿度、或许操控信号的状况等。有了MODBUS协议后,上位机的开发就很便利了,能够运用C#等高档言语经过串口通讯,或许运用组态王直接经过串口通讯而不需要写代码,这些都归功于MODBUS协议的开放性,许多的组态软件都能供给对他的支撑。乃至经过PLC直接能够和单片机通讯,比方在PLC体系上没有AD时,能够运用单片也来进行AD,然后经过MODBUS回来给PLC进行相应的操控。

经过MODBUS协议能够完成主机和多个从机进行通谢,而每个从机有仅有的地址,主机就靠这个地址和从机进行通讯。每一帧数据都要经过CRC进行校验,确保通讯的正确性。

在进行多机通讯时只需要把每个从机的串口并到一同即可,见后边的图。

单片机中3号功用的中心代码如下:

依据PC和单片机完成MODBUS RTU通讯

本例中每个从机回来80个字节的数据,1号机回来i+1,  2号机回来2*i+1   ,当然在实践运用中只需自己界说所回来的数据的意义即可。比方1,2字节代表温度,3,4字节代表湿度,接下来的4个字节代表P0,P1,P2,P3端口的状况等。能够自在界说,很便利。
详细作用见下图:

把两块板的串口经过杜绑线连在一同。

TEXTBOX中输入从机的地址,回来相应的数据

假如输入的地址从机不存在,那么通讯将会超时,就会提示通讯毛病。这个是依据通讯超时来判别的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/peixun/346473.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部