- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PowerBuilder中串行通信编程技术研究(1)
摘要:介绍了在PowerBuilder中调用Win32API函数、使用Mscomm32.ocx通信
控件、利用VCL通信组件和调用DLL(动态链接库)中的函数来实现串行通信的
方法,分析总结了各种方法的优缺点。
关键词:串行通信;事件驱动;应用程序接口;动态链接库
引言
在自动控制中,用PC机对工程实现实时监控,通常要求PC机能在用户界面
上具有数据采集、数据处理以及控制信号的产生与传输等功能。在这种情况下,
PC机要与过程控制的信号相联系,就要求能实现对PC机的串行端口直接操作。
串行通信具有传输距离长、连接简单、使用灵活方便、数据传输可靠性高等特点,
在工业监控、数据采集和实时控制系统中得到了广泛应用。
PowerBuilder(简称PB)是一种可视化的、面向对象的快速交互式应用开发工具。
PB以其简洁高效的集成开发环境、强大的数据窗口技术、便捷的报表生成及打
印功能,越来越受到广大开发人员的青睐。在各种开发软件中,PB对于数据库
的上层编程支持是名列前茅的,但是,PB对计算机的底层支持略显薄弱,没有
提供串行通信的命令、函数或控件,与其它设备之间进行数据通信较为困难,笔
者根据自己在PB编程中积累的经验,介绍了几种在PB中实现串行通信的方法。
1串行数据通信
1.1工作原理
Windows是一个事件驱动的与设备无关的多用户操作系统,它禁止应用程序
直接和硬件交互,程序员只能通过Windows提供的各类驱动程序来管理硬件。
Windows系统函数包含了通信支持中断功能,Windows系统为每个通信设备开
辟了用户定义的输入输出缓冲区(即读写缓冲区),数据进出通信口均由系统后
台来完成。应用程序只需完成对输入输出缓冲区操作就可以了。实际过程是每接
收一个数据就产生一个低级硬件中断,Windows系统中的串行驱动程序就取得
了控制权,并将接收到的数据放入输入数据缓冲区,然后将控制权返还正在运行
的应用程序。如果缓冲区数据已满,串行驱动程序用当前定义的流控制机制通
知发送方停止发送数据。队列中的数据按“先进先出”的次序处理。
1.2通信方式
串行通信的数据是一位接一位顺序地传送下去,通信方式有以下几种:
(1)异步通信方式
异步通信方式中,数据是一帧一帧(包括一个字符或一字节数据)传送的,
每一串行帧的数据由起始位、数据位、奇偶校验位和停止位组成。
(2)同步通信方式
同步通信方式中,数据开始传送前用同步字符来指示(常约定1-2个),并由
时钟来实现发送端和接收端同步,即检测到规定的同步字符后,就连续按顺序传
送数据,直到通信告一段落。
(3)查询方式
查询方式是定时地查询串口的接收缓冲区,如果接收缓冲区有数据,就读取
数据;若缓冲区中没有数据,继续执行,因此会占用大量的CPU时间,它实际
上是同步方式的一种派生。
(4)事件驱动方式
事件驱动方式通过设置事件通知,当所希望的事件发生时,Windows发出通
知,这与DOS环境下的中断方式很相似。
采用异步方式可以提高系统的整体性能,在对系统强壮性要求较高的场合,
建议采用这种方式。查询方式是一种最直接的读串口方式,但定时查询存在一个
致命的弱点,即查询是定时发生的,可能发生得过早或过晚。在数据变化较快
的情况下,特别是主控计算机的串口通过扩展板扩展到多个时,需定时地对所有
串口轮流查询,此时容易发生数据的丢失。虽然定时间隔越小,数据的实时性
越高,但系统的资源也被占去越多。事件驱动方式是一种高效的串口读方式,这
种方式的实时性较高,特别是对于扩展了多个串口的情况,只有当设定的事件
发生时,应用程序得到消息后,才进行相应的处理,避免了数据丢失。事件驱动
方式能够更好地处理串行端口通信交互,其优点是程序响应及时,可靠性高。
在实时性要求较高的场合建议采用事件驱动方式。
1.3实现步骤
利用PC机的串口实现串行通信的一般步骤如下:
(1)打开并配置串口
在应用程序中要使用串口进行通信,必须在使用前向操作系统提出资源申请,
要求打开串口,为了保证串口通信数据传输的可靠性,串口打开时一般都设置为
非共享模式,串口一旦被打开,其他的应用程序将无法打开或使用它。
在使用串口进行数据通信前必须对其进行配置,串口配置主要包括波特率、数据
位数、停止位数、奇偶校验、发送缓冲区大小、接收缓冲区
您可能关注的文档
最近下载
- JTG-T-5190-2019农村公路养护技术规范.docx VIP
- 2020 ACLS-PC-SA课前自我测试试题及答案.doc
- 房产勘察与带看.ppt VIP
- 学习小窍门教案 .pdf VIP
- PLA 检测在急性脑梗死诊断中的应用-来源:现代养生(下半月版)(第2019007期)-河北省医疗气功医院.pdf VIP
- 公司法修订背景下禁止财务资助规则的构建与完善.docx VIP
- 农光互补发电项目开发政策梳理.docx
- 城市轨道交通车辆检修(高职)全套教学课件.pptx
- 2024-2025年《国有企业管理人员处分条例》考试题库测试题目竞赛试卷2份(有答案).pdf VIP
- ATV630_650变频器编程手册.pptx VIP
文档评论(0)