摘要?论述了在@ABCDE环境下F如何利用GH的通信控件IJKLMM实现串行通信F对IJKLMM控件的原理进行了详细的阐述N并介绍了它在管道压力监控中的应用N>关键词?串口通信F@A" />

Delphi环境下利用MSComm控件开发串口通信程序

!"#$%&环境下利用’()*++控件开发串口通信程序

,-*.-/+!"0"#*$*12%"("-&/#)*++34&5/2&*467&4.’()*++&4!"#$%&

徐立伟

饶润生8

武汉理工大学武汉

9:;;<:=

>摘要?论述了在@A B C D E 环境下F 如何利用G H 的通信控件IJ K L M M 实现串行通信F 对IJ K L M M 控件的原

理进行了详细的阐述N 并介绍了它在管道压力监控中的应用N >

关键词?串口通信F @A B C D E F IJ K L M M F 管道压力

O P (Q R O )Q S TU D AC V C A W F U D AV X U D L W YA Z C B V E TD L [U LW A V B E \AU D AY A W E V B ]L M M X T E ]V U E L T[E U DIJ K L M M L ^G H L T[E T _L [Y ‘a E T @A B C D E F V T _E T U W L _X ]A E U b Y W A V B E \V U E L TE TU D A ]L T U W L B B E T cC W L c W V M L ^C E C A B E T A C W A Y Y X W A d e f g hi R !(Y A W E V B ]L M M X T E ]V U E L T F @A B C D E F IJ K L M M F C E C A B E T A C W A Y Y X W A

在工业控制中F 经常要组成上位机为j K 机而下位机为单片机的二级系统F 通过k J l :l 通信接口进行通信N 例如F 在三相流管道阻力机理的实验研究中F 我们可以组成这样的二级系统进行通信F 以便进行数据处理F 进而分析数据F 得到实验结论N @A B C D E 具有功能强大m 简便易用和代码执行速度快等特点F 但是@A B C D E 没有专门用于串口通信的控件F 我们可以在@A B C D E 中利用G H 的IJ K L M M 通信控件开发出高效实用的通信程序N

n IJ K L M M 控件简介

n d n !"#$%&中安装’()*++控件

先完成IJ K L M M 控件的系统注册F

然后在@A B C D E 中导入这个o ]U E p A q 控件N 进入@A B C D E 环境在K L M C L T A T U 菜单下选S M C L W U o ]U E p A q K L T U W L B

F 这时在列表中可以看到IE ]W L Y L ^U K L M M K L T U W L B

G

H 中一样方便的使用IJ K L M M 控件了N n d r ’()*++控件的主要属性及事件

此控件的属性较多F 下面介绍与本文有关的几个属性N

K L M M j L W U

s 设置并返回通信端口号N K L M M t p A T U

s 返回通信事件或错误N S T C X U

s 返回并删除接收缓冲区中的数据F 在设计时无效F 运行时为只读N

S T C X U u A T s 确定被S T C X U

属性读取的字符数N S T C X U IL _A s 设置并返回被S T C X U

属性读取的数据类型F 其中K L M S T C X U IL _A v A Z U 以文本形式返回F 而K L M S T C X U IL _A H E T V W w 以二进制形式返回N

x X U C X U s 向输出缓冲区中写入数据F 在设计时无效F 运行时为只读N

j L W U x j A T

s 设置并返回通信端口开或关的状态F 运行时有效N

k v D W A Y D L B _s 在IJ K L M M 控件设置K L M M t p A T U

属性为K L M M t p k A ]A E p A 并产生x T K L M M 事件之前F 设置并返回要接收的字符数N

J A U U E T c Y

s 设置并返回初始化参数F 即波特率m 奇偶校验m 数据位和停止位N

x T K L M M 事件s 当K L M M t p A T U 属性的值变化时F 就产生此事件F 标志发生了一个通信事件或错误N n d y ’()*++控件进行串口通信的一般步骤

IJ K L M M 控件进行串口通信的一般步骤为s z 设置通信对象m

通信端口号以及其它属性N {设定通信协议N|打开通信端口F 进行数据的传送N }关闭通信端口N n d ~’()*++控件通信方式的选择

IJ K L M M 控件有两种处理通信的方式F 即事件驱动和查询方式N 事件驱动方式是处理端口通信的一种有效的方法F 它可以利用x T K L M M 事件捕获并处理通

信中发生的事件或错误F

实时性较强N 而查询方式是在程序通过查询K L M M t p A T U

属性的值来判断通信过程中的事件或错误!这种方式适合于应用程序较小m 实时性要求不是很高的系统中N

"l ;;l ;#;$收到

""本课题获%九五&国家重点科技8攻关=项目8‘$;l ;’;a =资助N """

汤勃F 男F #‘’:年生F

在读硕士F 主要从事三相流管道减阻机理及仿真技术研究N (;9(8总#9<=@A B C D E 环境下利用IJ K L M M 控件开发串口通信程序l ;;l 年

!应用实例

在三相流管道阻力机理试验研究中"需要沿管道测定流体压力"作者利用#$的%&’())控件在

*+,-./环境中开发了管道压力监测程序0!12硬件设计

该检测系统是由主机3分机和相应软件组成的小型集散自动测试系统0分机根据主机命令"实现传感器测量采样"初级数据处理及数据传递0主机负责系统的工作协调"输出对分机的命令"对分机传送来的测量数据进行分析处理"输出系统的测量结果"供分析和处理这些信息4444444

554454

50

图6硬件线路图

7

’机8&9:

9;

;

;单片机<=*

传感器传感器<=*单片机单片机<=*传感器检测系统的硬件基本结构如图6所示0硬件由主机硬件"分机硬件>包括传感器?和接口三

大部分组成0由7’机担任上位机"

通信方式采用串行总线结构"每个单片机拥有唯一的地址编号0管道压力经压力传感器转换成相应的电信号"传感器输出的电信号经调节放大后变成@A B #直流电压信号"再经<=*转换后送单片机进行初步数据处理07’机每次通讯时"首先发送某一分机的地址编号"如果该分机在运行"单片机便通8&9:9’串行口将本次检测结果传输到主机"实现检测系统的数据分析和测试结果的显示等功能0

!1!通讯协议说明

上下位机之间以波特率为9C @@D =E F

F

F F F 45

的传输速率

图9主机程序

流程图

G H

显示结果

接收数据

等待回答呼叫当前分机

串口初始化开始通讯"无校验位"八位数据位和一位停止位0

作为上位机的7’机以查询方

式轮流送出各单片机的唯一地址编号I

9:9串行口发送给上位机0

!1L 程序流程图>如图93

图:所示?!1M 上位机应用程序框架

在N (O )’O +P Q +

事件过程中"对串口进行初始化07O (R +S T O +U ’())N (O )1N (O )’O +P Q +>&+V S +O W U X D Y +R Q ?W D S Z /V

%&’())61’())7(O Q

W [6\%&’())61&+Q Q /V Z E W []9C @@"V "^"6]\%&’())61_V -T Q ‘+V

W [@\%&’())61_V -T Q %(S +[’()_V T Q %(S +U +a Q

\%&’’())617(O Q X -+V W [U O T +\%&’())618Q .O +E .(,S W [B \%&’())17(O Q X -+V W [Q O T +

\+V S

\用一个循环语句"7’轮流向各单片机发送地址编号I

7O (R +S T O +U N (O )61U /)+O 6U /)+O >&+V S +O W U X D Y +R Q 54

F

F F

F F F ?\

G H

图:单片机程序流程图

开中断返回

发送数据自己分机号串行口中断

十进制转换

检测信号初始化开始b P O

/W /V Q +Z +O \E +E Q O W E Q O /V Z \D +Z /V

c (O /W [

d B Q (

e B S (D +Z /V

E +E Q O W [R .O >/?\%&’())61X T Q -T Q

W [E +E Q O \+V S \+V S

\每收到B 个字符引起X V ’())事件"将接收的字符显示在文本框中0

7O (R +S T O +U N (O )61’())6’())>&+V S +O W U X D Y +R Q ?\b P O

O +E Q O W E Q O /V Z

\D S Z /V

/c %&’())61’())f b +V Q [9Q .+V

D +Z /V

O +E Q O W [%&’())61_V -T Q \%+)(61‘/V +E 1O +E Q O ?\+V S

\+V S

\结束时"关闭串口0

7O (R +S T O +U N (O )61’,(E +D Q V ’,/R g >&+V S +O W U X D Y +R Q ?\D S Z /V

%&’())617(O Q X -+V W [c P ,E +

\’,(E +

\+V S

\L 结束语

在*+,-./的环境下利用#$的通讯控件

%&’())"可以方便地开发出功能强大3实时性好的串口通讯程序0作者利用该控件开发的监测软件在三相流管道压力的监测中"取得较好的实用效果0

参考文献

6黄军"熊勇1*+,-./

串口通信编程1北京W 人民邮电出版社"9@@6W e @Ae C

9陈立冬"

赵性初1单片微型计算机原理与接口技术1武汉W 华中理工大学出版社"6h h :W 6C B A6C e

i

6C i 第6B 卷第:期

电脑开发与应用

>总6C e ?

Delphi环境下利用MSComm控件开发串口通信程序

作者:汤勃, 徐立伟, 饶润生

作者单位:武汉理工大学,武汉,430063

刊名:

电脑开发与应用

英文刊名:COMPUTER DEVELOPMENT&APPLICATIONS

年,卷(期):2002,15(3)

被引用次数:12次

参考文献(2条)

1.黄军.熊勇Delphi串口通信编程 2001

2.陈立冬.赵性初单片微型计算机原理与接口技术 1993

相似文献(10条)

1.期刊论文王时绘.朱荣钊.WANG Shi-hui.ZHU Rong-zhao Delphi+SPComm实现串口通信-现代计算机(专业版)2007,""(8)

串口已成为计算机的标准接口,这种通信方式得到了广泛的应用.介绍单片机与PC间串口通信的基本原理,以及在Delphi开发环境下如何利用SPComm控件实现PC与单片机之间的串口通信.

2.期刊论文江寒林.JIANG Han-lin Delphi环境中介损在线检测串口通信的实现-电力自动化设备2005,25(5)

为实现分布式高压容性介损在线检测(包括电流互感器、套管、耦合电容器、电容式电压互感器等),介绍了基于RS-485总线方式建立的分布式数据采集系统的上下位机之间与RS-485的多点总线式主从应答方式通信,说明了通信格式和串行通信程序流程图.在Windows-NT环境中使用Delphi 6.0采用COMPORT控件实现串口通信.对传送信息的校验和错误处理有4种方法(均值、极大值、均方差、位累加冗余等校验)以提高数据传输的可靠性;并提出串口通信需要考虑的问题,包括计算机端口隔离保护、通信速率与距离的关系等.

3.学位论文赵永杰基于Delphi的排放测试系统主控计算机系统开发2006

环保问题已经日益成为人们关心的一个重要议题。而汽车尾气排放在大气污染中所占比例随着汽车保有量的快速增长而迅速增加,因此受到广泛关注。我国和世界其它各国针对汽车尾气排放控制方面所制定的法律、法规也越来越严格,汽车生产厂家和科研单位所做的工作使汽车排放控制技术有了较大的改进和提高。其中起到重要作用的是排放测控系统。排放测控系统对排放法规的执行、排放控制技术的发展都起着举足轻重的作用。

本文以长安大学引进的汽车排放测试系统为研究对象,确定其控制方案为分布式计算机控制系统;利用串行端口通信技术,以AVL排放测试设备之间的通信协议—AK协议为基础,以开发操作简便、友好、可靠的主控计算机系统为目的进行了研究。以面向对象开发理论为基础,对系统进行的分析,从系统的实时性、可靠性、可维护性、模块化设计出发,利用面向对象开发工具Delphi,结合系统硬件的进行了开发。开发的排放实验室主控系统能够实现排放分析控制柜CEBII、CVS排气采样系统、PTS颗粒采样系统、司机助的远程控制和数据传送和数据的实时图形显示,系统工作可靠、稳定,提高了工作效率,减少了人为误差,达到了预期目的。

4.期刊论文孙全玲.李莹莹.高翠云.SUN Quan-ling.LI Ying-ying.GAO Cui-yun基于Delphi的串口通信程序设计-安徽建筑工业学院学报(自然科学版)2008,16(6)

开发数据采集系统,首先要解决串口通信的问题,然后对串口读入的数据进行处理.本文给出了在Delphi开发环境下利用Spcomm控件实现串口读数据及简单处理数据的方法.

5.期刊论文洪家军.林振衡.王彬.黄仕禄.HONG Jia-jun.LIN Zhen-heng.WANG Bin.HUABG Shi-lu基于Delphi的计算机与密集柜之间的串口通信设计-莆田学院学报2007,14(2)

主要介绍在Delphi环境下利用MSComm控件,开发设计了计算机与密集柜之间进行串口通信的程序,从而实现了计算机对密集柜的有效控制与管理,经过实验检测和实际运行,通信模块能够准确、快速地完成通信任务.

6.学位论文王辉交警指挥监控系统的开发与研究2002

该文主要阐述了交警指挥监控系统的功能组成和实现原理.并在分析122接警处警/GIS系统、电子警察系统、视频监控系统等三个系统的功能结构基础上,提出了集成于子系统之上的指挥监控系统.视频监控系统是实现整个监控系统的核心.该文探讨了视频监控系统的关键设备--Pelco CM9760矩阵系统的功能结构和实现技术,解决并实现了指挥监控系统与矩阵系统控制主机CM9760-CC1之间通过串口通信的方式实现控制功能.电子警察是当前智能交通系统建设的重要方向.该文着重介绍了电子警察系统的系统组成和实现,并对图像处理技术在电子警察中的应用进行了讨论.最后,该文说明了系统安装调试中需要注意的一些问题和一些系统测试的方法.

7.期刊论文黄良沛.黄昕.阳小燕.Huang Liangpei.Huang Xin.Yang Xiaoyan Delphi环境中利用MSCOMM实现PLC与上位机的串口通信-计算机应用与软件2005,22(4)

本文在Delphi环境下利用MSCOMM控件,开发设计了上位机的串行通信程序;根据S7-200系列PLC的自由通讯口方式,设计了PLC的串口通信程序,从而实现了上位机与S7-200系列PLC的通信,对水厂自动供水系统进行实时设备监控与信息管理.经过试验测试和实际运行,通信模块能够准确、快速的完成通信任务. 8.期刊论文李忠明.方锦明基于Delphi 6的串口通信程序实现方法研究-兰州大学学报(自然科学版)2004,40(4)

串口是计算机最重要的外设接口之一,因此对其通信程序实现方法进行研究有着重要的意义.叙述了在Delphi 6环境下串口通信程序的四种实现方法:采用直接嵌入汇编、利用Windows的API通信函数、利用ActiveX控件MSComm、利用第三方控件SPComm.同时对各种实现方法进行了比较,并给出了编程实例.

9.学位论文王申强交警指挥监控系统的研究与开发2002

该文主要阐述了交警指挥监控系统的功能组成和实现原理.并在分析122接警处警/GIS系统、电子警察系统、视频监控系统等三个子系统的功能结构基础上,提出了集成于子系统之上的指挥监控系统.视频监控系统是实现整个交警指挥监控系统的核心.该文详细探讨了视频监控系统的主要设备--Pelco

CM9760矩阵系统的功能结构和实现技术,解决并实现了指挥监控系统与Pelco CM9760矩阵系统控制主机CM960-CC1之间通过串口通信的方式实现控制功能.基于B/S模式的分布式多层应用系统是今后应用系统的发展方向.该文着重介绍了用Delphi6.0实现基于B/S模式的交警指挥监控系统的改进方案.最后,该文说明了系统安装调试中需要注意的一些问题和一些系统测量的方法.

10.期刊论文邓洪峰.叶文华.DENG Hong-feng.YE Wen-hua基于Delphi的串口通信的实现-南昌航空工业学院学报

(自然科学版)2005,19(2)

串行通信是数据通信中常用方式.本文介绍了一种在Windows平台下采用Delphi编程工具实现PC机与外设串行通信的可靠方法.

引证文献(12条)

1.陈文江.徐三元.陈国华基于人机交互通信的重大危险源实时监测系统[期刊论文]-中国安全科学学报 2009(7)

2.徐国栋.蚩小霞基于Delphi的发动机台架试验单片机控制系统的开发[期刊论文]-计量与测试技术 2009(5)

3.曾亦可.罗旖旎.任伏龙.姜胜林动态电流法热释电系数测试系统结构设计[期刊论文]-仪表技术与传感器 2007(4)

4.欧青立.沈洪远.徐光远.李文DELPHI串行通信编程技术与实现[期刊论文]-实验室研究与探索 2006(6)

5.戴村供.黄键基于Delphi的串行通信在汽车排放测试中的应用[期刊论文]-机电技术 2006(4)

6.周凯基于以太网现场总线通信系统的研究与实现[学位论文]硕士 2006

7.魏胜.李克天.范运谋.章敏.黄万潮MSComm控件在PC机与CNC装置串口通信上的应用[期刊论文]-机电工程技术

2005(4)

8.张宗飞VB环境下利用MSComm控件发送和接收数据[期刊论文]-电脑知识与技术(学术交流) 2005(7)

9.蚩小霞MC68HC908单片机在发动机台架试验中的应用研究[学位论文]硕士 2005

10.张杨用于汽车装配生产线的气动机械手平衡回路研究与开发[学位论文]硕士 2005

11.梁志坚具有花稿自动生成能力的绗缝机计算机控制系统的设计与实现[学位论文]硕士 2005

12.杨星海塘水文要素远程监测与分析系统研究[学位论文]硕士 2005

本文链接:https://www.360docs.net/doc/dc8636027.html,/Periodical_dnkfyyy200203011.aspx

授权使用:李建平(wfnchkdx),授权号:758307ee-0f17-4c31-9cac-9df60115b7cd

下载时间:2010年9月19日

相关主题