我公司研制的全电子汽车衡微机信息处理系统具 有称重信息采集、数据处理、报表生成及后台实时监控 等功能„在软件设计方面,采用了结抅化程序设计" 方法,力求清晰第一,效率第二,自顶向下,逐步细化 和模块化.程序易读性强,易调试、易维护。
1.系统的组成
(1)Scs-50全电子汽车衡,完成重量信息与数宇信 息的实时转换;
(2)1PC-610工控机,完成数据采集及信息处理;
(3)CQ-1600打印机,信息的输出打印;
(4)大屏幕显示仪,提供室外重量显示,
(5) UPS不间断电源,提供系统电源支持,
2.程序设计思想
系统采用FOXBASE语言辅以8088宏汇编语言 进行设计。其中*汇编语言主要用于后台程序设计和 Rs232C串行接口通讯程序设计。
程序设计中采用了“结构化程序设计"方法。首先, 对要设计的软件按**结构化分析方法”进行系统分析, 用“自顶向下1逐层分解”的方式表达它的功能,即以 树形结构来生动、具体、形象地描述整个系统的功能。
在对系统进行了结构化分析以后,采用结构化设 计"方法把整个系统分为一些功能相对独立的模块,并 给出各镆块之间的接口条件。然后再对各摸块进行单 独设计、调试。
这种设计方法的基本思想華模块化,也就是把系 统分解成若干个彼此独立的,同时又具有一定联系的, 能完成某个特定任务的组成部分。
这种设计思想可以把复杂的问题闻单化.把大问 题化解成小问题来解决=采用该方法来编程,程序就更 为清晰,易于调试,便于维护.
3.程序设计方法
由于本系统的最终用户是地衡司秤人员,他们对 本职工作比较熟习,但对于计算机方面的知识了解不 多,因此我们在程序设计中,尽可能做到四个方面的要 求:一是操作人员的操怍内容要尽可能的少,能由计算 机识别的,尽量由计算机自动进行处理=二是必须由人 工进行输入的各项内容,如货名、供方单位、收方单位 等等,尽量采用代码方式输入,以方便操作和提髙输入 速度=三是采用下拉式莱单设计,每操作一步都有屏幕 提示,实现了高度智能化:四是髙度容错性,由于操怍 人员的熟练程度不同,难免出现操作失误,本系统将即 时给出出错信息,方便操作人员及时纠正=对于操作人 员的越权使用.系统通过识别口令,禁止非法使用。
我们设计的这套系统共由称重处理、日报处理、数 据查询.数据汇总、参数设置、系统维护、后台监测等 七个子模块组成,下面分别介绍各子模块的设计方法. 3.1称重处理横块
称重处理模块是整个系统的基本模块=根据需要, 在称重处理模块下,又设计了单据输入模块和单据修 改模块。其中,单据输入模块下又分解为称重、输入货 名.输入发货单位、输入收货单位、输入司秤员等五个 子模块.具体做法是:
(1)对每趟来车,将其毛重、皮重合并为一条记录 内容增加到当日数据库中,为了方匣用户,未对毛重、 皮重的过磅顺序作限制,同时,我们还考虑了同一辆车多次称量的情形,确保系统在任何情况下都不会发生 识别错误。
(2)称重信息通过RS-232C串行接口直接从全电 子汽车衡称重显示器读取.日期、时间则由计算机自动 给出。为便于观察当前称量值,我们还在通讯接口程序 中增加了一段特大字形显示程序,使当前称量数据更 醍目1更直观,效果很好.
(3)对于不确定的内容,如货名、发货单位、收货 单位等,则由手工输入.但只要输入过一次,计算机将 自动排序编码,再次使用时,可以采用代码输入,从而 简化了操作方式,提髙了操作速度。为方便使用*在输 人代码时.我们采用了同屏显示代码表技术*并支持 上、下翻页.使操作人员不需记代码表就能输入代码。
3.2日报处理模块
该模块用以处理当日数据„根据需要,在日报处理 模块下又分解为数据输入、日报打印、单据打印1当日 归档等4个子模块.
数据输入模块用于输入货物化验结果、包装袋重、 火车号等当时不能确定的内容,这些内容的输入可以 不受时I可限制,这是根据用户的特殊要求设计的。
日报打印模块的作用是根据当日称重记录,生成 当日日报,并输出打印。
单据打印模块的作用是按条件打印磅码单,当曰 归档模块用于当日工作全部完成后,处置并将当日数 据转到往日数据庠贮存*并清空当日数据庠,为第二天 的工作做好准备=采用当日归档技术,是为了避免当日 数据库太大,以至日间操作査找时间太长=实践证明, 采用此技术后,数据输入速度大大加快。
3.3数据査询横块
该模块用于按条件査询已有的称重数据记录,在 设计该模块时.我们主要对日期范围、时间范围、货物 名称、货物批号、发货单位、收货单位等条件进行组合> 也允许缺省。为了提高显示速度,我们将满足査询条件 的记录写入一辅助数据库中,在査询显示时.只要到该 数据库去读取数据就行了,降低了査询的时间,
3.4数据汇总播块
该模块用于按条件进行各种数据汇总,产生并输 出各种统计报表。考虑到汇总数据的庞大,设计中我们 特别考虑了汇总的时间开销问®,并尽可能对程序进 行优化.以提高程字运行速度.缩短汇总时间。
3.5参数设置模块
该模块用于设定货名代码、司衡员代码、发货单位 代码、收货单位代码以及系统密码等,并可打印代码 表=设计本模块的目的是为了加快汉字信息输入的速 度=本模块的设计做到了输入、定义、更改各类代码灵 活、方便.尤其是在屏蒂界面方面,本模块能很直观地 动态显示代码表增删、修改情况,用户操作更容易。
3.6系统维护模块
该模块用以完成一系列系统眼务功能,主要内容 包括系统说明、后台査看、数据备份及年表处理等,系 统说明主要为未使用过本系统的用户而设,力求通俗 易懂、可读性强*并能输出打印。后台査看主要是为了 事后监督而设它直接读取指定日期的后台监视记录, 并直接显示在屏幕上,为安全起见,这一功能仅限于上 一级管理人员使用。
3.7后台监测模块
设置该模块的目的是为了对前台工作进行实时监 控,避免有意或无意的人为差错=该模块运行时与前台 部分完全独立,不受前台人为干扰。模块设计采用8088 宏汇编语言编写,并使用了常驻内存程序(TSEO设计 方法,截取时钟中断,每时每刻对来车情况进行监测。 每当检测到一辆新的来车,自动将称重数据与当前时 间存入数据库,同时与前台确认的称重数据进行比较. 出现差异时自动发出差异信息记入当日数据库,并在 当曰报表中反映出来.便于管理人员及时进行处理。
本模块设计的难点是适时时钟的截取与非称重干 扰信号的滤除.我们利用区间时钟比较和中位值法滤 波,较好地解决了这两个问题。
4.系统特点
系统采用了结构化程序设计方法进行设计.各功 能模块与数据保持相对独立,便于用户环境和需求的 变化,扩充性好、维护性好I采用“下拉式菜单' “全 屏幕数据录入"等技术.方用户提供了较好的人机界 面:独特的后台设计,构思新颖,对前台数据起到监督 保证作用。
5.结束语
地磅微机信息处理系统的软件设计结构合理,层 次清晰ˎ容错性强,用户界面友好,操作简便。运行三 年来用户反映良好,具有推广价值。