摘 要:本文介紹了基于工控機和PLC的蠶種孵化過程實時控制系統(tǒng),結(jié)合通信技術(shù)、線程技術(shù)和數(shù)據(jù)庫技術(shù),成功的實現(xiàn)了蠶種孵化室的溫濕度控制及蠶種銷售管理,具有很好的效果。
關(guān)鍵詞:工控機;PLC;線程;蠶種孵化
1 引言
修水縣是江西省的蠶桑大縣,蠶絲產(chǎn)量是該縣的經(jīng)濟支柱,且關(guān)系到千家萬戶農(nóng)民的切身利益,為了提高蠶種的產(chǎn)量和質(zhì)量,促進蠶桑經(jīng)濟的發(fā)展,該縣蠶桑局委托我們開發(fā)蠶種孵化過程的溫濕度實時控制系統(tǒng)。
2系統(tǒng)結(jié)構(gòu)及控制流程
修水縣蠶桑局蠶種孵化樓共三層,每層有6個孵化室,根據(jù)技術(shù)要求和孵化室的地理位置,我們采用了按層控制的方案,即每一層的6個孵化室為一個獨立的控制系統(tǒng),使用一個PLC對其溫度和濕度進行控制,各PLC通過雙絞屏蔽線與工控機互聯(lián),整個系統(tǒng)為二級計算機監(jiān)控,系統(tǒng)結(jié)構(gòu)如圖1所示。圖中溫濕度變送器采用北京昆侖海岸傳感技術(shù)中心的JWSF-3AC-E型溫濕度變送器,該變送器為三線制電流遠傳,輸出為標(biāo)準(zhǔn)的4~20mA電流信號(兩路);巡檢儀也采用北京昆侖海岸傳感技術(shù)中心的XSL/A16BS3巡回檢測報警儀,具有16通道4~20mA電流輸入(實際只用了12通道,其中6個溫度通道6個濕度通道),輸出為數(shù)字信號,共19位,其中D18~D14為通道編碼,D13為極性,D12~D0為溫濕度數(shù)值,各通道數(shù)據(jù)分時巡回輸出,通過設(shè)置各通道的量程上、下限還可巡回顯示各通道的溫濕度數(shù)值;PLC采用西門子S7-200系列CPU226(增加擴展模塊EM223),由于西門子PLC提供的是RS485串行接口,而工控機只提供了RS232串行接口,所以在PLC和工控機之間必須使用RS485/232電平轉(zhuǎn)換器。
控制方案為:安裝在各孵化室的溫濕度變送器將孵化室的溫濕度信號轉(zhuǎn)換成4~20mA的電流信號并送至巡檢儀,巡檢儀根據(jù)事先設(shè)置的量程上、下限將電流信號轉(zhuǎn)換成溫濕度數(shù)據(jù)并巡回顯示,同時還以二進制形式巡回輸出這些數(shù)據(jù)至PLC,PLC以開關(guān)量的形式采集這些二進制數(shù)據(jù),并按照規(guī)定的格式將這些二進制數(shù)據(jù)轉(zhuǎn)換成各孵化室的溫濕度數(shù)據(jù),然后與按工藝要求設(shè)定的溫濕度數(shù)據(jù)進行分段比較、判別,發(fā)出控制信號,控制信號經(jīng)控制板功率放大,驅(qū)動相關(guān)執(zhí)行器(空調(diào)、加熱器和補濕器)實施孵化室的分段溫濕度控制。采用上述控制方案既保證了在工控機或通信發(fā)生故障時,可根據(jù)巡檢儀顯示的數(shù)據(jù),采用人工調(diào)節(jié)的方式對孵化室的溫濕度進行控制,又避免了在PLC中增加A/D轉(zhuǎn)換模塊,從而確保了系統(tǒng)的可靠性,降低了成本。
3軟件設(shè)計
根據(jù)控制方案及用戶要求,工控機主要完成下列功能:工藝流程的設(shè)置,控制參數(shù)的修改,實時數(shù)據(jù)的顯示、報警及保存,蠶種銷售的管理等。我們選用Delphi作為前臺程序設(shè)計語言,設(shè)計各種人機界面和工控機部分的通信程序,Microsoft Access作為后臺數(shù)據(jù)庫系統(tǒng),用于保存各孵化室的分段溫濕度設(shè)定值、整點實際值、報警記錄及蠶種銷售記錄等,修改控制參數(shù)的人機界面如圖2所示。
由于工控機既要完成人機界面操作,同時又要與PLC進行串行數(shù)據(jù)通信,為了保證人機界面的操作不影響數(shù)據(jù)通信的正常進行,而數(shù)據(jù)通信的進行也不會造成人機界面的停滯或反應(yīng)不及時,我們在程序中引入了多線程的機制,將程序處理的任務(wù)分為兩個線程:響應(yīng)用戶操作線程和數(shù)據(jù)通信線程,并且把響應(yīng)用戶操作線程作為主線程,該線程具有最高優(yōu)先級,以保證系統(tǒng)能夠快速響應(yīng)操作員的各種操作,而數(shù)據(jù)通信線程的優(yōu)先級設(shè)為較低。
PLC部分的程序主要完成各孵化室溫濕度的實時采集,并與設(shè)定值進行比較、判別,發(fā)出控制信號,控制空調(diào)、加熱器、補濕器及電機的啟停,確保空調(diào)、加熱器及補濕器兩次啟動的最短間隔時間滿足系統(tǒng)設(shè)置的要求,還確保了空調(diào)(用于制冷)和加熱器不會同時開啟。PLC的另一個任務(wù)是與工控機進行串行通信。
4串行通信
西門子S7-200系列PLC的通信口主要有兩種工作方式:PPI方式和自由口方式,PPI方式專門用于西門子PLC與其編程器或人機接口產(chǎn)品之間的通信,不對外公開,而自由口方式完全對用戶開放,采用自由口方式,S7-200系列PLC可以與任意具有串口的設(shè)備進行通信。
自由口通信采用主從方式,工控機為主站,PLC為從站,PLC始終處于被動狀態(tài),隨時準(zhǔn)備接收計算機的通信請求幀,只有在PLC接收到工控機發(fā)送來的請求幀后,才能回送相應(yīng)的幀。工控機發(fā)送請求幀采用周期性通信,周期為10秒。本系統(tǒng)采用半雙工方式通信,物理層采用RS485協(xié)議,波特率為9600bps,數(shù)據(jù)長度8位,停止位1位,采用奇校驗。
工控機部分的通信程序由Delphi實現(xiàn),利用Delphi實現(xiàn)串行通信的方法有多種(如使用控件、調(diào)用API函數(shù)、嵌入?yún)R編、調(diào)用動態(tài)鏈接庫等),我們采用了SPComm控件實現(xiàn)串行通信,其主要屬性有:CommName、BauRate、ParityCheck、ByteSize、StopBits等,分別用來設(shè)制串口名、波特率、是否校驗、采用奇還是偶校驗、數(shù)據(jù)長度、停止位數(shù)等,主要方法有StartComm、StopComm,分別用來打開和關(guān)閉串口。
本系統(tǒng)中工控機與PLC之間傳輸?shù)男畔⒂袃煞N:工控機發(fā)送的組態(tài)數(shù)據(jù)(溫濕度的設(shè)定值,空調(diào)、加熱器、補濕器兩次啟動之間的最短間隔時間等)和PLC發(fā)送的現(xiàn)場數(shù)據(jù)(主要是各孵化室的溫濕度數(shù)據(jù)和空調(diào)、加熱器、補濕器及電機的狀態(tài)),因此,我們定義了如下通信協(xié)議(其中XX為從站號)。
每當(dāng)PLC接收到工控機發(fā)出的信息后即觸發(fā)中斷服務(wù)程序,中斷服務(wù)程序根據(jù)事先定義的幀格式(即通信協(xié)議)識別其內(nèi)容,作出相應(yīng)的響應(yīng)。在工控機發(fā)送組態(tài)數(shù)據(jù)時,若出現(xiàn)無應(yīng)答、應(yīng)答錯誤或累計和錯誤,工控機延時10秒后再發(fā)R命令,若連續(xù)6次出現(xiàn)上述情況,則發(fā)出通訊錯誤報警。在工控機接收現(xiàn)場數(shù)據(jù)時,若出現(xiàn)無應(yīng)答、應(yīng)答錯誤,上位機延時10秒后重發(fā)T命令,若連續(xù)6次出現(xiàn)上述情況,也發(fā)出通訊錯誤報警。
5結(jié)束語
本系統(tǒng)投入運行一年來,據(jù)用戶反映可靠性高、效果好。由于控制精度高,工藝正確,孵化出來的蟻蠶強健、好養(yǎng),成繭繭層厚、繭絲長、凈度優(yōu),社會經(jīng)濟效益十分明顯。
參考文獻:
[1]西門子公司.SIMATIC S7-200可編程序控制器系統(tǒng)手冊[S].上海西門子公司,2000.6
[2]TAMRA KERNS.The Advantages of Multithreaded Applications,National Inst ruments.Published by EE-Evaluation Engineering[M].1998 Nelson Publishing
[3]張子瑜,鄭宏興著.Delphi 5深入編程[M].東南大學(xué)出版社,1999