摘 要 本文以實現水泥廠自動定量散裝及出廠數據管理為目的。運用了西門子S7-200CN PLC 及由VB 語言編寫的上位機軟件。實現了水泥自動定量散裝、產品出廠數據記錄、記錄數據管理等功能,并且通過以太網和條形碼掃描系統將本系統與水泥廠的ERP 系統完美的結合。
關鍵詞 S7-200CN PLC;MPI;VB;RS232;RS485;自由口
1 引言
目前大部分水泥廠散裝水泥出廠,都是由傳統的手動灌裝,然后門口過秤方式, 這樣不但步驟麻煩,每個部門之間也只能通過手動單據來傳遞數據,更談不上數據的統一管理。所以隨著網絡、計算機、信息、控制技術以及現代化管理理念的發展, 上述這種傳統的水泥產品出廠已經不能滿足當前工廠的需要,為了更好的解決此問題,幾年來我們一直致力于集成整個發運系統的研究,為用戶帶來了完美地解決方安,并且已在很多水泥廠廣泛的應用,得到用戶一致好評。
本文以有梅特勒-托利多(常州)稱重系統有限公司為臺泥(英德)水泥有限公司提供的水泥出廠管理系統為基礎,詳細介紹了整個發運系統的構成。本系統以一套西門子S7-200CN PLC 為執行部分硬件基礎,以VB 編寫的上位機部分,臺泥自己的ERP 服務器作為數據管理部分組成了整個水泥散裝發運系統。并通過以太網和條形碼掃描系統將執行部分與數據管理部分有機的結合起來,為用戶提供了完美的數據管理及查詢系統,為決策層提供了快捷、有效的數據支持。
2 系統構成
硬件組成
1、 西門子S7-200CN PLC+IO 擴展模塊+EM277
2、 梅特勒-托利多150T 模擬汽車衡+Panther 稱重儀表
3、 Dell 計算機
4、 西門子CP5611 通訊卡
5、 MOXA A52/53 RS232/485 轉換器
6、 條形碼掃描器
7、 以及相應的低壓電氣
本系統以西門子S7-200CN PLC 作為核心執行、計算、通訊部分。由它通過自由口來讀取Panther 稱重儀表的重量數據,并且通過接收上位機的命令來控制現場所有設備的啟動、停止等動作。上位機安裝CP5611 卡,通過MPI 與安裝在西門子S7-200CN PLC 通訊。
總體配置圖如下:
3 雖然網絡配置和硬件配置比較簡單,但本系統卻實現了水泥散裝系統的全部功
能。下面我們來詳細討論。
第一 西門子S7-200CN PLC 及其與Panther 儀表通訊
這部分我們主要來討論西門子S7-200CN PLC 的主要作用和用法。
S7-200CN PLC 在這里主要是啟到了中樞神經及大腦的作用。S7-200CN PLC 的主要用途是來控制定量散裝所需要的各種現場設備,包括:羅茨風機、流量閥、開關閥、除塵器、除塵風機、散裝機等。
更重要的我們需要用S7-200CN PLC 讀取Panther 稱重儀表的讀數。數據傳輸有很多種方式,經過硬件成本及數據準確性等多方面的比較,我們這里采用了通過S7-200CN PLC 的自由口通訊來讀取Panther 稱重儀表的讀數,但是中間出現了一個問題,Panther 稱重儀表只有通過RS232 的輸出,然而S7-200CN PLC 的自由口卻是RS485 格式的,所以中間增加了MOXA 的A52_53 RS232/485 轉化器,將此問題解決。
原理圖如下:
第二 上位機及其與西門子S7-200CN PLC 通訊
這部分我們主要來討論上位機的主要作用和通訊方法。一般上位機主要是用來監控現場各個設備的運行情況,向PLC 下達一些動作的。
4 命令、報警顯示及一些數據的歸檔。
在這里上位機除了擔任以上任務外還要與ERP的服務器進行通訊,通過條形碼掃描器識別槽車信息,通過網絡讀取裝車單、允裝量,寫入皮重值、凈重值等。我們為了提高與PLC 的通訊速率,我們在PLC 端加了EM277,計算機端加了CP5611 卡,之間用MPI 來通訊。而計算機與ERP 服務器之間通過以太網來通訊。
軟件部分
這里主要包括兩個部分,PLC 軟件和VB 編制的上位機軟件
第一 PLC 軟件
在PLC 軟件方面除了包括常規設備洛茨風機等常規設備的控制外,主要工作還包括了通過中斷程序讀取Panther 稱重儀表的數值、通過一定的算法來控制定量裝車值。中斷讀取Panther 稱重儀表的數值這部分比較簡單,設置好自由口后,經過ASCII 碼轉換為16 進制數據經過一些簡單的運算即可得到Panther 稱重儀表的數 值。在得到Panther 稱重儀表的數值后,主要的問題就是怎樣來控制才能做到定量裝車,如果簡單的一想,有了Panther 稱重儀表的數值,只要我們和要求的目標值進行比較就可以做到定量裝車了。其實則不然,因為一般的水泥槽車都有至少兩個裝車口,甚至更多,當地一個口裝車完畢后,槽車必須向前移動,再裝第二個口, 問題就出來了,卡車前移,車頭一般都會走出汽車衡一段距離,所以現在Panther 稱重儀表的數值就不是真實的總重值了。為了解決這個問題,我沒引入了累計凈重,所謂累計凈重,就是每次暫停裝車時(也就是車向前移動前),我將凈重記錄,然后再移動槽車,假定移動后槽車頭出了汽車衡,這時(第二次啟動裝車前)記錄總重, 作為本次裝車的皮重, 來計算本次的凈重,本次的凈重加上累計凈重就是當前的凈重值,把當前凈重值再去和允裝量比較,便可以做到定量裝車。現場可得運行結果一般誤差都在1%以內。
如下示意圖:
5 第二 VB 編寫上位機軟件
此部分由VB 程序編寫的上位機程序。
由于VB 的靈活性,以及此上位機軟件與ERP 通訊的要求,我們選擇了用VB 來開發上位機軟件。當然VB 開發上位機軟件的主要過程比組態軟件多出了很多不便之處,例如,我們需要自己編寫用戶管理、報警顯示、報警信息查詢、數據歸檔及查詢等功能塊,但是最重要的就是和PLC 的通訊接口了,西門子為我們提供了 PC Access 軟件,此軟件包括了計算機和PLC 通訊的驅動程序,我們在VB 中調用其部件便可以和PLC 通訊。這里用了OPC 通訊協議。通訊思路如下圖。
6 完成了和PLC 的連接后就是上位機和服務器的通訊(SQL Server 2000 數據庫),每次裝車前我們會從司機手里拿到標志其身份的條形碼,我們將其掃入計算機中,再由服務器讀到所有的裝車信息,包括:允裝量、車號、單位等,啟動裝車后我們首先將皮重傳給服務器,在裝車完畢后我們再把凈重值、裝車時間、操作人員等信息傳遞給服務器。我們直接通過字符串來連接數據服務器(詳細過程不再敘述)。其主要操作界面如下。
第三 數據查詢及數據打印
我們用VB 開發了數據查詢終端,用此軟件,用戶可以隨時隨意按照各種組合要求來查詢數據。例如:可以安裝時間日期、車號、客戶等等。為了使水泥購買客戶隨時打印裝車單或銷售單據,本系統設置了打印中心,客 戶可以到打印中心打印各種需要的單據,打印后灌裝數據回自動更新到銷售中心,當客戶回到銷售中心,可以按照實際灌裝量退補差價。當然,在打印中心用戶可以隨時打印各種報表,例如銷售數據的日月年報表, 灌裝數據的報表等。
7 結論
本文系統不僅僅實現了西門子S7-200CN PLC 控制,并且更深入的用到了西門子S7-200CN PLC 與稱重儀表串口通訊, VB 常規軟件與PLC 通訊,實現對設備的監控、報警紀錄、數據采集功能、變量記錄等功能,對數據的處理,SQL Server 2000數據庫的應用。
當然,作為一套新型的多部門集成系統,肯定存在很多不足之處,希望各位能提出寶貴的意見。謝謝!
胡紹明
梅特勒-托利多稱重系統有限公司 秦皇島配料事業部
地址:秦皇島開發區和平開發大廈5 樓 梅特勒托利多公司
電話:0335-8077316-377