ModBus协议在工业控制系统中的应用
时间:06-19
来源:互联网
点击:
无谓浪费。
在数据处理方面设计了一个环形的缓冲区,用来存放接收到的数据,这个缓冲区是一个两维数组。假设一个帧不超过12个字节,可以定义了一个5*12的二维数组。数组的第一个元素是标志位,前四位用来表示数据是否已经处理,后四位存放接收的数据的个数;每接收一个帧的数据,数组下移一个。当接收的数据要覆盖未处理数据时系统报警,这种情况一般不会发生,因为数据处理程序在本系统中被设成优先级最高。
在ModBus协议中另外一个问题就是CRC校验和的计算问题,一般情况下它是由硬件电路直接产生的,这样速度比较快,系统负载小;但是在本文中介绍的单片机中没有这种专用电路,而且一般的中低端的单片机一般也不具有这种专用电路。这里我们只有充分利用现有的资源,如果直接计算的话,单片机负载很大,而且浪费了大量的系统时间,影响系统的实时性,考虑到我所使用的MCU的Flash ROM比较大,可以存储大量的常量线性表数据,利用查表方式可以非常方便的计算出CRC校验码。
四、结束语
在本文中比较详细地介绍了ModBus总线协议,并最终设计了一个实现多点温度测量和控制的使用系统,希望本系统对类似的通讯应用有所帮助。
参考资料
1. Modicon ModBus Protocol Reference Guide.PI一MBUS一300 Rev. J
2. Mark Nelson著.串行通讯开发指南. 北京:中国水利水电出版社,2000
3. 王田苗主编.嵌入式系统设计与实例开发. 北京:清华大学出版社,2002
- SHARC DSP与SJA1000的CAN总线接口设计(03-14)
- 现场总线与RS232、RS485的本质区别(12-21)
- 浅析现场总线的应用技术(12-21)
- 如何正确选用现场总线产品(12-21)
- 基于现场总线的加工中心用六轴数控系统(12-21)
- 基于现场总线的PLC控制变频造纸系统(12-21)