- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VCModbus协议串口通信设计与实现
基于VCModbus协议串口通信设计与实现
摘要:串口通讯是工业设备组网的主要通讯接口,ModBus协议作为一种全球通用的工业标准,是不同设备组成工业网络的总线协议。本文采用VC++开发平台,设计开发基于ModBus协议的串口通讯软件,以实现不同设备的组网和远程监视控制。
关键词:串口传输;Modbus协议;MSComm控件;ModSim32软件
中图分类号:TP273 文献标识码:A 文章编号:1007-9416(2017)09-0158-03
串行通讯的距离从几米到几千米,传输线最少时只需一根即可实现通信,比较适合远距离通讯传输,在工业控制、测量设备以及远程监控中串行通讯广泛使用。Microsoft Visual C++作为微软公司面向对象程序的开发平台,具有集成的开发环境,支持C、C++等编程语言。ModBus协议在OSI七层参考模型中作为应用层协议,是全球最早应用于工业现场的总线协议。目前,ModBus协议已经成为一种通用工业标准,不同设备通过ModBus协议可以组成工业网络,实现集中监控。本设计针对VC++开发平台设计并实现了基于ModBus协议的串口通讯软件。
1 串口通信原理
1.1 串行通信的特点
串口通信的特点是数据流在通讯传输线上逐位按顺序分时进行传输,每次通信?p方传输一个数据位,也就是一个二进制数0或1,以最小单位二进制数0或1逐位进行传输。串口通信分为三种传输模式,分别是全双工、半双工和单工,具体划分是按照数据流的方向划分,数据通常是在通信双方的二个站点之间点对点进行传输[1]。
1.2 串行通信的接口标准
一个完整的的串行通信系统如图1所示,该系统包括数据终端设备(Data Terminal Equipment ,DTE)和数据通信设备(Data Communication Equipment,DCE)。
串行接口标准定义了DTE的串行接口电路与DCE之间的连接标准,包括连接电缆、接口几何尺寸、引脚功能和电平定义等,在计算机网络中,构成网络的物理层协议。
1.3 串行传输协议
通讯协议是一种对通讯双方之间进行通讯交流规则的约定。协议中规定了双方进行通讯的数据格式、传送速度、控制字符、同步方式、检错方式及传送步骤。通讯协议属于OSI七层参考模型中的数据链路层[2]。串口通讯按照同步方法的不同分为异步传输和同步传输。
1.4 Modbus通信协议
按照OSI七层参考模型,Modbus通讯协议属于应用层协议,是一种全球通用的工业标准。标准Modbus通讯,具有两种通信模式分别是Modbus RTU和Modbus ASCII模式。无论是RTU模式还是ASCII模式,Modbus信息以帧的方式传输,每帧有确定的起始点和结束点,使接收设备在信息的起点开始读地址,并确定要寻址的设备 (广播时对全部设备),以及信息传输的结束时间[3]。
2 通信软件设计与实现
本文基于VC++软件开发设计串口通信传输的上位机软件,归纳了实现串口通信传输的三大模块,分别是通信串口初始化、通信参数初始化以及串口数据接收处理流程,并概括总结了实现串口通讯编程的步骤和流程。
2.1 串口初始化
上位机与从机终端监控采集仪表通过串口实现通讯,首先通讯软件需要对上位机串口进行初始化,串口初始化内容包括设置实施通讯传输的上位机端口号,设置通讯参数如数据位、波特率、停止位和校验位,收发数据类型,串口打开等操作。执行串口初始化的流程图如图2所示。
2.2 基于特定通讯协议通讯参数初始化
不同设备实现通讯,双方需要遵循一定的通信准则,要实现不同设备之间的串口通讯传输就必须规定通讯双方使用相同的通讯协议。上位机软件若要实现主从设备之间的串口通讯需要对双方所采用的通讯参数进行初始化操作,本设计以Modbus RTU协议为例介绍如何通过编程实现串口通讯协议的初始化操作,流程图如图3所示。
2.3 基于串口事件的接收数据处理
上位机软件采用控件编程实现串口通讯时,如何从串口接收缓冲区准确接收从机发送来的数据是串口通讯软件的核心部分。采用控件从串口接收数据是通过触发事件执行函数读缓冲区数据,完成串口数据的接收。事件触发的条件是属性的值变化,无论何时属性值发生变化就会触发事件。串口通讯传输过程中当接收缓冲区接收到数据时,属性的值被置为2,并触发事件。
上位机软件采用控件通讯,处理输入缓冲区和输出缓冲区的数据是软件编程的一个难点。串口通讯过程中读取输入缓冲区数据和软件写入输出缓冲区的数据都是类型,上位机软件通讯使用的数据包括多种类型有二进制数值、文本型字符串,正确处理类型数据与二进制数据、字符串数据转换是上位机软件能否实现正常
您可能关注的文档
最近下载
- 12七年级生物上册 苏教版 植物根的生长.ppt
- 中国周边安全环境解析.ppt VIP
- 婴幼儿言语语言发育ppt课件.pptx VIP
- 历史学秦汉史试题集萃.doc VIP
- 屋顶分布式光伏投资收益测算表.xlsx VIP
- 2022年钠离子电池行业研究 钠离子电池技术不断成熟_大规模量产在即.docx VIP
- 2025年秋期新人教部编本六年级上册语文教学计划和教学进度安排表.pdf VIP
- t大板铜精炼技改解液净化工程电气安装工程施工方案.doc VIP
- 2025贵州黔西南州州直事业单位面向全州考聘工作人员84人笔试参考题库附答案解析.docx VIP
- 新标准大学英语综合教程3 (3).pdf VIP
文档评论(0)