基于Delphi的第三方串行通讯组件实现TH2817数字电桥仪器扩展应用
扫描二维码
随时随地手机看文章
摘要:串行通讯是测试仪器必备的工业口,为了能更好的利用测试仪器的扩展功能,通过使用Delphi的第三方串行通讯组件,来实现PC机软件与测试仪器的串行通讯,进而对测试仪器的扩展功能得以利用,使测试人员通过简单的界面操作和数据设置就能对测试仪器进行操作,免去了解仪器复杂操作的环节,同时也能实现对相关测试数据的电子处理和保存。
关键词:Delphi;串行通讯;数字电桥仪器;CommDriver组件
在测试仪器不断日新月异的当今,工业接口(串行口)却是测试仪器必备的,利用工业接口快速开发出适合自己的PC上位机软件,对于开发测试仪器的扩展功能、实现仪器的智能控制和数据电子化有明显的实际应用意义。
1 数字电桥仪器与软件开发工具
1.1 数字电桥简介
TH2817数字电桥仪器介绍是一种高精度、宽测试范围的阻抗测量仪器,可通过RS232C接口为仪器与计算机联网通讯。
1.2 开发工具介绍
DelDhi是Windows平台下著名的快速应用程序开发工具(Rapid Application Development,简称RAD)。它的前身,即是DOS时代盛行一时的“Borland Turbo Pascal”,最早的版本由美国Borlancl(宝兰)公司于1995年开发。主创者为AndersHejlsberg。经过数年的发展,此产品也转移至Embarcadero公司旗下。Delphi是一个集成开发环境(IDE),使用的核心是由传统Pascal语言发展而来的Object Pascal,以图形用户界面为开发环境,透过IDE、VCL工具与编译器,配合连结数据库的功能,构成一个以面向对象程序设计为中心的应用程序开发工具。对于工业口的开发可以利用其封装好的控制组件来完成,不仅节省了开发时间,也能很好的得到支持服务,而其成熟的IDE对于界面化的开发也能起到加速作用。
2 软件开发
2.1 软件实现功能及数字电桥仪器串行数据格式
为了简化复杂的仪器操作,实现仪器测试信息的集中自动化管理,利用PC上位机通用、高速的软件编程能力来实现。通过RS232C可实现对仪器的测试设置,显示设置,打印设置,并能接收来自仪器的测试信息,扩展仪器功能。
数字电桥仪器的串行通讯数据格式:发送数据格式包括了43个字节的信息,其中1-2字节为起始识别信息,中间字节信息均为仪器的测量数据信息,第43个字节为结束字符,也即在PC端接收数据时,每帧数据包括43个字节。接收数据格式包括了2个起始字符1个接收字符及2-9个字符的设置命令。
2.2 PC软件设计
PC软件设计的初衷就是为了简单快捷的通过PC机实现对数字电桥仪器的控制,并能实现其结果的电子存档。基于此PC需要实现接收数字电桥的串行口数据,并能向串行口发送控制命令(数据),并能实现将数字电桥仪器的串行数据结果进行保存的打印。所以整个软件的核心在于其串行数据的接收及发送。
2.2.1 Windows硬件访问机制
Windows操作系统的机制禁止应用程序直接访问硬件,但它提供了丰富的API函数,可以支持大多数的硬件和协议,并隐藏了许多底层的处理,为编程人员编制程序提供了方便,免除了编程人员对有关硬件的调试麻烦。但是利用API进行串口通讯编程较为复杂,需要掌握大量的通讯知识,相比较下利用组件进行程序开发则较为方便。而大多数开发语言的编程环境均支持组件,Delphi亦是如此。
Delphi的串口通讯需要利用第三方开发的组件,使用免费的组件CommDriver,其包含了串口通讯需求的基本操作。
2.2.2 开发步骤
1)需要利用组件对串行口的基本参数进行设置,这些参数的设置均可以通过组件的属性进行设置:ComPort为串口号设置,此组件仅支持4个串口号的设置,而这在一般的应用中足够了,这一属性设置可以通过选择列表进行设置;ComPortDataBit用于设置数据位数,根据测试仪器的通讯设置进行选择,一般应用中使用8 bit;ComPortSpeed用于设置波特率;ComPortParity用于设置校验位;ComPortStopBit用于设置停止位。这些参数需要根据测试仪器情况,设置成与之相对应的数据,而其他参数可以使用默认设置等。由于开发的针对性以及仪器本身设置的固有属性,所以这些基本参数无需作为软件使用用户的设置项出现,可直接设定好固化在软件中。
2)采用如下步骤进行串口数据的接收和发送:
①利用组件的Connect事件打开串口通讯;
②进行数据的接收和发送,CommDriver接收数据是通过ReceiveData事件执行的,当接收到数据后需要将其进行缓存,通过对缓存的数据进行分析处理来实现对仪器的数据解析,发送数据通过SendData事件来完成;
③使用组件的DisConnect事件来关闭串口。
然后,再根据用户的操作习惯进行相关的界面的编程即可实现对测试仪器的访问。
2.3 程序主要源代码
接收串行数据源码:利用串行组件的接收事件(Receive Data)来处理串行口的数据接收。
串行口接收数据处理源码(部分):
为了保证仪器串口发送的数据能及时得到PC的响应处理,将通过组件接收的存放在缓冲区中的数据,按照测试仪器的发送时间要求,将其在定时器事件中进行处理。
仪器参数设置源码(部分):这部分代码是向仪器写控制参数,可以通过菜单或者按钮来实现。
2.4 软件实现后的界面
3 结束语
利用第3方控件进行串行通讯的PC软件开发,不仅缩短了编程人员的开发时间,而且也利于软件的调试、维护,开发者仅需了解基本的通讯知识,通过简单的代码编程设嚣即可完成相关功能。同时,用户通过软件操作可以省去复杂的仪器设置操作,也为测试仪器的有效利用以及测量数据的电子化提供了便利。