文章介绍了计算机与称重显示仪进行串口通讯的具体实现方法,并将该方法应用于称重管理系统的开发。实践证明 此系统在实际应用中性能稳定,效果良好。
随着计算机通讯技术的发展,越来越多的仪器、设备通过 运用计算机通讯技术实现了与微机直接互联,充分利用微机 强大的软硬件资源使仪器、设备的功能得以扩展。本文介绍的称重管理系统就是通过称重显示仪与计算机进行串口通讯从 而实现了称重的自动化、票证管理的现代化以及票证信息的 网络资源共享。
一、系统的结构概述
(一)系统硬件组成
本系统硬件由称重显示仪、微机、通讯电缆及打印机等构 成。结构框图如图1所示。
从图1可知当汽车在称板上停稳后,汽车衡的压力传感器将压力弹性形变转换成330mv的电信号,并传送给称重显 示仪表,仪表对输入的电信号进行调理、放大、A/D转换等处 理后,最后送到计算机串口,称重管理系统对数据进行软件处 理,最终形成所需的磅单并进行票证打印。计算机通过网卡上 企业内部ERP网,从而实现票证信息的网络资源共享。
(二)通讯接口的连接
计算机与称重显示仪通过3根线进行串口数据通讯。连 线如下图2所示。
二、串口通讯方法及其实现
目前,使用的大多数仪表本身均带有两种通讯接口,一个 是打印机并口,另一个是通用的标准RS-232串口。由于串口 与并口相比有许多优点,如:RS-232串口硬件电路简单,只要 使用MAX232等芯片进行上位机RS-232电平到下位机TTL 电平的转接即可。其次,在RS-232协议规定的传输距离(50 英尺)内,传输可靠性很高而且不易受到干扰。
基于以上串口的优点,所以目前使用的大多数仪表在与 微机通讯时,比较常用的方法还是通过RS-232串口来实现与 微机的通讯。串口通讯作为一种灵活、方便、可靠的数据传输 方式在工业现场中运用十分广泛.
三、通訊程序的設計
(一)MSComm控件的介绍
MSComm 控件(即 Microsoft Communications Control 的 简称)是Microsoft公司提供的简化Windows下串行通信编程 的ActiveX控件,它为应用程序提供了串行通讯功能,为应用 程序提供了通过串行接口收发数据的简便方法。MSComm控 件对串行通讯有两种处理方式:一是利用事件驱动方式:利 用?MSComm控件的ONCOMM事件捕获并处理通讯错误及事 件。另一种是使用查询方式,通过查询Comm Event属性的值 来判断事件和错误。
(二)MSComm控件的常用属性
1.CommPort属性:设置并返回通讯端口号,必须在打开端 口之前设置CommPort,本例设为1,即Com1。
2.Threshold属性:设置并返回的要接收的字符数。
3.Settings属性:设置波特率、奇偶校验、数据位、停止位。
本例设为“4800,n,8,1 ”,该参数要与仪表串口的设置保持一 致,否则不能通讯。
4.PortOpen属性:设置并返回通讯端口的状态。也可以打 开和关闭端口。
5.Inputlen属性:从接收缓冲区读取的字符数,设置In- putLen值为“0”时,使用“Input”将使“MSComm”控件读取接收 缓冲区中全部的内容。
(三)具体实现方法
由于PB中没有直接控制计算机串口的控件,可以利用OLE 调用Mscommocx控件,来解决PB中的通信控制问题。控件的属 性设置可以在程序中使用编码设置,这样更加便于控制。
在窗口 OPEN事件中编程:
在窗口上添加该控件,名称为OLE—comm,先设置 OLE—comm的属性。
ole_comm.object.commport=1
ole_comm.object.settings="4800,n,8,1"ole_comm.object.PortOpen=true ole_comm.object.rthreshold= 24 ole_comm.object.inputlen=24 ole_comm.object.inputmode=0
在OLE—comm控件的Oncomm事件里添加程序代码,(以 下是部分程序代码) string ls—t,ls—t1
choose case ole_comm.object.commevent case 2
ole_comm.object.Rthreshold=0 int ii
int w1,w2,w3,flag1,flag2,t1,t2,t3 string a1,a2,a3
ls—t = ole—comm.object.input for ii=1 to 24
flag1 = asc(mid(ls_t,ii,1)) //取字节的数值
if flag1 = 2 then //判断是否为起始位
ii=ii+2
st_1.text=string(long(mid(ls_t,ii,6)))
ii=24
end if
end choose
四、称重管理系统的实现
配套开发的称重管理软件运行于Windows98及以上平 台,用功能强大的开发工具PB和Oracle编程实现。
系统主要功能即将汽车衡称量出的车辆的各种重量数 据,通过称重管理系统的处理,实现自动打印所需磅单及各种 统计报表。再通过企业内部完善的ERP管理信息系统,实现 票证信息的网络资源共享。
本称重管理系统由六个独立的功能模块组成。分别为:称重、数据管理、统计报表、词组预制、系统配制及系统退出模块.
六个模块的功能分别为:
1.称重子菜单功能:实现数据采集,可以称取货物的重量, 一次是皮重,一次是毛重,无先后顺序,系统自动识别。
2.数据子菜单功能:可以实现对皮重库、未完车辆、称重数 据以及作废数据进行浏览,还可以清除数据、备份数据、恢复 数据、以及导出数据。
3.统计报表子菜单:对皮重库表、详细清单可按日、周、月、 季、年进行灵活统计、多重查询。
4.词组预置子菜单:对货车车牌、货物名称、货物价格、发 货单位、收货单位及运输单位名称预先输入。
5.系统配置子菜单:对磅单格式、联数以及其它参数进行 设置,还可更改口令、设置管理员、设置操作员及配置串行口。
6.退出系统:可重新登录或退出系统。
五、结语
在计算机高速发展的今天,要将计算机强大的功能运用 于实际生产中,数据采集是关键,只有仪器、仪表与计算机之 间能通讯、将仪表检测结果采集入计算机,才能运用软件编程 的方法,实现计算机控制及计算机管理。
本文具体介绍了关于串口通讯的各方面的知识及其具体 实现方法,虽针对称重管理系统实现的,但对具有标准RS- 232串口的仪器、设备要实现与微机进行串口通讯,本文介绍 的方法具有通用性。此系统在实际生产中运用效果良好且系 统运行十分稳定。