ImageVerifierCode 换一换
格式:PDF , 页数:4 ,大小:121.04KB ,
资源ID:1002573      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.ketangku.com/wenku/file-1002573-down.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式系统中MODBUS通信的教学研究与实践.pdf)为本站会员(高****)主动上传,免费在线备课命题出卷组卷网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知免费在线备课命题出卷组卷网(发送邮件至service@ketangku.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统中MODBUS通信的教学研究与实践.pdf

1、嵌入式系统中 MODBUS 通信的教学研究与实践打开文本图片集摘要:文章针对 MODBUS 通信协议进行了实践和教学研究。首先,指出了MODBUS 协议的重要性以及地位作用;其次,分析了 MODBUS 帧的结构和通信原理,再利用一个通信项目分析了 MODBUS 通信的详细过程和开发代码;最后,指出 MODBUS 通信过程中需要注意的问题,并进行了总结,这对于 MODBUS 项目的研究与开发有重要的参考价值。关键词:MODBUS 通信协议;STC 单片机;485 通信;工业物联网1网络通信概述随着计算机通信技术的发展,越来越多的计算机系统连接到网络当中,网络通信成为当前信息科学最为热点的问题之一

2、,尤其在工业控制与物联网领域,如何安全、快速、便捷地传送数据,成为衡量工业发展水平的重要标志之一。与传统 PC 机相比,工业领域的信息通信的特点1在于:通信主机结构类型不尽相同;通信环境有可能会受到辐射干扰;通信设备成本限制;通信组网信息安全;网络拓扑结构各异。在这种背景下,选择什么样的通信方式和通信协议,就显得异常关键。2MODBUS 通信协议MODBUS2是由施耐德电气(现在的 Modicon 公司)于 1979 年为 PLC 之间的通信而研发的一种串行通信协议,它为连接至不同类型总线或网络的设备之间提供了 C/S 通信,目前已经成为工业领域通信协议的业界标准。自 1979 年以来,使成千

3、上万的自动化设备能够通信,很好地解决工业领域面临的通信难题,成为目前主流的工业物联网通信协议。MODBUS 协议定义了一个与基础通信层无关的简单协议数据单元(ProtocolData Unit,PDU)。特定总线或网络上的 MODBUS 协议映射能够在应用数据单元(Application Data Unit,ADU)上引入一些附加域。启动 MODBUS 事务处理的客户机创建 MODBUS 应用数据单元。功能码向服务器指示将执行哪种操作。MODBUS 协议建立了客户机启动的请求格式。MODBUS 事务处理流程如图 1 所示。3MODBUS 通信实践与教学3.1总体结构采用单片机与 PC 上位机的

4、串口通信方式,并采用 RS485 总线进行信号传输,以保证信号的总体质量。单片机一端作为服务器端,不主动发送数据,只是等待应答客户端请求的数据。PC 机作为客户端,负责启动请求与接收响应。与 RS232 相比,采用 RS485 总线的好处在于:(1)传输方式不同。RS-232 采取不平衡传输方式,即所谓单端通信。而 RS485 则采用平衡传输,即差分传输方式。在稳定性和抗干扰性方面都有明显优势。(2)传输距离不同。RS-232适合本地设备之间的通信,传输距离一般不超过 20 m。而 RS-485 的传输距离为几十米到上千米。(3)主机数量不同。RS-232 只允許一对一通信,而 RS-485

5、接口在总线上是允许连接收发器多达 128 个。3.2MODBUS 软件设计MODBUS 公共功能码是 MODBUS 协议通用的功能码,这个功能码是预先被定义好的,并且需要保证是唯一的、公开证明的。对应于每个操作访问,相关程序代码如下:void readCoil(void);/读线圈void readRegisters(void);/读寄存器void forceSingleCoil(void);/强制单个线圈void presetSingleRegister(void);/设置单个寄存器void presetMultipleRegisters(void);/设置多个寄存器void forceMu

6、ltipleCoils(void);/强制多个线圈3.3MODBUS 通信从机软件设计MOBUS 通信的主要过程包括:(1)进行系统初始化设置,主要包括定时器初始化,串口初始化,中断服务函数的编写和变量定义。(2)定时处理,不是指定时器与计数器的初始化,而是指判断一个完整的 MODBUS 帧是否结束的时间。关于区分两个帧的间隔时间,有许多衡量方法,一般采用延时几十微秒的方法。(3)循环监听 MODBUS 状态,一旦收到完整的数据帧,便开始处理,利用前面讲到的 MODBUS 库函数进行处理。在完成读写任务后,按照 MODBUS 帧规则,应答数据通过 MODBUS 总线传回客户端。部分初始化代码如

7、下。/串口初始化代码void UartInit(ULONG baud,UCHAR mode)IE=0 x90;TMOD=(TMOD&0X0F)|0X20;TH1=-22118400L/12/32/9600;TL1=-22118400L/12/32/9600;TR1=1;SCON=0X50;PCON|=0X80;/串口中断服务函数代码void commIntProc(void)interrupt 4 if(!RI)return;RI=0;receTimeOut=20;receBufreceCount=SBUF;receCount+;receCount&=0 x0f;4开发过程需要注意的问题4.1

8、单片机型号的选择单片机最常用的主要包括 89C51 和 89C52 系列,许多型号的单片机均可采用这種型号的工程。然而,单片机开发时最好要用自己的工程型号以及头文件。如本例用到的 STC15 系列单片机,需要在建立工程时便选定型号,并且加入其特有的头文件:#include“stc15.h”。这样,才能保证工程能够编译通过并正确下载到芯片中。4.2波特率的控制在传输过程中,客户机与服务器的波特率设置必须完全一致,否则将接收不到正确的数据。受到传输距离和单片机性能的约束,在速度选择上要适中,具体情况要通过实验得以验证,一般不宜过高或过低。4.3传输距离MODBUS 通信物理层多采用的是串行通信,在

9、通信过程中不同类型的串行通信差别很大,如 RS232 和 RS485 在通信原理和通信性能上都存在很大差异,在开发过程中,应该根据需要合理选择,避免造成信号不稳定。4.4CRC 校验码循环冗余校验码(Cyclic Redundancy Check,CRC)可以有效地检测到传输问题导致的数据错误,它的原理是利用 CRC 算法将数据帧转换成一个 CRC 检验码,接收方在接收到数据以后,再重新计算校验码并与发送时的检验码相比对,以检验数据的准确性。在实践过程中,CRC 校验码的生成和检测一般直接利用库函数完成,不是 MODBUS 研究的重点,在开发和教学过程中应当注意区分。4.5节点数量有的项目可能

10、需要几百甚至上千个节点进行 485 通信,从理论上讲,无论是MODBUS 还是 485 总线都是有数量限制的,MODBUS 的数量最多 240 个。485 总线根据芯片的不同,差异也很大,在几十到几百之间。同时,还受到线路长度的影响。如果想让更多的设备连接在一起,需要采用中继器或者多串口服务器一类的设备进行网络拓扑。5结语通过对 MODBUS 的系统研究与实验论证,证明 MODBUS 协议在单片机平台上,利用 RS485 通信是十分可靠并可以实现的,可以应用到嵌入式系统等相关课程的教学当中。通过合理的组织教学,让学生能够熟悉并掌握工业现场的应用技术,更接近市场的人才需求,内容适合物联网相关专业的学生学习。同时,还要注意讲授内容的取舍,把重点放在 MODBUS 协议本身,以免使学生产生畏难心理。

网站客服QQ:123456
免费在线备课命题出卷组卷网版权所有
经营许可证编号:京ICP备12026657号-3