此文詳細介紹了在Windows98環境下使用Visual Basic6.0開發出的一套實用的配料控製器係統。該配料控製係統主要包括了數據的管理和處理、數據的接收與發送和組態軟件通訊的DDE。同時控製係統實現了各配料控製設備間的信號通訊和數據管理,具有很高的實用性和可靠性。 如今配料控製幾乎涉及到工業生產的各個領域,特別是在化工領域中尤為廣泛。然而我國在該領域中還是以人工方式為主,機械自動化為輔的一種生產方式。所以稱重精度比較低並嚴重影響了生產效率,同時有些化工原料還對人體健康有嚴重的危害。所以對配料控製係統自動化生產的研究和開發已經成為一個非常迫切的問題。 隨著微機性能、價格和軟件水平的不斷提高,開發出一套適合實際應用的微機配料控製係統已經不再是一件很困難的事了。 1. 配料控製器係統的組成 在介紹配料控製器組成前先介紹一下生產的流程。圖1是整個配料係統的實際生產流程圖。 在實際生產中先把加料鬥1原料加入到稱重鬥中,經稱重鬥稱重後直接放入到校核鬥中然後在加入下一個加料鬥原料,以此類推。在所有原料都稱完後再在校核鬥中校核一下所有原料的重量,然後再加入到混合鬥中進行混合,混合完後把混合料放入到包裝鬥中進行包裝,包裝完後就直接輸出了成品。 實現上述生產控製所需要的係統硬件組成是PC機、全功能多組分重量配料控製器、稱重傳感器、RS232/485轉接卡、RS—485總線、PLC。其中全功能多組分重量配料控製器應配備雙方向的BCD、RS—485、D/A轉化等數字通信接口,還應有PLC專用接口。如美國UNIPULSE公司生產的F800和F701全功能多組分重量配料控製器(以下簡稱配料控製器)。軟件組成是VB6.0管理控製軟件、Access2000數據庫、組態王軟件。 Microsoft公司的VB6.0是當今世界上最優秀的開發工具之一,它擁有強大的數據處理功能和報表打印功能,同時能方便快速的與外部進行數據通訊。本套配料係統設計的通訊實現的功能就是利用VB6.0開發出來的,其具有實用性能好,可靠性高的特點。 使用RS232/485轉接卡,提高了係統的抗幹擾性,同時增加了信號的傳輸距離和增強了外掛通訊設備的能力。從而解決了PC機一個Com口與多個配料控製器通訊的問題。 配料控製器主要與VB程序和PLC程序交換數據(包括發送和接收)。
PLC主要特點是穩定性好、可靠性高、能在很惡劣的環境下運行。在本係統中主要用其去控製稱重傳感器,並與配料控製器和組態軟件進行數據交換。 稱重傳感器(與配料控製器配合使用) 在數據交換方麵組態軟件具有強大的功能,它能很方便的與PLC進行實時的數據交換。並且它與VB程序能很方便的進行DDE(動態數據交換)連接。同時用DDE方式來代替總線傳輸方式可以大大減少外部的幹擾,提高係統的可靠性。並在很大程度上減少了整個係統的成本,同時也降低了係統的維護成本。 下麵主要講述了控製係統的整個數據流程:
首先通過PC機中VB管理控製軟件設定各配料不同原料的各項值,然後通過PC機的Com口和RS232/485總線把值傳入到配料控製器中;然後由這些值通過PLC去控製其它部分(如各個鬥的閥門開關),PLC同時接收控製部分的信號並把它傳給配料控製器和組態軟件;然後通過PC組態軟件的DDE連接通知VB程序去讀取配料控製器的數據;最後對這些數據進行分析和處理。在這裏VB程序和PC組態軟件是放在同一台PC機中的,它們的DDE連接是通過軟件給予實現的。 2. 配料控製器軟件實現 下麵主要介紹的是VB管理控製軟件的具體實現過程,其主要功能是實現與配料控製器的數據交換、與組態軟件的DDE連接和數據交換、同時還要實現對數據的管理。 在實際操作中用七大模塊來實現上述所要求的功能,其分別是:初始化模塊、管理員和用戶管理模塊、配料參數設置模塊、數據發送模塊、組態軟件DDE模塊、數據接收和處理模塊、報表打印模塊。下麵詳細的介紹了各個模塊的主要實現的功能。 2.1 配料控製係統初始化模塊 係統初始化模塊主要是對本軟件中的串行通訊控件Mscomm和配料控製器的各項相關參數進行設置,即設置好雙方的通訊協議,同時應設置好配料控製器的識別地址ID。 對於Mscomm控件的初始化主要是對以下幾個屬性和方法的設定,如下:
Settings 設置或返回通信數據格式,包括波特率、奇偶校驗碼、停止位;
CommPort 設置並返回通信端口號;
PortOpen 設置或返回通信端口的狀態;
InPutlen 接收緩衝區讀取的字符數;
InBuffercount 清空接收緩衝區讀取的字符;
其中波特率應與配料控製器的波特率設置的一樣。
同時為提高通訊的可靠性,還應用Mscomm控件的Oncomm事件捕獲通訊事件,並檢測和處理通訊中的錯誤。 對於配料控製器的初始化主要是設置其ID地址。因為在通訊過程中,程序是根據不同的地址來尋找相應的配料控製器,然後再進行相應的操作。與此同時還需把所有的配料控製器的波特率設置成與Mscomm控件的波特率一樣,相應的配料控製器中的地址應與程序中的設定一樣。 2.2 管理員和用戶管理模塊
為了提高軟件應用安全性,一般軟件都應考慮用戶的權限,以防止其他不相幹人員修改參數而帶來的損失。本模塊功能是參照Windows 2000的管理模式的,即有一個管理員,他的權限能修改任何參數,如有權刪除和修改一般用戶的信息,創建新的用戶名和密碼等功能。一般用戶隻能修改自己所創建的參數,而不允許修改其他用戶信息。該模塊的設置大大提高了本係統的安全性。 2.3 配料參數設置模塊
一種配料往往都包含幾種甚至幾十種原料,而且每種原料的各項指標又不一樣(如重量值,上下偏差等),所以必須對每種原料的各項指標分別進行設置,然後再根據這些值控製配料的配製過程。本模塊就是為了具體實現這種功能的。在本模塊中用戶可以添加新的配料和修改原配料,但不能修改已經配過料的配料。這就避免了因人為的誤操作而引起數據的丟失,保證了數據的完整性,使得數據管理更加合理和規範。同時在未配過料的配料中用戶可以對配料各項值進行增加、修改、刪除等操作。這樣能給用戶以極大的方便及靈活性。 2.4 稱重配料數據發送模塊
本模塊主要的功能就是實現把用戶設定的配料信息通過Com口傳到配料控製器中,再通過配料控製器進行其他具體操作。
在本係統中數據發送的好壞直接影響著配料的質量,而質量的好壞則可以直接評價軟件控製係統的優或劣。本模塊采取了一些手段以用來提高數據發送的可靠性。
首先,本模塊應用串行通訊控件Mscomm的OnComm事件來捕獲通訊事件,檢測和處理通訊中出現的錯誤。用CommEvent屬性來保存OnComm事件發生的錯誤或事件的數值代碼,同時對其進行相應的處理。
其次,在打開通訊端口時要檢測其端口是否已關閉,未關閉的先把其關閉後再打開,以防止傳輸時把A地址的信號傳到B地址上的配料控製器中。同時在傳輸前要檢測其端口是否已打開,以免發生通訊錯誤。最後在通訊完之後,應立即關閉通訊端口。
最後,因為在Windows操作係統中,兩次的通訊間隔必須是大於55ms,如果間隔小於55ms,則很可能會引起通訊的混亂,甚至會引起係統的癱瘓。所以在此模塊中添加了一延時功能。
通過以上手段,使得本係統的可靠性得到了很
大的提高。 2.5 組態軟件DDE模塊
本模塊是本係統的最重要的一個環節。因為它是後兩模塊正常運行的前提條件。
它的主要功能是接收幾個稱重傳感器的到位信號。稱重傳感器的到位信號是通過PLC傳到組態軟件中,然後再通過組態軟件的DDE與VB控製程序相聯接。在DDE聯接中組態軟件與VB控製程序的到位信號是一一對應的。即如果傳感器1的到位信號到達組態軟件中時,VB控製程序就同時去讀取傳感器1所對應的配料控製器的值。這樣就很好的保證了信號的實時性和接收到數據的準確性。同時提高了係統的可靠性和降低了係統的誤差。 2.6 數據接收和處理模塊
本模塊的主要功能就是接收配料控製器的數據,即實際配方過程中的各項指標值。這些值的接收使用戶能很清楚的知道自己產品的生產狀況。
該部分與發送數據模塊一樣也涉及到數據采集的可靠性問題。在該模塊除采用以上模塊的三種手段外在接收緩衝區數據時還設置了判斷其達到一定位數時才去讀取數據,這樣能避免接收到許多幹擾信號。
數據的處理不僅要把接收到的數據放到相應的數據表中,如得到原料實際值的數據放到原料消耗表裏,得到的包裝數據應把它放到包裝數據表中等;還要對這些得到的數據進行計算處理,如根據得到的值算出原料的實際消耗量和耗料率。這樣就大大提高了用戶的工作效率。 2.7 配料報表打印模塊
在實際的生產過程中,及時的獲取生產數據就能及時的反映出生產的狀況,用戶就可以根據獲得的狀況采取一些必要的操作。同時用戶也可能想統計以前某天、某周、某月、某年的各種生產數據時本模塊就能幫助用戶很好的完成這些操作。本模塊是按日、周、月、年統計各種不同的生產數據,這些數據包含了許多不同的報表,比如用戶想看某一天生產出多少袋產品時可以選擇打印包裝表等。同時有些生產數據是由配料控製儀表用圖表方式打印出來的,這樣在很大程度上滿足了不同用戶的需求。本模塊在很大程度上節省了用戶廠家管理成本。
3. 結束語 本文所設計的這套配料控製器係統完全符合稱重配料領域的實際要求,並具有較高的可靠性。現已應用於國內多家從事配料廠家的實際生產中。 參考文獻
1. David Jung等著 前導工作室 譯.Visual Basic 6開發人員參考手冊,機械工業出版社,2000.1
2. 範逸之,Visual Basic 與RS232串行通訊控製,中國青年出版社,2000
3. 組太王自動化使用手冊,北京亞控自動配料軟件及係統科技有限公司,1999
|