介紹了鄂鋼地磅計(jì)量系統(tǒng)的硬軟件結(jié)構(gòu),利用計(jì)量軟件并使用VB控件,實(shí)現(xiàn)了地磅電子流水記錄。
1 .前言
鄂鋼使用的地磅計(jì)量系統(tǒng)均配置兩臺打印機(jī), 一臺打印票據(jù),一臺打印流水,每進(jìn)行一次計(jì)量操作, 都會打印一條流水信息,記錄計(jì)量時(shí)間、流水號、發(fā)貨 單位、收貨單位和毛重皮重等信息,通過查詢這些紙 質(zhì)記錄,從而查詢計(jì)量信息。通過編寫計(jì)量軟件程 序,實(shí)現(xiàn)了計(jì)量員通過軟件查詢功能查詢計(jì)量數(shù)據(jù), 從而取消了流水打印機(jī),這樣不僅節(jié)約了打印機(jī),還 節(jié)約了各種耗材。
2.計(jì)量系統(tǒng)簡介
2. 1 硬件結(jié)構(gòu)
計(jì)量站通過計(jì)算機(jī)進(jìn)行計(jì)量作業(yè),計(jì)算機(jī)與地磅通過稱重顯示表進(jìn)行通訊,采集重量數(shù)據(jù);通過在 計(jì)算機(jī)上加裝視頻監(jiān)控卡采集過秤時(shí)的現(xiàn)場狀況;利 用在汽車衡兩端加裝冷金屬紅外探測器來判斷汽車 過衡的位置信息,I/O卡用來接收從冷金屬探測器傳 遞過來的探測信號;網(wǎng)卡用于與其它計(jì)量計(jì)算機(jī)進(jìn)行 通訊。其硬件結(jié)構(gòu)如圖1所示。
2.2軟件結(jié)構(gòu)
計(jì)量系統(tǒng)的軟件由數(shù)據(jù)采集、視頻采集、紅外處理、 打印輸出、防作弊、數(shù)據(jù)計(jì)量和數(shù)據(jù)統(tǒng)計(jì)共7部分組成。
數(shù)據(jù)采集部分主要負(fù)責(zé)讀取稱重顯示表所顯示 的計(jì)量數(shù)據(jù)。它主要通過COM 口 RS232通訊來完 成。計(jì)量數(shù)據(jù)被讀取后,用于顯示在計(jì)量界面和計(jì)毛計(jì)皮時(shí)的數(shù)據(jù)處理。
視頻采集部分的作用是對計(jì)量界面進(jìn)行抓圖,其 中包含各種計(jì)量信息和車頭車尾的圖片,用來和流水 信息進(jìn)行比較。
紅外處理部分主要用于接收I/O卡的信息,當(dāng)車 輛不完全在秤臺上時(shí),計(jì)量畫面上的左越界和右越界 的燈就會變色,同時(shí)在計(jì)量時(shí)彈出提示信息左越界或 右越界,不能計(jì)量。
打印輸出部分包括流水打印和票據(jù)打印,流水打 印在連續(xù)紙上打印各種流水信息,用于查詢和與圖片 進(jìn)行比較,票據(jù)打印可打印標(biāo)準(zhǔn)票據(jù),用于結(jié)算。
防作弊部分的作用是:每輛汽車第一次計(jì)皮重時(shí) 均寫入皮重庫,以后再進(jìn)行計(jì)量時(shí),都會將當(dāng)前皮重與 皮重庫中的歷史皮重進(jìn)行比較,當(dāng)超過一定范圍時(shí),計(jì)量就會彈出對話框提示皮重超差,不予計(jì)量。如果需 要計(jì)量,則需要管理員對皮重進(jìn)行解鎖后方可進(jìn)行。
數(shù)據(jù)計(jì)量部分包括計(jì)毛重和計(jì)皮重。計(jì)毛重時(shí), 首先判斷車輛是否超出邊界,當(dāng)前重量是否超出量 程,當(dāng)前重量顯示值是否合法,再進(jìn)行計(jì)量性質(zhì)的判 斷(進(jìn)公司不可先計(jì)皮重,出公司不可先計(jì)毛重),檢 查計(jì)量信息是否完整,確定直接定皮重時(shí)搜索記錄的 允許時(shí)間間隔,當(dāng)判斷為進(jìn)公司時(shí),直接計(jì)毛重,將計(jì) 量信息寫入文件,抓取計(jì)量圖片,判斷為出公司時(shí),搜 索對應(yīng)車牌號皮重,計(jì)算出凈重,然后將計(jì)量信息寫 入文件,打印票據(jù),通過聲卡輸出提示司機(jī)計(jì)量完畢, 最后進(jìn)行流水信息打印。計(jì)皮重時(shí),開始的判斷與計(jì) 毛重一樣,在檢查完輸入信息是否規(guī)范后要進(jìn)行防作 弊比較,如超出允許誤差范圍則提示后退出,如果正 常就進(jìn)行下一步的判斷,計(jì)量性質(zhì)為出公司時(shí)直接計(jì) 皮重,將計(jì)量信息寫入文件,抓取計(jì)量圖片,計(jì)量性質(zhì) 為進(jìn)公司時(shí),搜索對應(yīng)車牌號毛重,計(jì)算出凈重,計(jì)量 信息寫入文件,打印票據(jù),通過聲卡輸出提示司機(jī)計(jì) 量完畢,最后進(jìn)行流水信息打印。
數(shù)據(jù)統(tǒng)計(jì)部分可以對每天或者每月的計(jì)量信息 進(jìn)行分類統(tǒng)計(jì),并形成報(bào)表。
3.流水電子化的實(shí)現(xiàn)
計(jì)量程序使用Visual Basic6. 0編寫。首先在 程序中添加一個新窗體“form2”在主計(jì)量畫面建立 一個按鈕,按鈕命名為“流水查詢”用于打開新建窗 體;根據(jù)流水需要在Form_Load ()中設(shè)計(jì)相應(yīng)的表 頭;在工具欄添加MSFlexGrid控件和CommonDialog 控件,MSFlexGrid控件可以顯示網(wǎng)格數(shù)據(jù),Common-Dialog 控件提供一組標(biāo)準(zhǔn)的操作對話框,進(jìn)行諸如打 開和保存文件、設(shè)置打印選項(xiàng)、選擇顏色和字體等操 作,用它來選擇相應(yīng)的文件。程序如下:
ComDlgl. DialogTitle ="打開計(jì)量數(shù)據(jù)文件"
ComDlgl. Filter ="計(jì)量數(shù)據(jù)文件(* . mqd) I * . mqd"
*利用CommonDialog控件選擇計(jì)量數(shù)據(jù)文件 Open checkfile For Random Access Read Write As # filenumber Len = Len (Data)
*打開所選擇的數(shù)據(jù)文件
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
*利用循環(huán)在MSFlexGrid控件中顯示文件中所有的 記錄
Close #filenumber
*關(guān)閉打開的文件
根據(jù)需要調(diào)整表格的大小和按鈕的位置。
禁止流水打印。
對修改好的文件進(jìn)行編譯,生成目標(biāo)文件。
4.結(jié)語
取消汽車衡計(jì)量系統(tǒng)中的流水打印機(jī),實(shí)現(xiàn)流水 電子化,不僅滿足了鄂鋼計(jì)量工藝要求及管理要求, 還確保了數(shù)據(jù)的安全性和穩(wěn)定性,減輕了計(jì)量人員的 工作強(qiáng)度,節(jié)約了計(jì)量成本。到目前為止,軟件運(yùn)行 良好,達(dá)到預(yù)期目標(biāo)。