微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ModBus协议在工业控制系统中的应用

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top