過去,許多石化企業的車輛過磅稱重采用有人值守系統,即:通過現場人工計量的方式,多個地磅需要安排多個司磅員,司磅員手工記錄車輛皮重和毛重,再根據計算得出的石油化工品的凈重來結算業務。而傳統的單機無人值守系統結構單一,未對外提供數據接口,無法實現與第三方系統的無縫對接,且操作流程復雜、耗時長、參與人員過多,易造成計量管理混亂、執行效率低下,各種作弊現象也時有發生。因此,隨著通信與網絡技術的快速發展,越來越多的企業希望裝卸車地磅本地業務處理采用無人值守型遠程監控方式,包括自動識別車號、自動檢測車位、自動引導、自動保存稱重數據及生成各類報表等,從而增強工業園區裝卸車的管理執行力,提高工作效率,高效地實現與MIS/ERP系統的數據共享與溝通,有效防止夾帶作弊、車輛不完全上磅、遙控作弊等多種作弊行為,堵塞各種管理漏洞,實現管控一體化。
近幾年來,無人值守稱重系統在煤礦、冶金、化工等行業均有廣泛應用[4-6]。該系統通常配合定量裝車系統、SCADA(supervisory control and data acquisition,監控與數據采集)系統、排隊叫號系統等有序地實現整個庫區的儲運管理,其安全性、可靠性、穩定性保證了企業物流安全和人力財產安全。在工程應用中,可利用研華科技亞當模塊來控制現場道閘信號和紅外信號,并和地衡信號一起通過Prolinx網關傳送給上位機。該方法簡單易行,在大型的多磅稱重需求中相對能降低成本,但是所需實現的功能過于分散,對于稱重信號的計算與處理必須通過上位機來完成,在項目管理中不利于分工合作,而且該模塊的穩定性依賴于計算機,信號采樣速度較低。因此,本文根據某石化企業的項目需求,針對地衡數目較少的小型稱重系統,利用Allen-Bradley Micro850控制器,通過網絡互聯,實現了地衡稱重的無人值守管理。
1.地磅無人值守稱重系統總體結構
地衡無人值守稱重系統主要由地衡、紅外光柵、道閘、IC讀卡器攝像頭等構成,其網絡結構如圖 1所示。該系統將采集到的現場數據通過以太網傳輸與中央控制室的稱重管理軟件進行數據交換和管理,從而實現車輛過地衡時數據自動監測和遠程管理的功能。
地磅采用傳感式電子汽車衡,用于車輛裝卸稱重;紅外光柵利用多束紅外光對射來判斷車輛停放位置是否正確;道閘的開啟與關閉均由地感線圈觸發控制,用于限制車輛的通行,達到提示與安全保障的目的;基于RFID[10]技術的IC(integrated circuit,集成電路)卡通過無線電波與讀卡器進行數據傳輸,自動識別業務信息,保證每筆業務的唯一性;攝像頭一般有3個,為車前攝像、車后攝像和全景攝像,用于稱重過程圖像采集和視頻動態錄像;LED (light emitting diode, 發光二極管)顯示屏通過Prolinx通訊網關將數據傳輸格式由Modbus RTU轉換成Ethernet/IP格式,用于顯示提示信息,引導司機完成整個稱重過程。
2.雙向地磅無人值守稱重系統的設計與實現
2.1 PLC選型
根據無人值守系統的功能要求與特性,PLC(programmable logic controller,可編程邏輯控制器)采用Allen-Bradley Micro850控制器。該控制器價格低廉,但具有高靈活性、高I/O性能、低空間占用、高穩定性的特點。它內置24 V直流輸出電源,配置48點的數字量I/O模塊,且可至多擴展4個I/O模塊,同時配備串行通信plug-in功能性插件及嵌入式10/100Base-T以太網端口,支持Modbus TCP,Ethernet/IP,Modbus RTU等協議,并采用可拆卸端子設計[13]。
2.2 I/O配置與地址映射
地磅系統分為單向和雙向兩種類型。根據實際需求,本文研究雙向地衡無人值守稱重系統,如圖 2所示,其中,地感線圈、紅外光柵、IC讀卡器、道閘各為2個。用到的數字量輸入為地感線圈信號和紅外信號,共計4個輸入點;數字量輸出為道閘信號,共計4個輸出點。道閘的開啟與關閉由不同的輸出點控制,稱重系統I/O配置如表 1所示。
表 1 雙向地磅無人值守稱重系統I/O配置Table 1 I/O configuration of bidirectional weighbridge unattended weighing system
變量名 | 數據類型 | 描述 |
_IO_EM_DI_00 | Bool | 地感1線圈 |
_IO_EM_DI_01 | Bool | 紅外光柵1 |
_IO_EM_DI_02 | Bool | 地感2線圈 |
_IO_EM_DI_03 | Bool | 紅外光柵2 |
_IO_EM_DO_00 | Bool | 道閘1開啟 |
_IO_EM_DO_01 | Bool | 道閘1關閉 |
_IO_EM_DO_02 | Bool | 道閘2開啟 |
_IO_EM_DO_03 | Bool | 道閘2關閉 |
表選項
本系統用到的2080-serialisor plug-in串口模塊共有2個,分別使用MSG_Modbus功能塊和ARD(ASCⅡ read)功能塊來讀取IC讀卡器和地衡數據。由于2種數據傳輸方式不同,需要分別對它們組態,將串行傳輸方式分別設定為Modbus RTU和Modbus ASCⅡ。同時,為了響應Modbus主站的讀寫命令,必須將變量映射到Modbus地址中。讀/寫保持寄存器初始地址為400001H,本系統共用到22個變量,部分變量標簽的Modbus地址映射如表 2所示。
表 2 變量的Modbus地址映射Table 2 Modbus address mapping of variables
變量名 | 數據類型 | 首地址 | 所使用的地址 |
A_dw_out_cardNo1 | dword | 400001 | 400001-400002 |
A_dw_out_cardNo2 | dword | 400003 | 400003-400004 |
A_r_out_weightCurrent | real | 400005 | 400005-400006 |
A_r_out_weightResult | real | 400007 | 400007-400008 |
… | … | … | … |
A_w_out_infrared1 | word | 400021 | 400021 |
A_w_out_infrared2 | word | 400022 | 400022 |
表選項
2.3 系統控制流程
根據實際工況,PLC控制模式設計為“自動控制”、“手動控制”和“維護”三種。一般情況下,稱量過程按照正常程序和步驟,以“自動控制”方式進行。
司機在業務大廳根據ERP (enterprise resource planning,企業資源計劃)系統生成的發貨單開票制卡后,等待叫號,依次過磅稱重。車輛駛向地磅時,地感線圈感應到車輪振蕩,從而控制道閘開啟,延時幾秒后觸發紅外光柵。需要注意的是,本文設置的地磅被感應的最低限值為20 kg,防止因人為、天氣或其它因素的干擾導致紅外光柵被意外觸發。司機將車停穩后進行刷卡,上位機查詢數據庫對卡內信息進行比對,以確定業務是否存在,如果連刷3次一直提示不存在,則道閘自動打開,提醒司機下磅重新開票辦理業務。為了便于區分,本文規定以“1”開頭的為正向行駛,以“2”開頭的為反向行駛,當業務不存在時,定義為以“3”開頭,兩側道閘同時打開,車輛可從任意一側下磅。雙向地衡自動控制流程如圖 3所示。當出現意外或緊急情況時,可通過上位機將控制方式改為“手動控制”模式,PLC程序將被旁通,現場所有設備直接由上位機控制。出于安全考慮,當進行設備維修和養護時,可將控制方式改為“維護”模式,此時PLC程序和上位機被鎖定,不允許執行任何操作。
2.4 數據采集
本系統基于CCW(connected components workbench)組態軟件進行設計編程。IC卡號的讀取是通過Modbus RTU串行傳輸模式,采用MSG_Modbus功能塊,以非連續觸發的方式,Modbus RTU主站讀寫從站保持寄存器的數據,并將數據存放于緩存區LocalAddr中。若MSG指令執行成功,則輸出Q置為“True”。
地磅稱重信號無法直接獲得,必須通過二次表將數據提供給PLC。本文采用的二次表為Mettler Toledo T800稱重儀表,它提供了2個串行口(COM1和COM2),通過COM1將數據輸出到PLC,波特率設為9 600 b/s,8位無校驗,輸出方式為Toledo連續輸出。二次表的數據是以18個字節的ASCⅡ碼形式輸出的,起始符為02H,第5~10位用于存儲毛重,為6位不帶小數點和符號的數字;第17位為回車符0DH,只有讀到回車符,才被認為數據獲取完整。因此,在PLC編程時,需要對第5~10位進行數據格式轉換,然后由上位機來判斷所獲得的當前值是皮重還是毛重。首先通過軟件內置的AWA功能塊,將數據以十六進制ASCⅡ的格式存入緩存區Source中;接著利用ARD功能塊讀取ASCⅡ字符,并將它轉換成Dint類型,然后需要分別判斷第5~10位的字節是否為空格,即是否為“32”,若是,則將“0”賦值給該位,若不是,則減去“48”,將差值賦給該位;最后,將每一位數值乘以它的數量級再求和,得到實際質量為:
A_real=∑i=510(1010?i×A_out[i])A_real=∑i=510(1010?i×A_out[i]) | (1) |
式中:A_real為實際稱重有效值,A_out[i]表示第5~10位十進制字符,字符范圍為0~9。
2.5 質量信號的濾波處理
稱重車輛載重一般是成噸計的,而地磅二次表的測量精度是20 kg, 車輛上磅停穩后,會因人為、天氣等各種因素的干擾,導致稱重值不斷跳變,因此,在程序中加入了250 ms的定時器來不斷更新稱重值,LED顯示屏、二次表和上位機信息管理系統中可顯示實時質量變化。同時,為了獲得較準確的皮重和毛重,必須將質量信號進行濾波處理,取一個穩定的有效值提供給業務站,以便開票出單。傳統的濾波算法有平均值濾波、限幅濾波、中位值濾波、滑動平均值濾波等,本文采用的是對稱重數據進行2次過濾的方法。
第1步,采用限幅平均濾波法來粗步篩選數值A_real,由于每隔250 ms刷新一次,取10個Buffer數據緩存區,將當前時刻獲取的A_real替換前一時刻的值,依次存儲到A_weight[1],A_weight[2],…,A_weight[10]中,通過式(2)求得平均稱重值A_weightAverage,然后與第11次取得的當前值進行比較,根據其偏差是否小于等于閾值100 kg為標準來剔除無效的A_real,并將滿足條件的當前值賦給A_weightCurrent。
A_weightAverage=110∑i=110A_weight[i]A_weightAverage=110∑i=110A_weight[i] | (2) |
第2步,通過上面的方法可每250 ms得到一個A_weightCurrent數值,然后定義一個1 s的延時器,每隔4個數據進行一次采樣,即每隔1 s將采樣值賦給變量A_weightBuffer,再次利用限幅濾波法進行細過濾。當然,為了進一步減小誤差,只有當5 s內所取的20個數據全都滿足偏差值小于等于20 kg,才能將當前時刻的A_weightCurrent作為真正穩定的稱重值賦給A_weightFinal,最后,業務站根據A_weightFinal值統計車輛過磅信息和結算業務。
3 .系統操作管理
本系統基于Server SQL數據庫進行后臺業務處理,包括制卡、打印提貨單和車裝出庫單等,并通過Visual Studio 2010開發環境將對數據庫操作的具體方法發布為WebService服務,實現數據遠程訪問。同時,利用C#編程語言,開發了一套具備地衡稱重及查詢裝車業務功能的地磅無人值守稱重管理系統。圖 4為稱重管理系統客戶端界面,計量操作中心的操作員只需輸入相應網址,就可通過瀏覽器登陸系統,查看地衡的過磅信息和業務信息、正在進行的裝卸車業務、當前車輛最近30條歷史數據等。圖中的“實裝量”由批量控制儀提供,批量控制儀在裝車系統中通過控制傳輸管道閥門的開度來控制化工品的流量。受到諸如丙烯等化工品的氣相回流、空氣浮力、批量控制儀所采取的控制策略等因素的影響,檢測到的實裝量會存在一定誤差,所以目前各石化企業的稱裝量仍以過磅信息為準。
現分析某石化企業現場的地衡系統稱重0#柴油的計量誤差。選用Endress+Hauser公司的NXF581批量控制儀,通過連接Promass 83F質量流量計來控制調節閥的開度。現場通過不同的定量,將車輛過磅的凈重與批量控制儀顯示的實裝量進行比較,如表 3,分析得出通過該濾波算法能夠將計量誤差控制在3‰以內,符合實際的工業要求。
表 3 化工品過磅凈重與所示實裝量的誤差分析Table 3 The error analysis between net weight of petrochemicals weighed by weighbridges and the showed actual amount
定量/t | 實裝量/t | 過磅凈重/t | 誤差/‰ |
10 | 9.987 | 9.980 | 0.70 |
15 | 14.941 | 14.960 | 1.27 |
18 | 17.975 | 17.960 | 0.84 |
22 | 21.991 | 22.000 | 0.41 |
30 | 29.966 | 29.900 | 2.20 |
表選項
4 .結論
本文利用Micro850設計了雙向地磅無人值守稱重系統,可實現現場無人值守、司機自助稱重以及遠程集中計量。整個系統采用了集中監控管理的設計模式和分布式監測數據的智能設備,并設計開發了良好的可視化用戶管理界面,促進企業物流、管理等的一體化發展。該系統已正式投入企業的實際應用,并取得了良好的效果。