您当前的位置:首页>>新闻中心>>行业动态

运输场地磅称量系统设计与实现

时间:2019-01-22 14:06:02   点击数:

地磅称量系统通过RS232串口实现地磅称量设备与计算机之间的数据通信.利用Win-dows API函数实现串口编程,完成称量数据采集.与后台数据库交换数据,实现对地磅称量数 据的实时显示、自动采集、安全存储、多方式查询、统计汇总和打印输出等工作,最大限度地防 止舞弊行为的发生.

安置在地面以下称量较大吨位的称叫地磅, 专用于称量汽车的地磅又称为汽车衡.地镑属于 衡器的一种,是厂矿、商家等用于大宗货物计量的 主要称重设备,广泛应用于林业、煤炭、冶金、电 力、港口、仓储等行业[12].黑龙江省鹤北林业局 使用电子汽车衡称量系统进行木材检验控制,不 仅保证了检验质量及检验速度,减少了人为检验 误差,还提高了劳动生产率,获得了显著的经济效 [3].在我国,许多运输场采用地磅仪表显示计量 数据,司磅员手工填写单据、报表的人工操作,工 作安全性差,容易出错,效率低,难以快速统计,不 能满足生产经营的要求.当前,用户对用衡器完成 测管控称一体化功能的要求日益高涨,称重技术 得以与控制系统和信息管理系统同步发展,实现 了衡器管理的计算机化、网络化和智能化.

针对国内地镑系统自动化程度应用不高的现状, 通过开发一套地磅称量计算机管理系统,将称量设 备、if賓机、数据库有效地结合起来,实现称量信息的 自动采集、自动处理,最大限度地防止舞弊行为的发 生,为企业的现代化管理提供有力的帮助.

1.系统目标

通过项目实施使地磅称量设备与计算机连 接,通过计算机软件编程读取称量设备数据,与后 台数据库交换数据,实现对称量数据的实时显示、 自动采集、安全存储、多方式查询、汇总统计和打印 输出等工作.根据企业管理上的要求,所设计的称 量管理软件需达到以下几个目标:符合运输场的业 务流程和要求,程序流程清晰、严密;获取称重数据 快速、准确;操作简便,自动化程度高,能有效防止舞 弊行为;数据查询、报表制作方便快捷;系统长时间 运行稳定可靠;数据安全性和可靠性高.

2.需求分析

2.1运输场硬件条件

运输场硬件要求:1台地磅;1台计算机(能流 畅运行Win98及其以上操作系统,100 M以上硬盘 剩余空间);1个条码阅读器;1台打印机.

2.2运输场称量业务流程

运输场称量业务流程:重车上磅,记录重车质 ;重车下镑,到指定地点卸货并领取回执单;空车 上磅,交回回执单并记录空车质量;空车下磅,结束.

2.3功能分析

根据运输场的条件和要求,项目开发的地磅 称量系统主要功能包含:称量数据自动采集;历史 称量数据维护;多方式查询;报表统计及打印;代 码维护;系统参数设置;用户权限设置;数据备份 与恢复.同时,为将来网络化环境中实现数据共享 预留接口.

2.4系统功能详细设计

根据功能分析,地磅称量系统主要包含称量数 据管理、系统设置两大模块,系统总体结构见图1.

001.jpg

称量数据管理:主要是对称量数据进行管理,包 称量数据采集称量数据维护报表打印”、 数据备份数据恢复5个子模块.

称量数据采集”用于自动采集车辆称量数据-

称量数据维护”用于维护车辆称量历史数 据,可以对称量数据进行添加、修改、删除、査询、统计 等操作.

报表打印用于打印年报表、月报表、临时 报表和回执卡.

数据备份”用于将系统数据备份到指定的 文餘

数据恢复”用于从指定文件夹恢复系统数

.

系统设置:主要用于维护系统,包含“员工信息 维护车辆信息维护系统参数设置”、“通信参 数设置操作员管理更改密码6个模块.

员工信息维护用于维护员工信息,可以 对员工信息进行添加、修改、删除等操作

车辆信息维护用于维护车辆信息,可以 对车辆信息进行添加、修改、删除等操作?

系统参数设置用于设置系统参数,如地 磅无车的判定质量、月报表的开始和结束时间等.

通信参数设置”用于设置地磅的通信参数 和称量数据格式,如串口号、波特率等.

操作员管理用于系统操作员的管理,包 括添加、删除操作员,授予操作员权限等.

更改密码用于更改当前用户的登录密码.

3.数据库设计

数据库设计Database Design)包括数据库设 计和数据库应用系统设计两个方面,在设计过程 ,应把数据库的结构设计和数据处理的操作设 计紧密结合起来,相互参照和相互补充地磅称

量系统的数据库结构设计按以下步骤进行:

根据已收集的原始数据和系统设计需 要,确定系统应包含的数据表.

确定数据表应包含的数据项和这些数据 项的定义,如内容、长度、类型等.

按照 3NF(Third Normal Form)标准对数 据表进行标准化,即表内的每一个值都只能被表 达一次.表内的每一行都应该被唯一标识(有唯一 ).表内不应该存储依赖于其他键的非键信息.

由于标准化可能给数据库引人太高的复 杂性,降低系统效率,因此需要对数据表结构进行 调整,允许数据适量冗余,使其在性能、扩展性和 数据完整性方面达到最好的平衡.

建立数据字典.数据字典是数据库应用 设计的重要内容,它是描述数据库中各数据属性 与组成的数据集合,在数据库的整个生命周期里 都起着重要的作用.

地磅称量系统包含的主要数据表及其用途见 1,系统实体-联系图(E-R)见图2.

002.jpg

4.系统实现

地磅称量系统包括称量设备与计算机的通信 和称量数据管理的MIS系统两部分.称量设备通 过RS232串口与计算机的串口连接,并向计算机 的串口发送数据;MIS系统定时扫描串口获取数 据,经格式转换后通过事件驱动调用相关模块对 数据进行处理.

4.1硬件组成

系统硬件组成框图见图3.

003.jpg

4.2开发工具与数据库管理系统选择

前端开发工具采用PowerBuilder;后台数据库 管理系统采用 ASA 7.0 ( Adaptive Server Any-where). 当局域网建成后,可采用SQLServer2000 等大中型数据库管理系统作为后台数据库管理系 统,以获得更高的数据安全性和实现网络环境中 的数据共享.

4.3关键技术

数据通信与采集的实现是系统实现的关键. 串行通信因其线路简单,开发相对比较容易,所以 经常应用于各种监控、测试和自动化设备中.系统 中,称量设备与计算机之间通过RS232串口连接, 数据通信的核心就是如何实现串口编程,通过串 口进行数据通信,从而实现数据的采集.Win-dows 环境下,不能直接对硬件进行读写,实现串口 编程一般采用以下两种方法:一是利用Windows 本身提供的通信API函数;二是利用微软公司提 供的通信控件MSComm.关于利用MSComm控件 实现串口编程的方法前人做了很多研究Ue-1416] 本文给出了对串口进行读写的一种简化步骤,降 低了程序的复杂性.下面是利用Windows API函数 实现串口编程的程序实现U5-17].

外部函数定义

Windows API函数在PowerBuilder中使用之前 必须先声明为外部函数,下面是系统中用到的 Windows API函数的声明:

Function Boolean CloseHandle (ulong hOb- ject ) Library "kemel32.dll" //关闭串口

FUNCTION Boolean ReadFile(ulong fhand, ref blob lpbuffer, ulong numbyte, ref ulong bytes- read, ulong lpover) LIBRARY ” kemel32, dll" // 取串口数据

(3 ) FUNCTION ulong CreateFileA ( ref stringfname, ulong faccessulong f—shareulong f_sec ulong fcreateulong f_flag, ulong f_attrib) LI-BRARY "kemel32.dll" //打开串口

Function Boolean WriteFile(uLong handle, ref blob lpbuffer, ulong numbytes, ref ulong bytes- read, ulong lpOverLaped) Library M Kemel32. dll” //写人串口数据

Function Boolean GetCommProperties(ulong hFileref COMMPROP lpCommProp ) Library " Ker- neB2. dll” //返回COMM设备属性

(6 ) Function Boolean BuildCommDCBA ( ref string lpDefref DCB lpDCB ) Library " Kemel32. dll" //DCB中传送设备定义字符串

(7 ) Function Boolean SetCommState ( ulong hCommDev, ref DCB lpdcb ) Library "Kemel32. dll” //设置串口状态

(8 ) Function Boolean GetCommState ( ulong hCommDev,ref DCB lpdcb ) Library "Kemel32, dll” //读取显示设置参数

(9 ) Function ulong GetLastError ( ) Library "Kemel32.dll" //返回扩充出错代码

(10) Function Boolean SetCommTimeouts ( ulong hCommDev, ref COMMTIMEOUTS lpctmo ) Library M Kemel32. dll" //设置通信读写时间范围

(11 ) Function Boolean PurgeComm ( ulong hCommDevulong fdwAction ) Library ?? Keme!32. dll” //消除通信队列

Windows API通信函数的串口通信程序实 现方法在Windows系统中,串行通信是作为文 件读写来处理的,其串口读写的一般过程为:

配置串口 ■—?串口读写关闭串口

打开串口.Windows环境下,使用Cre-ateFileA 函数打开串口,若成功打开则串口通信端 口即可使用,并返回一个Handle值,程序中将使用 Handle值进行相关的串口操作.

配置串口.包括初始化端口、设置DCB 构和设置超时值.使用SetCommState函数设置串 口状态,包括波特率、字节长度、校验位、停止位;使用SetCommTimeouts函数设置超时值.

串口读写.Windows环境下对串口的读写 长用ReadFile函数和WriteFile函数.读写方式有 两种:重叠模式和非重叠模式(或称为异步模式和 司步模式).

串口关闭?串口使用完毕,应使用Close- landle函数关闭串口,释放串口资源.

004.jpg

根据运输场称量业务流程,称量数据采集模 弁主要程

系统设置了自助査询功能.当地磅上无车时, 吾工在称量数舍采集窗口中输入员工编号使用 君工卡,通过条码阅读器输人),已完成数据”栏 户只显示该员工当天的所有记录,方便员工查阅? 为了防止作弊行为发生,系统在程序流程中 3;置了一些检查。

iD称重时,必须是前 >,妁质量值小于设定的称 (缸系统参数设置模块设置时,下 上地磅,否则系统会认为员工企#重复 数据而拒绝接受数据.

$防止员工通过各种手段增,重 或减少空量来提高净质值,系统通过工信息表和#信息表,查询该车型的_ 限和空车上下与称量数据比较,判断车^ 于重车状态还是#状态.系统拒绝接收不: 的称量数据,并显示栩应信息提示员工.

系统设置了两次称重车的间隔时间? 果两次称重车的时间间陶、小于设定的间隔时间 (在系统参数设置模块设置系统拒绝接受后一 次称量的数据,并显示相应信示员工?

员工在称量空车时,员工编号后,需要输入卸货时获得的回执卡卡重车数据、空 车数据和回执卡号齐全,记录才会~加到称量 信息表中,并参与统计汇总(计算工作夂?

5.结束语

地磅称量系统将称量设备、计算机、数据效地结合起来,实现了对称量数据的实时显示 动采集、安全存储、多方式查询、汇总统计和打印 输出等工作,为运输场运力调节提供科学、准确、 及时的数据.同时还减轻了工作人员的劳动强度, 提高了工作效率和经济效益,最大限度地防止舞 弊行为的发生,在企业的生产和管理中发挥了积 极作用.

地磅称量系统从硬件、软件和通信等方面进 行了研究设计,其结构简单实用,操作简便,安全 可靠,具有较好的通用性、开放性、扩展性、可维护 性,充分保护企业的投资.系统已在昆明市五华区 环卫处废弃物运输场运行1年多,性能稳定可靠, 效果良好,有显著的经济效益和社会效益,具有一 定的推广价值