组态软件中串口设备通信实现方法设计.docVIP

组态软件中串口设备通信实现方法设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组态软件中串口设备通信实现方法设计 导语:?本文分析了组态软件串口设备通信的原理及开发方法,并提出了一种使用VC++6.0开发组态软件串口设备通信模块的具体实现方法 摘 要:本文分析了组态软件串口设备通信的原理及开发方法,并提出了一种使用VC++6.0开发组态软件串口设备通信模块的具体实现方法。关键字:组态软件,串口设备通信,VC++6.01、前言:  工业控制组态软件的开发和使用已经有几十年的历史,现在很多从事工业控制的公司都在使用甚至开发自己的组态软件。在开发组态软件的过程中,组态软件的通信是一个非常重要的模块,使用组态软件设计出显示画面以后,要接收现场的采集数据,形成动态画面,反映工业现场的各种状态,并能够对现场设备进行控制,这些都依赖于组态软件的通信模块。现场的测控设备大多都采用标准的通信接口,而串行接口是测控设备所采用的最常见的一种通信接口。本文首先分析了开发组态软件串口设备通信的方法,然后提出了一种使用VC++6.0开发组态软件串口设备通信模块的具体实现方法。2、组态软件与测控设备的通信原理  组态软件通过I/O驱动程序从现场测控设备获得实时数据,对数据进行加工处理后,一方面以图形方式显示在计算机屏幕上,来反映现场设备的运行状况;另一方面按照组态要求和操作人员的指令将控制数据送给I/O设备,对执行机构实施控制或调整控制参数。  一般情况下,I/O驱动程序是与设备相关的,即一种设备的驱动程序只能驱动该类的设备。设备制造商会提供PC与设备间进行数字通信的接口协议和物理接口标准。物理接口标准规定使用何种通信介质、链路层的接口标准,如RS232、RS485、以太网等;接口协议规定通信双方约定的命令及数据响应格式、数据校验方式等。I/O 驱动程序主要是按照接口协议的规定向设备发送数据请求命令,对返回数据进行拆包,从中分离出所需数据(即组态的数据连接项和设备状态数据)。多数设备的通信接口协议都有若干条读写命令,分别用来读写设备上不同类别的数据,而每一条命令又可以读写同类别的多条数据,具体能读写几条是由接口协议规定的。使用组态软件做I/O数据连接的工程技术人员不必了解这些细节,只需按照I/O 驱动程序的说明书组态数据库变量与设备数据项的对应关系即可。I/O 驱动程序主要以数据包为单位进行数据处理,这样会大大提高通信效率。通信过程如图1所示:[align=center]图1、组态软件通信原理框图[/align]3、组态软件中串口设备通信方法设计  在工业控制领域,常把现场测控设备分成3种类型,一种是可独立工作、能够完成特定数据输入输出功能的设备,如用于模拟量输入输出、数字量输入输出的各种板卡;另一种设备是本身不直接处理数据输入输出,但起到管理其它设备工作的设备,如串行口设备;第三种设备是本身具有处理数据输入输出的功能,但只有和第一种设备一起才构成完整工作系统的设备:如PLC设备、智能仪器仪表等;不同类型的设备的工作方式有所不同,其对应的通信方法的设计也有所不同。而第三种设备是最常用的一种设备,他们的通信方式,主要是对串行口进行操作,因此在这里把他们叫做串口设备,下面结合实例给出用VC++6.0设计组态软件串口设备通信的方法。  选用VC++来开发,是因为使用VC++开发的软件运行效率高,程序代码较短,运行速度快,能够充分利用32位操作系统多任务多线程的优势。利用VC++6.0开发串口通信一般有两种方法,一种是直接使用Windows API函数进行编程,另一种是使用MSCOMM控件来进行串口编程,采用后一种方法在程序实现上相对第一种方法比较简单,因为MSCOMM控件封装了大量Windows API函数,使用MSCOMM控件进行编程,用户只需考虑如何使用MSCOMM控件所提供的属性和事件,以驱动API函数的接口来完成工作。  在组态软件中实现串行设备的通信实际上就是开发不同串行设备的驱动程序,它一般分为两个部分,一是对串行口的设置、初始化、以及读写操作,二是根据不同设备的通信协议对从串行口读写的数据帧进行处理,取出其中的有用数据。  3.1串口属性设置对话框设计  新建一个工程,在该工程中插入MSCOMM控件,建立一个对话框,(set_com)加入以下控件:  该对话框用于对串口的属性进行设置,但是这里并不是对串口进行真正的设置,而只是把一些参数保存到变量当中。在实际的应用中可能会用到其他更多的属性,但以上属性是最常用的几个属性,为了简化说明,在本设计中,只对以上一个属性进行设置,其他属性都采用默认的属性设置。MSCOMM控件有两种通信方式-事件驱动方式和查询方式,为了简化说明,在这里也只采用其中的一种通信方式-事件驱动方式。  3.2打开

文档评论(0)

wx171113 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档