admin管理员组

文章数量:1567744

2024年5月31日发(作者:)

PowerBuilder中串行通信编程技术研究(1)

摘要:介绍了在PowerBuilder 中调用Win32 API函数、使用通信

控件、利用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个),并由时钟来实

现发送端和接收端同步,即检测到规定的同步字符后,就连续按顺序传送数据,直到通信

告一段落。

本文标签: 数据串行PC机设备实现