介绍了鄂钢地磅计量系统的硬软件结构,利用计量软件并使用VB控件,实现了地磅电子流水记录。
1 .前言
鄂钢使用的地磅计量系统均配置两台打印机, 一台打印票据,一台打印流水,每进行一次计量操作, 都会打印一条流水信息,记录计量时间、流水号、发货 单位、收货单位和毛重皮重等信息,通过查询这些纸 质记录,从而查询计量信息。通过编写计量软件程 序,实现了计量员通过软件查询功能查询计量数据, 从而取消了流水打印机,这样不仅节约了打印机,还 节约了各种耗材。
2.计量系统简介
2. 1 硬件结构
计量站通过计算机进行计量作业,计算机与地磅通过称重显示表进行通讯,采集重量数据;通过在 计算机上加装视频监控卡采集过秤时的现场状况;利 用在汽车衡两端加装冷金属红外探测器来判断汽车 过衡的位置信息,I/O卡用来接收从冷金属探测器传 递过来的探测信号;网卡用于与其它计量计算机进行 通讯。其硬件结构如图1所示。
2.2软件结构
计量系统的软件由数据采集、视频采集、红外处理、 打印输出、防作弊、数据计量和数据统计共7部分组成。
数据采集部分主要负责读取称重显示表所显示 的计量数据。它主要通过COM 口 RS232通讯来完 成。计量数据被读取后,用于显示在计量界面和计毛计皮时的数据处理。
视频采集部分的作用是对计量界面进行抓图,其 中包含各种计量信息和车头车尾的图片,用来和流水 信息进行比较。
红外处理部分主要用于接收I/O卡的信息,当车 辆不完全在秤台上时,计量画面上的左越界和右越界 的灯就会变色,同时在计量时弹出提示信息左越界或 右越界,不能计量。
打印输出部分包括流水打印和票据打印,流水打 印在连续纸上打印各种流水信息,用于查询和与图片 进行比较,票据打印可打印标准票据,用于结算。
防作弊部分的作用是:每辆汽车第一次计皮重时 均写入皮重库,以后再进行计量时,都会将当前皮重与 皮重库中的历史皮重进行比较,当超过一定范围时,计量就会弹出对话框提示皮重超差,不予计量。如果需 要计量,则需要管理员对皮重进行解锁后方可进行。
数据计量部分包括计毛重和计皮重。计毛重时, 首先判断车辆是否超出边界,当前重量是否超出量 程,当前重量显示值是否合法,再进行计量性质的判 断(进公司不可先计皮重,出公司不可先计毛重),检 查计量信息是否完整,确定直接定皮重时搜索记录的 允许时间间隔,当判断为进公司时,直接计毛重,将计 量信息写入文件,抓取计量图片,判断为出公司时,搜 索对应车牌号皮重,计算出净重,然后将计量信息写 入文件,打印票据,通过声卡输出提示司机计量完毕, 最后进行流水信息打印。计皮重时,开始的判断与计 毛重一样,在检查完输入信息是否规范后要进行防作 弊比较,如超出允许误差范围则提示后退出,如果正 常就进行下一步的判断,计量性质为出公司时直接计 皮重,将计量信息写入文件,抓取计量图片,计量性质 为进公司时,搜索对应车牌号毛重,计算出净重,计量 信息写入文件,打印票据,通过声卡输出提示司机计 量完毕,最后进行流水信息打印。
数据统计部分可以对每天或者每月的计量信息 进行分类统计,并形成报表。
3.流水电子化的实现
计量程序使用Visual Basic6. 0编写。首先在 程序中添加一个新窗体“form2”在主计量画面建立 一个按钮,按钮命名为“流水查询”用于打开新建窗 体;根据流水需要在Form_Load ()中设计相应的表 头;在工具栏添加MSFlexGrid控件和CommonDialog 控件,MSFlexGrid控件可以显示网格数据,Common-Dialog 控件提供一组标准的操作对话框,进行诸如打 开和保存文件、设置打印选项、选择颜色和字体等操 作,用它来选择相应的文件。程序如下:
ComDlgl. DialogTitle ="打开计量数据文件"
ComDlgl. Filter ="计量数据文件(* . mqd) I * . mqd"
*利用CommonDialog控件选择计量数据文件 Open checkfile For Random Access Read Write As # filenumber Len = Len (Data)
*打开所选择的数据文件
FxGd1 . FormatString = header *将定制好的表头传给MSFlexGrid控件 For i = 1 To rec_no Step 1 Get #filenumber,i,Data
FxGdl. | row | =i | |||
FxGdl. | Col | =0 | FxGdl | Text | = str( i) |
FxGdl. | Col | =l | FxGdl | Text | = Data. gross_no |
FxGdl. | Col | =2 | FxGdl | Text | = Data. tare_no |
FxGdl. | Col | =3: | FxGdl | Text | = Data. car_no |
FxGdl. | Col | =4: | FxGdl | Text | = Data. send |
FxGdl. | Col | =5 | FxGdl | Text | =Data. recv |
FxGdl. | Col | =6: | FxGdl | Text | = str( Data. gross) |
FxGdl. | Col | =7 | FxGdl | Text | = str( Data. tare) |
FxGdl. | Col = | :8: FxGdl. Text = | str ( Data. mtime) | ||
FxGdl. Col | =9: FxGdl. | Text | = str( Data. ptime) |
Next i
*利用循环在MSFlexGrid控件中显示文件中所有的 记录
Close #filenumber
*关闭打开的文件
根据需要调整表格的大小和按钮的位置。
禁止流水打印。
对修改好的文件进行编译,生成目标文件。
4.结语
取消汽车衡计量系统中的流水打印机,实现流水 电子化,不仅满足了鄂钢计量工艺要求及管理要求, 还确保了数据的安全性和稳定性,减轻了计量人员的 工作强度,节约了计量成本。到目前为止,软件运行 良好,达到预期目标。