基于Delphi的电子天平数据采集系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于Delphi的电子天平数据采集系统设计摘要:针对通过串口将称量数据发送到计算机中的电子天平系统,在计算机中用Delphi设计一个串口数据采集接口,通过该接口系统能够将数据实时显示,并能够将天平的重量数据保存至SQL数据库,从而实现了对重量数据进行数据管理的功能。关键词:DELPHI;电子天平;串口通信0引言电子天平是实验中经常用到的一种实验设备,随着实验精度的提高和电子技术的发展,现在实验中越来越多地使用电子天平。在进行实验的过程中,常会遇到需要对重量数据实现自动采集、实时显示、换算、统计分析、溯源等问题。大部分电子天平除了本机的显示屏以外,还配有串行接口,通过此接口输出天平的工作状态及实时的重量数据。因此可以通过对此端口的数据帧进行分析解读,得出天平的工作状态和重量数据信息等。这就需要在上位机中设计相应的串口通信程序,用来解读电子天平的数据信息。为了使串口通信程序的界面具有友好人机接口、正确完善的功能,本文采用DELPHI开发上位机通信界面,实现电子天平重量数据的实时显示和记录。1.电子天平本设计采用的电子天平是北京联合科仪科技有限公司制造的梅特勒-托利多XS4001SX精密电子天平,该天平的最大称量范围为4100.0g,其灵敏度为0.01g,以6位十进制数的方式进行显示。该电子天平具有RS232通信功能,其串口的波特率可通过电子天平的界面进行设置,其默认的串口波特率为9600,其串口的通信格式如下:RS232C接口的规格接口类型:符合EIARS-232C/DIN66020(CCITTV24/V.28)的电压接口连接器:Sub-D,9极,凹口工作方式:全双工传输方式:位-串行,异步传输代码:ASCII波特率:600、1200、2400、4800、9600、19200、384001)(固件可选)位/奇偶校验:7-位/偶,7-位/奇,7-位/无,8-位/无(固件可选)停止位:1个停止位联络信号:无,XON/XOFF,RTS/CTS(固件可选行尾:CRLF,CR,LF(固件可选)RS232串口数据通信接口:针脚2:天平发送线(TxD)针脚3:天平接收线(RxD)针脚5:接地信号(GND)针脚7:清除发送(硬件联络信号)(CTS)针脚8:请求发送(硬件联络信号)(RTS)串口连接线的制作方法凹凸电子天平上位机235532绿绿白棕棕绿白绿梅特勒电子天平串口设置方法外围设备设置:系统-外围设备-主机:设为“内置RS232”(波特率设置为9600pd),其它默认。数据发送格式:选择PM天平数据传输格式。数据发送方式:3/3页中设置:Continuousmode=on(Define)设置为自动发送所有值。数据重复发送时间:更新/sec设置为2秒。2.DELPHI的程序设计DELPHI是由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了MicrosoftWindows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言、当今世界上最快的编译器、最为领先的数据库技术。2.1MSComm串行通信本设计采用了MSComm组件作为一个串行通讯控件接收梅特勒电子天平发送的数据帧,实现对串口设置、串口写、串口读等功能。程序员串口通讯编程,节省了很多时间。首先在Delphi中加入该控件:打开“Project-AddToProject-ComponentsandControls-RegisteredActivexControls”(工程/部件/控件),然后选择控件:MicrosoftCommunicationControl,version6.0(MicrosoftCommControl6.0)插入到当前的工程中。系统注册控件:开始-运行Regsvr32C:\WINDOWS\system32\Mscomm32.ocx,编程时MSComm控件可以作为组件使用了。首先对MSComm串口初始化,procedureTForm1.FormCreate(Sender:TObject);beginifMSComm1.PortOpenthenMSComm1.PortOpen:=false;//关闭串口MSComm1.CommPort:=2;//设置端口2MSComm1.InBufferSize:=256;//设置接收缓冲区为256个字节MSComm1.OutBufferSize:=256;//设置发送缓冲区为256个字节MSComm1.Settings:='9600,n,8,1';//9600波特率,无校验,8位数据位,1位停止位MSComm1.InputLen:=0;//读取缓冲区全部内容(32个字节)MSComm1.InBufferCount:=0;//清除接收缓冲区MSComm1.OutBufferCount:=0;//清除发送缓冲区MSComm1.RThreshold:=32;//设置接收32个字节产生OnComm事件MSComm1.InputMode:=comInputModeBinary;//二进制方式MSComm1.PortOpen:=true;//打开端口end;2.2接收字符实时显示和上传SQL数据库Delphi采用串口事件驱动接收字符串,一次性接收一个数据包(MSComm.Input),对数据包通过字符串函数Copy、Trim处理后,提取重量值。通过Timer1控件的Ontimer事件实时重量值。通过ADOQuery控件将数据上传至SQL数据库,按实验室业务和标准进行数据的后续处理。具体实现代码如下:读取串口字符串procedureTForm_main.MSComm1Comm(Sender:TObject);begincaseMSComm1.CommEventofcomEvReceive:beginget_weight:=MSComm1.Input;end;end;end;提取重量值并实时显示procedureTForm_main.Timer1Timer(Sender:TObject);beginedit2.Value:=trim(copy(get_weight,6,8));end;2.3串行接口程序的流程框图针对所使用的电子天平,为了正确解读串口数据,我们提出了如图1所示的数据分析程序流程图:NY图1串口解读程序流程图3.系统测试通过串口数据线将电子天平与计算机连接,在上位机运行所编写的接口程序实现重量的实时显示,若重量过载时将视为非法数据不能录入系统,对正常数据按业务流程进行恒重、平均、配置串口是否打开打开串口接收数据提示连接失败s错误实时显示更新数据库数据后续处理上传数据库等后续处理,便于以后对数据的溯源、统计分析。程序界面如下在:4.结束语本文设计的重量数据采集系统,与电子天平之间采用了最简单的无握手串口通讯,实现在上位机界面中直观、方便地显示并记录重量数据,为后续的数据处理程序创造了条件。在实际应用过程中运行稳定、记录方便,可被应用于实验室、测控等领域。参考文献[1]郭瑞军崔建华,Delphi串口通信工程开发实例导航.人民邮电出版社2004.1.[2]RS-232/485串行通信说明书范逸之清华大学出版社

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功