郭雅默 ,王 剛 ,李灃曉 ,羅 勇
(1.鄭州大學 電氣工程學院,鄭州 450001;2.河南灃悅電子科技有限公司,鄭州 450001)
隨著生產(chǎn)能力增強,鋼管廠對銷售計量數(shù)據(jù)的完整性、及時性和準確性要求也不斷提高,人工稱重的方式達不到高效和準確的目的[1]。而且在實際銷售中,鋼管的實際重量和理論重量往往存在一定的差值,這就需要將實際各規(guī)格鋼管的總重量按理論重量之比進行分攤,得到一組符合實際的單根理論重量,此為重量分攤。有些情況下,一個購貨單位需要將這車貨分送給多個分廠,由于不同的分廠結算金額不同,需根據(jù)單價把鋼管分給各個分廠,達到各個分廠需要的資金額度,此為客戶分攤。兩次分攤計算十分繁瑣,耗費人力,且準確率不高。
早期的稱重系統(tǒng)多采用模擬量稱重傳感器,稱重過程完全由人工控制和讀取,極易受到人為因素干擾,準確率和效率不高,信息管理能力也弱[2]。目前,有些企業(yè)利用計算機、網(wǎng)絡通信等技術,設計無人值守稱重系統(tǒng),把稱重過程與微機結合,實現(xiàn)汽車衡稱重數(shù)據(jù)的自動采集和管理[3]。但重量分攤和客戶分攤還需人工計算,自動化程度不高。
為此,本文提出一種適于鋼管廠的自動稱重及重量分攤系統(tǒng),包括現(xiàn)場稱重設備、現(xiàn)場監(jiān)控設備、監(jiān)控主機、客戶端電腦、數(shù)據(jù)庫服務器、鋼管稱重管理軟件,并將無人值守稱重和重量分攤整合為一體。操作員在稱重管理軟件的結算管理部分調取數(shù)據(jù)庫的稱重信息,即可進行兩次分攤操作,從而實現(xiàn)稱重和分攤的無縫銜接,簡化了銷售管理流程,提高了工作效率。
現(xiàn)場稱重設備由稱重儀、數(shù)字輸入輸出系統(tǒng)、讀卡器構成,三者通過3個串口分別與監(jiān)控主機相連,將數(shù)據(jù)傳輸給鋼管稱重管理軟件的自動稱重模塊,實現(xiàn)貨車的自動稱重?,F(xiàn)場監(jiān)控設備由2個攝像頭和1個視頻采集卡構成,視頻采集卡通過PCI接口連接至監(jiān)控主機,實現(xiàn)對自動稱重過程的全程視頻監(jiān)控。監(jiān)控主機上運行的自動稱重模塊與客戶端電腦上運行的結算管理模塊通過共用SQL數(shù)據(jù)庫服務器上的稱重數(shù)據(jù)庫,實現(xiàn)業(yè)務數(shù)據(jù)的相連。自動稱重模塊獲得的稱重數(shù)據(jù)被傳輸給結算管理模塊,由結算管理模塊的重量分攤模塊實現(xiàn)鋼管單重的計算,由其客戶分攤模塊實現(xiàn)客戶結算金額的分攤及結算單的打印。圖1為系統(tǒng)總體結構圖。
圖1 系統(tǒng)總體結構圖Fig.1 Total structure figure of the system
現(xiàn)場稱重設備由稱重儀、數(shù)字輸入輸出系統(tǒng)、讀卡器構成,數(shù)字輸入輸出系統(tǒng)由進道口攔道器、進道口地感線圈、進道口紅外傳感器、出道口紅外傳感器、出道口攔道器、出道口地感線圈分別與8065數(shù)字量輸入輸出板卡直接并行連接構成,8065數(shù)字量輸入輸出板卡通過485/232轉換器與監(jiān)控主機連接,稱重儀通過應變片與地磅連接,稱重儀和讀卡器分別通過串口與監(jiān)控主機相連。
本系統(tǒng)的地磅采用具有高精度稱重傳感器的電子汽車衡,比機械汽車衡的精度高、穩(wěn)定性好。汽車衡儀表采用上海耀華稱重系統(tǒng)有限公司生產(chǎn)的XK3190-D18M2產(chǎn)品,與電子汽車衡通過RS232相連,可以顯示重量信息,打印稱重小票。并通過RS232與監(jiān)控主機相連,鋼管稱重管理軟件讀取到穩(wěn)定數(shù)據(jù)后保存。
數(shù)字量輸入輸出板卡可用于檢測外界狀態(tài)和控制開關,一般提供有隔離型單端數(shù)字量輸入和功率繼電器數(shù)字量輸出,采用高低電平信號,導通和斷開時間短,可滿足本系統(tǒng)對紅外傳感器和地感線圈的信號接收,并操控攔道器。
本系統(tǒng)采用無線射頻技術(RFID)實現(xiàn)對稱重車輛的管理和監(jiān)控。在客戶端有寫入器,用來存儲卡車信息。在稱重現(xiàn)場有讀卡器,讀取卡信息[4]。
現(xiàn)場監(jiān)控設備包括視頻采集卡和2個攝像頭。本系統(tǒng)使用的VC4000視頻采集卡支持1~4路視頻監(jiān)控,采用MPEG-4壓縮引擎進行壓縮,支持動態(tài)碼率、動態(tài)圖像質量控制、字母添加、動態(tài)捕捉影像等,節(jié)省存儲空間,性能穩(wěn)定可靠。視頻采集卡通過PCI接口安裝在監(jiān)控主機上,通過BNC接口與SYV-75-5電纜一端相連,電纜另一端同樣通過BNC接口接監(jiān)控攝像頭。
本系統(tǒng)采用以太網(wǎng)傳輸數(shù)據(jù),交換機為核心節(jié)點,通過雙絞線將監(jiān)控主機、客戶端電腦與服務器主機進行連接,構成星型結構。本系統(tǒng)可同時連接多套現(xiàn)場稱重設備進行稱重,每套現(xiàn)場稱重設備均配置1臺監(jiān)控主機和1套現(xiàn)場監(jiān)控設備。多個監(jiān)控主機共享服務器中的稱重數(shù)據(jù)。
系統(tǒng)軟件基于Delphi7和SQL Server2000數(shù)據(jù)庫開發(fā),客戶端和數(shù)據(jù)庫服務器端配置為Windows開發(fā)環(huán)境,系統(tǒng)使用 ADO(active data object)組件進行數(shù)據(jù)庫訪問和操作。TADOConnection組件管理數(shù)據(jù)庫的連接,并提供對事務機制的支持。TADOQuery組件和TADODataset組件是最常用的數(shù)據(jù)訪問組件。為提高數(shù)據(jù)的訪問速度和安全性,使用TADOStoredProc組件調用數(shù)據(jù)庫存儲過程。
鋼管稱重管理軟件包括發(fā)貨模塊、自動稱重模塊、結算管理模塊、視頻監(jiān)控模塊,自動稱重模塊采集n次車輛的稱重信息(n為大于1的整數(shù),下同),通過前后2次的差獲得n-1次不同類型鋼管的凈重,結算管理模塊根據(jù)n-1次鋼管的凈重,通過按比例的重量分攤,獲得不同類型鋼管的單根重量,并在此基礎上通過客戶分攤,生成最終的單個客戶訂貨金額結算單。圖2為稱重管理軟件流程圖。
圖2 稱重管理軟件流程Fig.2 Flow chart of weighing management software
發(fā)貨模塊可以統(tǒng)一管理發(fā)貨單。發(fā)貨單主要記錄此訂單的貨物詳細信息、客戶信息及結算金額的信息,信息保存在統(tǒng)一的數(shù)據(jù)庫中。
本系統(tǒng)通過微軟的MSComm串口控件實現(xiàn)數(shù)據(jù)的采集。通過CommPort和Settings屬性設置串口號和波特率、奇偶校驗、數(shù)據(jù)位、停止位。通過InPut和OutPut屬性接收和發(fā)送緩沖區(qū)數(shù)據(jù)。通過On-Comm事件捕獲并處理這些通信事件。讀卡器的數(shù)據(jù)通過OnComm事件觸發(fā),接收端開始讀取卡號信息,并根據(jù)數(shù)據(jù)庫關聯(lián)得到車號及磅單信息。
XK3190-D18M2稱重顯示器通過RS232接口實現(xiàn)與計算機的通信,通信數(shù)據(jù)格式總計10位:1位起始位、8位數(shù)據(jù)位 (ASCII編碼)、1位停止位,波特率設為9600 b/s,通信方式為連續(xù)方式的A1+數(shù)據(jù)格式,儀表在這種情況下不停向計算機發(fā)送當前稱重數(shù)據(jù),100 ms發(fā)送間隔。將MSComm的RThreshold屬性設為12,為二進制數(shù)據(jù)接收方式。
數(shù)字量輸入輸出板卡的通訊由于需要檢測2路地感信號、2路紅外檢測信號及控制2路道閘開關,需根據(jù)不同的控制過程組合相應的輸出命令,并調用等待延時函數(shù)獲得返回的命令,對返回的命令包進行解析即可獲得各個狀態(tài)量的當前信號。由于命令長度不同,不適合采用OnComm時間響應通訊,而應該通過延時讀取系統(tǒng)響應[5]。由于繼電器吸合會造成延遲,需要用定時延遲采集狀態(tài)信號。延時等待流程如圖3所示。
圖3 延時等待流程Fig.3 Flow chart of delay waiting
自動稱重模塊可獲取卡號信息和稱重數(shù)據(jù),并通過串口輸出數(shù)字信號控制攔道器的抬、落桿,在稱重過程中開啟定時器以接收地磅讀數(shù),數(shù)據(jù)穩(wěn)定后(10 kg誤差內)觸發(fā)存儲過程將重量信息保存在數(shù)據(jù)庫中。
鋼管稱重管理軟件的視頻監(jiān)控模塊,使用天敏VC4000系列采集卡的SDK,對卡車刷卡過程進行錄像。軟件將錄像保存在監(jiān)控主機端,客戶端電腦可遠程查看監(jiān)控錄像。首先,需在監(jiān)控主機上安裝IIS(Web服務),將監(jiān)控錄像所在文件夾保存為虛擬目錄,并配置監(jiān)控主機的IP地址,客戶端根據(jù)監(jiān)控主機IP地址及錄像文件路徑通過媒體播放器打開錄像。圖4為視頻采集流程圖。
結算管理模塊由重量分攤、客戶分攤、結算單管理3部分構成。重量分攤實現(xiàn)不同類型鋼管單根重量的精確計算,客戶分攤調取重量分攤的結果,由客戶分攤實現(xiàn)按客戶訂貨金額的鋼管數(shù)量分攤,生成最終的單個客戶訂貨金額結算單。結算單管理包括查詢、打印結算單,并且會保存打印時間。
圖4 視頻采集流程Fig.4 Flow chart of video collection
圖5為軟件重量分攤算法的流程圖。操作人員選擇訂單后,軟件從數(shù)據(jù)庫調取相關的訂單和貨車過磅單信息。例如:發(fā)貨單A,B,C規(guī)格產(chǎn)品分別為500 kg、200 kg、100 kg。 車輛自動稱重 3 次,則軟件得到770 kg和120 kg 2次貨物凈重。操作人員設置A產(chǎn)品分攤重量500 kg,為第1次稱重。相應的B產(chǎn)品200 kg,第1次;C產(chǎn)品100 kg,第2次。按照比例分攤計算結果為A,B,C產(chǎn)品的修正重量分別為550 kg,220 kg,120 kg。 軟件根據(jù)貨物的根數(shù),獲得一個新的單根重量數(shù)據(jù)。批量分攤是卡車僅獲得了一次產(chǎn)品凈重的情況下,得到的單根重量。
圖5 軟件重量分攤算法的流程Fig.5 Flow chart of weight allocation
軟件按順序選取發(fā)貨單一客戶一產(chǎn)品,判斷此產(chǎn)品的剩余金額是否大于客戶所需金額。判斷為否,將這產(chǎn)品規(guī)格全部給這個客戶,再順序選取一產(chǎn)品。否則就直接分配,并計算此產(chǎn)品的剩余金額,再選取下一個客戶。判斷客戶是否是最后一個客戶,如果不是,返回判斷剩余金額是否大于該客戶所需金額,否則就判斷上個分攤記錄剩余重量是否大于0,大于上一個產(chǎn)品的重量和剩余產(chǎn)品全部分給此客戶,如果不大于,只需將剩余規(guī)格產(chǎn)品的重量分給最后一個客戶,將計算結果保存在數(shù)據(jù)庫中。圖6是軟件客戶分攤算法的流程圖。
圖6 軟件客戶分攤算法的流程Fig.6 Flow chart of customer-sharing
本系統(tǒng)于2014年2月開發(fā)完成,并已經(jīng)在廣州京華鋼管廠運行,實際運行表明:重量信息采集準確、系統(tǒng)運行穩(wěn)定、安全可靠、可有效防止稱重作弊,減少人力成本,提高工作效率,完全滿足鋼管廠的業(yè)務需求。
[1]余濤.無人值守載貨車輛自動稱重系統(tǒng)的設計與實現(xiàn)[D].北京:北京交通大學,2010.
[2]張樂,魯仁全,徐生林.車輛衡自動稱重系統(tǒng)的設計與實現(xiàn)[J].浙江大學學報:工學版,2010(7):1414-1417.
[3]李建奇,何鵬,王文虎,等.一種新型糧食企業(yè)智能稱量系統(tǒng)的設計[J].自動化與儀表,2012,27(5):50-53.
[4]譚威.基于網(wǎng)絡的電子汽車衡計量管理系統(tǒng)[D].鞍山:遼寧科技大學,2007.
[5]李翠.基于車輛自動識別的智能計重監(jiān)控系統(tǒng)的研究與設計[D].鄭州:鄭州大學,2010.