称重管理系统串口通讯设计与实现

时间:2022-07-24 01:25:37

称重管理系统串口通讯设计与实现

摘要:文章结合称重管理系统,介绍计算机与显示仪表串口通讯的实现方法及汽车衡称重管理系统的具体实现。

关键词:汽车衡;串口通讯;显示仪表

Abstract: this paper combine with the weight management system, introduced communication method of computer and display instrument serial and truck scale weighing system.Key words: Truck; serial communication; display instrument

中图分类号:TP31文献标识码:A文章编号:2095-2104(2012)02-

在现代企业的生产销售过程中,电子汽车衡在称重环节中得到了广泛的应用。大多数厂家生产的汽车衡都有配套的企业业务管理软件,但通常和企业的实际业务需求有较大出入,只能实现简单的重量显示和打印功能。采用这种方式效率低下,无法充分发挥设备的功效,更不能满足现代企业管理信息化的需求。所以许多厂家通常需要结合自身的业务特点对购买的汽车衡设备进行二次开发,本文以称重管理系统为例,介绍如何通过称重仪表与计算机进行串口通讯从而实现了称重的自动化、票证管理的现代化以及票证信息的网络资源共享。

一、系统结构

根据称重管理系统,设计出如下的系统结构图:

图 1系统结构图

单一磅房硬件连接如图2:

图 2磅房硬件结构图

当运输设备在汽车衡上停稳后,汽车衡的压力传感器将压力弹性形变转换成3~30V的电信号,并传送给称重显示仪表,仪表对输入的电信号进行调理、放大、A/D转换等处理后,最后送到计算机串口,在计算机上对获取到的数据流进行加工、处理后,形成称重数据,最终形成所需的磅单并进行票据打印。并将数据传到数据库服务器上,从而在整个企业内部网内实现称重数据的传递与共享。

二、串口连接与串口通信的实现

(一)串口的基本连接方法

现在大多数的仪表本身带有两种通讯接口,一个是打印机并口,另一个是通用的标准RS-232串口。由于串口和并口相比有许多优点,如:RS-232串口硬件电路简单,只要使用MAX232等芯片进行上位机RS-232电平下位机TTL电平的转接即可。其次,在RS-232协议规定的传输距离(50英尺)内,传输可靠性很高且不易受到干扰。

目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时,可以用电缆线直接连接标准RS232端口(RS422,RS485较远),需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三线对应相连,表1中给出三线制接法各引脚的连接法,本系统中采用的是计算机的9针串行通讯口与称重仪表的25针串行通讯口相连。

(二)串口通信的实现

本系统采用Delphi作为开发工具,实际中无论采用何种编程语言,实现串行通信的方法主要有以下几种:

1.利用Windows API通信函数。

2.利用标准通信函数,如:inp( )、inpw( )、inpd( )、outp( )、outpw( )、outpd( )等直接对串行口进行操作。

3.使用Microsoft通信控件MSComm。

4.利用第三方编写的通信控件类,如SPComm、Cserial等。

5.自行开发通信控件。

在几类方法中,第一种使用面较广,但由于比较复杂,专业化程度高,使用较困难;第二种需要了解硬件电路结构原理;第三种方法通用性较强,开发难度低;第四种使用也较多,但安装通信控件类比较复杂;第五种使用面较窄,要根据自身的实际情况去编写。结合上述特性和Delphi开发环境的特点,本系统利用MSComm控件去实现串口通讯。

三、通讯程序的设计

(一)MSComm控件简介

MSComm控件(即Microsoft communications control)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,这为应用程序提供了串行通讯功能,为应用程序提供了通过串行接口收发数据的简便方法。它可以作为第三方控件安装到Delphi中。

MSComm控件有查询和事件驱动两种通信方式。

(二)MSComm控件的常用属性和方法

使用MSComm控件的第一步是建立与串行端口的连接。

Input、Output属性可以传输文本数据或二进制数据。

Setting。设置或返回串口通信参数,格式为字符串形式:“波特率,奇偶校验位,数据位,停止位”。例如:MSComm1.Setting:=′9600,N,8,1′

PortOpen。设置或返回通信端口的状态,以及打开或关闭串行端口,格式为:MSComm1.PortOpen:={True|False}

InBufferSize。设置或返回接收缓冲区的大小,缺省值为1024Bytes。

OutBufferSize。设置或返回发送缓冲区的大小,缺省值为512Bytes。

InBufferCount。返回接收缓冲区内等待读取的字节数,可通过设置该属性为0来清空接收缓冲区。

OutBufferCount。返回发送缓冲区内等待发送的字节数,可通过设置该属性为0来清空缓冲区。

InputLen。设置或返回接收缓冲区内用Input读入的字节数,设置该属性为0表示Input读取整个缓冲区的内容。

Input。从接收缓冲区读取数据。类型为Variant。

OutPut。向发送缓冲区写数据。类型为Variant。

Input、Output属性可以传输文本数据或二进制数据。用Output属性传输文本数据,必须预先定义一个字符串,并传递一个包含字节数组的Variant到Output属性。正常情况下,如果发送一个ANSI字符串到应用程序,可以以文本数据的形式发送。如果发送包含嵌入控制字符、Null字符等的数据,要以二进制形式发送。用Input属性接收数据时,必须要有接收缓冲区数据的字符串。如果在通信过程中发生错误或事件,就会触发OnComm事件,并由CommEvent属性代码反映错误类型,在通信程序的设计中可根据该属性值来执行不同的操作。

四、称重管理系统的具体实现过程

(一)系统功能模块的设计

称重功能模块:实现称重数据的采集,将仪表中的数据读入计算机,一次是毛重,一次是皮重,由系统自动计算出净重,并将相应的信息以票据的形式打印出来,一份交售货人,另一份留底。

基本信息管理模块:主要包括售货人的基本信息、产品信息,司磅员信息,验收人信息以及系统管理的不同权限的用户信息的管理,即信息的增、删、改。

财务结算模块:主要是根据售货人所持票据,在系统中调出相应的信息、并进行付款结算。

信息统计功能:对毛重、皮重、净重、总付款、已付款、未付款和售货人等信息进行按时间段进行灵活的统计和多口径的查询。

系统配置模块:对磅单格式、货物单价、配置串行口及起它一些默认参数进行设置、更改。

权限管理模块:可根据实际需要,由管理员动态设置不同类型权限等级,并设置相对应权限的用户。

退出系统:可注销、重新登陆和退出系统。

(二)数据库管理系统

由于本系统在网络环境下进行动作,一般小型数据库不能满足需要,需要大型的网络数据库,鉴于本系统在Windows平台上运行,故选用Microsoft公司开发的SQL Server数据库管理系统,它具有很多优点,故本系统选用SQL Server 2000数据库管理系统,并安装在数据库服务器上。

(三)代码的编写

根据软件工程的思想,在系统开发前期设计工作完成后,接下来就是系统的具体实现,其中重要一步为代码的实现,在代码实现过程中,要力求代码的简略、易懂,并保证较高的程序执行效率。

(四)系统的测试

程序设计完毕,就进入了系统的测试阶段,这一阶段至关重要,只有经过测试的系统,才能真正投入到实际的生产管理中,我们根据用户在实际使用中发现的问题和要求,不断对系统进行改进,力求完善,让用户满意。

五、结束语

系统投入使用后,极大的提高了计量速度与生产管理效率,并且扩展性较好,随着生产规模的不断扩大,可以增加多个磅房,达到并超过了原设计能力,具有良好的经济效益。整个系统具有较高的实用价值和推广的应用价值。

注:文章内所有公式及图表请以PDF形式查看。

上一篇:结构计算模型与结果审核分析探讨 下一篇:FCGK-1型强效防蜡导流装置在濮城油田的应用