基于Delphi的电子天平数据采集系统设计_第1页
基于Delphi的电子天平数据采集系统设计_第2页
基于Delphi的电子天平数据采集系统设计_第3页
基于Delphi的电子天平数据采集系统设计_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于Delphi的电子天平数据采集系统设计摘要:针对通过串口将称量数据发送到计算机中的电子天平系统,在计算机中用Delphi设计一个串口数据采集接口,通过该接口系统能够将数据实时显示,并能够将天平的重量数据保存至SQL数据库,从而实现了对重量数据进行数据管理的功能。关键词:DELPHI;电子天平;串口通信 0引言电子天平是实验中经常用到的一种实验设备,随着实验精度的提高和电子技术的发展,现在实验中越来越多地使用电子天平。在进行实验的过程中,常会遇到需要对重量数据实现自动采集、实时显示、换算、统计分析、溯源等问题。大部分电子天平除了本机的显示屏以外,还配有串行接口,通过此接口输出天平的工作状态及

2、实时的重量数据。因此可以通过对此端口的数据帧进行分析解读,得出天平的工作状态和重量数据信息等。这就需要在上位机中设计相应的串口通信程序,用来解读电子天平的数据信息。为了使串口通信程序的界面具有友好人机接口、正确完善的功能,本文采用DELPHI 开发上位机通信界面, 实现电子天平重量数据的实时显示和记录。1. 电子天平 本设计采用的电子天平是北京联合科仪科技有限公司制造的梅特勒-托利多XS4001SX精密电子天平, 该天平的最大称量范围为4100.0 g,其灵敏度为0.01g,以6位十进制数的方式进行显示。该电子天平具有RS232通信功能,其串口的波特率可通过电子天平的界面进行设置,其默认的串口

3、波特率为9600,其串口的通信格式如下: RS232C 接口的规格接口类型: 符合 EIA RS-232C/DIN 66020 (CCITT V24/V.28) 的电压接口连接器: Sub-D,9 极,凹口工作方式: 全双工传输方式: 位-串行,异步传输代码: ASCII波特率: 600、1200、2400、4800、9600、19200、)(固件可选)位/奇偶校验: 7-位/偶,7-位/奇,7-位/无,8-位/无 (固件可选)停止位: 1 个停止位联络信号: 无,XON/XOFF,RTS/CTS (固件可选行尾: , (固件可选)RS232串口数据通信接口: 针脚2: 天平发送线 (TxD)

4、 针脚 3: 天平接收线 (RxD)针脚 5: 接地信号 (GND) 针脚 7: 清除发送 (硬件联络信号)(CTS) 针脚 8: 请求发送 (硬件联络信号)(RTS)串口连接线的制作方法凹 凸电子天平 上位机 2 3 5 5 3 2绿 绿白 棕 棕 绿白 绿梅特勒电子天平串口设置方法外围设备设置:系统-外围设备-主机:设为“内置RS232”(波特率设置为9600pd) ,其它默认。数据发送格式:选择PM天平数据传输格式。数据发送方式:3/3页中设置:Continuous mode=on(Define)设置为自动发送所有值。数据重复发送时间:更新/sec设置为2秒。2. DELPHI的程序设计

5、DELPHI是由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了MicrosoftWindows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言、当今世界上最快的编译器、最为领先的数据库技术。2.1 MSComm串行通信本设计采用了MSComm组件作为一个串行通讯控件接收梅特勒电子天平发送的数据帧,实现对串口设置、串口写、串口读等功能。程序员串口通讯编程,节省了很多时间。首先在Delphi中加入该控件:打开“Project-Add To Project-Components and

6、 Controls-Registered Activex Controls”(工程/部件/控件),然后选择控件:Microsoft Communication Control,version 6.0(Microsoft Comm Control 6.0)插入到当前的工程中。系统注册控件:开始-运行Regsvr32 C:WINDOWSsystem32Mscomm32.ocx,编程时MSComm 控件可以作为组件使用了。首先对MSComm 串口初始化,procedure TForm1.FormCreate(Sender: TObject); begin if MSComm1.PortOpen th

7、en MSComm1.PortOpen := false;/关闭串口 MSComm1.CommPort := 2;/设置端口2 MSComm1.InBufferSize := 256;/设置接收缓冲区为256个字节 MSComm1.OutBufferSize := 256;/设置发送缓冲区为256个字节 MSComm1.Settings := 9600,n,8,1;/9600波特率,无校验,8位数据位,1位停止位 MSComm1.InputLen := 0;/读取缓冲区全部内容(32个字节) MSComm1.InBufferCount := 0;/ 清除接收缓冲区 MSComm1.OutBuf

8、ferCount:=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数据库,按

9、实验室业务和标准进行数据的后续处理。具体实现代码如下:读取串口字符串procedure TForm_main.MSComm1Comm(Sender: TObject);begin case MSComm1.CommEvent of comEvReceive: begin get_weight := MSComm1.Input; end; end;end;提取重量值并实时显示procedure TForm_main.Timer1Timer(Sender: TObject);begin edit2.Value := trim(copy(get_weight,6,8);end;2.3 串行接口程序的流程框图针对所使用的电子天平,为了正确解读串口数据,我们提出了如图1所示的数据分析程序流程图:实时显示打开串口是否打开配置串口 提示连接失败 s错误 NY 接收数据 更新数据库数据后续处理 图1 串口解读程序流程图3.系统测试通过串口数据线将电子天平与计算机连接,在上位机运行所编写的接口程序实现重量的实时显示,若重量过载时将视为非法数据不能录入系统,对正常数据按业务流程进行恒重、平均、上传数据库等后续处理,便于以后对数据的溯源、统计分析。程序界面如下在:4.结束语本文设计的重量数据采集系统,与电子天平之间采用了最简单的无握手串口通讯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论