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