上海松江燃气有限公司 张志伟
我们公司历来比较重视四新技术的推广应用,每年都立有项目。本文所述的单位用户燃气抄表系统,是去年设立的预算项目之一,手持抄表器是其中的终端设备。
较长时期来,我们公司对工营事团用户的管理方式较为粗犷。其操作模式为:揣着抄表单上门抄表填单、用户确认;录入至Excel电子表格统计汇总;内复外复对异常数据进行审查;最后交财务部导入财务软件计费出账。这样的操作过程,当用户群规模较小时不难应对,而随着业务拓展,用户数量持续攀升,这套方法就显得捉襟见肘力不从心了。问题是:工作效率不高;填抄表单、Excel表格录入、计算等环节容易引起人为差错;数据缺乏共享;统计查询的实时性迟后等,有碍业务发展。为了改变现状,提升企业管理效率,需要建立一套管理软件也就摆到了议事日程,继而我们开发了“天然气单位用户管理”软件,程序为VB语言,自行编制,C/S架构。
在燃气抄表软件研发过程中,数据的采集、录入是一个重要环节。若人工纸质抄表,带回后再手工录入,则不能体现新开发的软件在录入上的优越性,与手工录至Excel相比几无多大突破;若投入PDA(Personal Digital Assistant)手持机,或是HPC(handheld PC)掌上电脑等设备,势必导致初始投资庞大,GPRS通讯未必都畅通,打印也不方便。经市场调查和对手持机的功能分析权衡,最终我们选择了信价比较高的DH3000cd型手持打印抄表器(俗称POS机)。集定位、抄表、打印于一体,即能现场测电子标签快速定位,手工录入数据,又可同步打印抄表核对单。提供的燃气抄表单经天然气大客户与抄表人员双方签字认可。发挥了抄核收工作中手持设备的优势。
DH3000型带打印、读写电子标签功能的手持POS(Point Of Sales)机,如图1所示。
图1 手持POS(Point Of Sales)机
主要性能是:存储量较大;有二级汉字库,支持拼音输入;160×160点阵液晶,可显示每行十个汉字共十列;热敏打印;RS232通信接口;带可充电锂电池;支持 DBF型数据库等。且我们与厂方沟通后,厂方提供了C语言二次开发平台及接口函数。该平台支持在Windows7下安装使用。编制的C语言必须经过该平台编译生成bin文件拷入POS机方可运行。
手持器的C语言与Borland C语言又有不同,如:自带了几十个专用函数;不能用二维数组等,限制较多。因此C语言编制过程中,需熟悉这种语言环境,通过反复调试、纠错,才能获得既可行、又运用灵活的界面。
主菜单由五个项目组成:按电子标签定位抄表、抄未抄表、按编号抄表、统计、顺序抄表,见图2。
图2 主菜单
由于手持器的键面紧凑,我们在一些界面中,自定义了几个键,把功能移作他用,键名在液晶屏底行均给出了提示。如:“●”键作计算键;“+” 键作抄表标志键;“F1”键作打印键;“F2”键作退出键。
启用计算机中“用户燃气抄表系统”软件,按菜单将DBF数据库的数据从计算机下载至手持器,已按一定规律排序。
顺序抄表过程是:
第一步,按“▲”键上移或是“▼”键下移翻找用户;
第二步,找到用户编号之后,按“清除”键把界面有关数据清零,等待录入,见图3;
图3 等待抄表录入
第三步,手工键入抄见数字,位于“本”(本月抄见数)。
第四步,按“+”键循环翻找“抄表标志”。
第五步,按“●”键计算本月耗气量、环比、金额,见图4;
图4 计算结果
第六步,按“确认”键保存。
第七步,按“F1”键打印(可重复打印),见图5。
图5 打印结果
逻辑结构图,如图6。
图6 逻辑结构
按抄表标志等特征搜索,只显示未抄过表的用户。减少了翻找量,操作步骤与“顺序抄表”雷同。
为实现较快定位,采用了按用户编号搜索的方法。好在抄表器带有汉字库,键面也标有字母,给予的函数能在数字、小写字母、大写字母、拼音之间切换,按“+”加号键能在+-×÷符号之间切换,为输入带来便利。见图7。
图7 按编号抄表
输入了用户编号后,按“确认”键,经模糊查找定位。显示某用户信息后,▲或▼键就以该用户编号为始点,上移或下移一位用户编号。其余操作步骤与“顺序抄表”雷同。
显示抄表总数、未抄数、已抄数;已抄表数中再分成标志为“正常”的用户数和除了正常以外的“”异常用户数。便于抄表人员掌握抄表进度,设统计见图8。
图8 统计
等同于条形码功能的电子标签,事先粘于表箱一角,抄表时将抄表器靠向电子标签读出编号,屏显该编号的客户信息。电子标签定位省却了人工翻找的时间,达到快速定位目的。读出客户编号与DBF库中编号相匹配,以后操作同“顺序抄表”。
程序的编制过程会遇到沟沟坎坎,也会有设计火花,于是在项目结束之余,想对几个问题作一切磋,使得同行涉及此类问题时有所借鉴。
“抄表标志”相当于抄表说明。为了减少汉字输入提高录入速度,我们列了“抄表标志”字段,语句如下:
操作方法是:按一次“+”键则t=t+1,显示屏汉字改动一次,当第16次时令t=0,再从头循环,把十五种情况逐一列出让抄表员挑选。但只能单向循环。
如果碰到复杂情况需要说明,按◄键,可在POS机“备注”行录入文字及数字,按“确认”键结束汉字录入。
DBF库中若最大的字段名宽度为50个字符,C语言中数组应设为cdata[80]。尚若仍设为50,POS机屏幕闪烁,无法显示。
显示POS机机号的函数编号唯一,我们设置公共变量cpos,用指针式函数显示机号,程序如下。
环比公式:环比增长率=((本月量-上月量)/上月量)×100%。环比是一项判定指标,一是反映用气递增速度,二是起到抄表提醒作用,当抄表人员计算后得出的值大于±30%时,应注意是否抄错,如正确应在备注栏内加以说明为何变化的理由。本机对大于±30%设了长鸣2秒提醒。
打印的字宽和行间距可微调,对于用户名称、地址等超过一行的文字我们作了截断处理,只让其打印一行。程序如下。
电子标签是无线射频技术(RFID)无源超调频和传感器技术的应用,非接触式自动识别技术,给定位、无源储存提供了手段,符合国际标准ISO/IEC 14443A/B、ISO/IEC 15693。电子标签形状众多,有挂的有贴的,功能又分为普通型和抗金属型。标签的读出和写入前必须经过mif_open()、mif_anticoll、mif_load_key (password)等读序列号、校对密码等几个步骤。一个标签有16个磁道每磁道有4个扇区,每扇区可存 16个十进制字符。编程中我们采用了20秒内反复读的方法,便于手持机靠向标签读出客户编号。
程序采用VB6编写,数据库为三层,SQL2005服务器、access2003本机、DBF(VFP3)手持机,经ODBC连接,C/S架构全公司VPN联网。软件分“开户管理”、“表具信息”、“安全检查”、“抄表、报表、销根”、“抄表器导入导出”几大模块。
POS机与PC机经COM串口连接。以下就涉及POS机的部分作一介绍。
步骤为:第一步,POS机与PC机用COM线连接;第二步,测通讯口,连接正常;第三步,将DBF库从POS机拷入本地PC机;第四步,将DBF库中数据逐条拷至本地机access库,并对本月量、金额、环比等计算值校核;第五步,人工审核数据、调整、备注中添加必要的说明;第六步,计算:再次复核数据,收索去年同期量且计算同比值,在拷入SQL库前作允许导入的标记;第七步,保存:将本次符合条件的记录导入SQL数据库,且保证每月一条记录。
导出有两种排序方式,一是以某区域某抄表员按用户编号排,另一是以某区域某抄表员按行走路线排。第一步,按其中一种方式下载,将SQL库中的用户编号、燃气表号、上月抄见数、单价等数据记录拷至本地PC机的access库中;第二步,POS机与PC机用COM线连接;第三步,测通讯口,连接正常;第四步,导出。将access库中记录拷至DBF库,将DBF库从PC机拷至POS机;第五步,对POS机校准时间,与PC机保持同步。
手持抄表器的投入应用,能减轻抄表人员的工作量,实现自动统计计算,电子标签的引入做到了定位便捷。手持抄表器经二次开发,拥有了自主设计的操作界面,在软件模块的划分上经过实践修正、精心整合,更适合于本单位抄表人员的需求,在菜单上体现了人性化的操作。
工商用户的燃气用量一般占燃气公司气量销售的大头,对大用户实施科学管理势在必行。手持器抄表的应用能以较低的成本解决信息采集问题而不改动表具。目前更先进的还有无线远程抄表系统、GPRS智能表抄表系统等我们也在逐步投入;SQL用户数据库的建成、网络版管理软件的应用使企业向信息集约化迈进了一步。新系统投入使用推进了企业管理规范化、增进经济效益、有利于向客户提供优质服务。