单片机串口modbus协议通信程序,或者讲一下详细过程怎么写也行!谢谢了!

单片机串口modbus协议通信程序,或者讲一下详细过程怎么写也行!谢谢了!,第1张

<p>这是我自己用单片机写过的ModBus通信程序,你可以参照一下。其实比较简单,就是按步骤一步步的来就行了。</p>

<p></p>

如果用C语言编程实现MODBUS通讯,难度还是很大的。首先需要实现TCP通讯,这里面涉及到TCP侦听模块、TCP数据收发模块、断线重连模块、如果是多信道连接,还需要处理多信道并行通讯等。在实现了TCP通讯核心程序的基础上,通过数据发送程序模块,按照MODBUS指令格式,向前端设备发出正确的MODBUS指令(RTU或ASCII)即可,然后就是通过数据接收模块等待接收前端返回的MODBUS数据包,这就还要编写MODBUS指令生成模块,MODBUS数据解析模块。

上述只是一个大致的思路,里面涉及的编程技术很多,有的技术环节还是很有挑战性的,比如大规模多信道并行通讯。

modbus程序应包含通讯模块,modbus读写指令生成模块,人机交互等主要组成部分。通过人机交互,设定前端设备id,以及通讯参数,寄存器地址等,通过modbus指令生成模块生成指令,并将指令通过通讯模块送出,并接收返回数据 ,数据解析后通过人机交互窗口显示。

MOBUS只是一种软件协议,协议就是规定了一种"暗语",让主从站之间可以"通话"。也就是把0和1翻译成双方都明白的命令。

这很类似于你在不同品牌的电脑上,装什么软件系统。

而RS232和RS485相当于这个电脑硬件。

他们只是硬件接口。在这个硬件上,也不只能跑MODBUS协议,还能跑其他自拟协议。

同样,MODBUS也不光可以用于RS232和RS485,还可以用于POWERBUS,MBUS,等其他硬件之上。

例如这张图,上面的波形是来自MCU的原始数据接口UART

下面是RS485差分线波形。RS485只不过把来自MCU的UART的0-5V或者0-33V的电平,转换为翻转颠倒的5V压差电平并扩流驱动线缆。这就是硬件接口做的事情。

MODBUS只是一种软件。

但要注意,RS232是全双工通讯的,RS482是半双工通讯的。

施工布线差别就更大了,RS232只能一对一,最远通讯距离15米。而RS485支持一对多大网络通讯。

布线复杂度也不同

Modbus协议包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。

1、报文

一个报文就是一帧数据,一个数据帧就一个报文: 指的是一串完整的指令数据,就像上面的一串数据。

2、CRC校验

意义:例如98 04  是数据(01 06 00 01 00 17)通过一算法计算出来的结果,其实就像是计算累加和那样。(累加和:就是010600010017加起来的值,然后它的算法就是加法)。

3、功能号

意义:modbus 定义。

作用:指示具体的 *** 作。

扩展资料

大多数Modbus设备通信通过串口EIA-485物理层进行。

对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。

RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。

对于通过TCP/IP(例如以太网)的连接,存在多个Modbus/TCP变种,这种方式不需要校验和计算。

对于所有的这三种通信协议在数据模型和功能调用上都是相同的,只有封装方式是不同的。

Modbus有一个扩展版本Modbus Plus(Modbus+或者MB+),不过此协议是Modicon专有的,和Modbus不同。

它需要一个专门的协处理器来处理类似HDLC的高速令牌旋转。它使用1Mbit/s的双绞线,并且每个节点都有转换隔离装置,是一种采用转换/边缘触发而不是电压/水平触发的装置。连接Modbus Plus到计算机需要特别的接口,通常是支持ISA(SA85),PCI或者PMCIA总线的板卡。

参考资料来源:百度百科-Modbus通讯协议

以上就是关于单片机串口modbus协议通信程序,或者讲一下详细过程怎么写也行!谢谢了!全部的内容,包括:单片机串口modbus协议通信程序,或者讲一下详细过程怎么写也行!谢谢了!、modbus tcp 协议的c语言怎么写、怎样编程modbus程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10095551.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存