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