基于IPC的配合飼料控制系統(tǒng)的實(shí)現(xiàn)
摘要:本文對(duì)基于IPC (Industrial Personal Computer)的配合飼料控制系統(tǒng)的工作原理、硬件結(jié)構(gòu)和軟件編程進(jìn)行了闡述。該系統(tǒng)采用了動(dòng)態(tài)連接庫(kù)技術(shù)和多任務(wù)處理技術(shù)實(shí)現(xiàn)了對(duì)配合飼料過(guò)程的控制和管理。本人對(duì)動(dòng)態(tài)連接庫(kù)技術(shù)已在貴刊發(fā)表過(guò),在此主要講述多任務(wù)的實(shí)現(xiàn)方法,并給出實(shí)現(xiàn)這一方法的軟件流程圖,這一思想也適用于其它多任務(wù)系統(tǒng)的控制,具有較高的參考價(jià)值。
本文引用地址:http://2s4d.com/article/88281.htm關(guān)鍵詞:I/O接口;多任務(wù);軟件設(shè)計(jì)
1 引言
Visual Basic(VB)是Microsoft 公司推出的一個(gè)集成開(kāi)發(fā)環(huán)境,具有簡(jiǎn)單易學(xué)、功能強(qiáng)大、軟件費(fèi)用支出低等優(yōu)點(diǎn)。它提供了開(kāi)發(fā)Windows 應(yīng)用程序最迅速、最簡(jiǎn)捷的方法,不論是Windows 應(yīng)用程序的資深專家還是初學(xué)者,VB都為他們提供了整套工具,以方便開(kāi)發(fā)應(yīng)用程序。VB中高度的封裝和模塊化減輕了編程者的負(fù)擔(dān),同時(shí)也使開(kāi)發(fā)人員失去了許多訪問(wèn)底層API函數(shù)和直接與Windows交互的機(jī)會(huì),對(duì)接口硬件的控制和低級(jí)操作等方面顯得力不從心。但是在VB中可以調(diào)用Win32API函數(shù)或程序員自己用C/C++等開(kāi)發(fā)一些動(dòng)態(tài)連接庫(kù),用于在VB中調(diào)用來(lái)完成VB中不可能完成的事,大大增強(qiáng)了VB的編程能力。這樣VB和動(dòng)態(tài)連接庫(kù)既能方便地做出用戶滿意的界面,又能控制外部設(shè)備,本人就使用這一技術(shù)編寫(xiě)了飼料廠配合飼料控制系統(tǒng)。
2 系統(tǒng)概述
IPC配合飼料控制系統(tǒng)用于飼料廠自動(dòng)配料過(guò)程。該系統(tǒng)可對(duì)配料、混合流程進(jìn)行自動(dòng)控制。在配料過(guò)程中設(shè)計(jì)了系統(tǒng)流程的監(jiān)控界面、生產(chǎn)參數(shù)配置界面、換倉(cāng)給料、暫停給料、點(diǎn)動(dòng)下料、料柱自動(dòng)跟蹤、打印每斗配料數(shù)據(jù)等功能,實(shí)現(xiàn)了配料過(guò)程自動(dòng)化。
系統(tǒng)硬件配置采用高可靠性工業(yè)控制微機(jī),與現(xiàn)場(chǎng)相連的開(kāi)關(guān)量輸入、輸出接口電路板采用光電隔離技術(shù),提高了系統(tǒng)的抗干擾和穩(wěn)定性,延長(zhǎng)了使用壽命。人機(jī)對(duì)話界面友好,完全符合Windows 界面規(guī)范,采用下拉菜單列出全部功能,界面圖示與中文提示相結(jié)合,無(wú)需專業(yè)培訓(xùn),按提示即可順利操作。
3 控制原理
配料時(shí),給料電機(jī)放料至秤斗,秤斗重量發(fā)生變化,使傳感器輸出電信號(hào)發(fā)生變化,該信號(hào)經(jīng)放大板放大進(jìn)入A/D板,轉(zhuǎn)換成數(shù)字量進(jìn)入計(jì)算機(jī)。計(jì)算機(jī)按照程序要求對(duì)數(shù)字量分析比較,當(dāng)數(shù)字量遠(yuǎn)小于設(shè)定植時(shí),給料電機(jī)繼續(xù)下料;若接近給定值,則點(diǎn)動(dòng)給料,每次點(diǎn)動(dòng)的時(shí)間為2秒,若達(dá)到給定值,則關(guān)閉給料電機(jī),啟動(dòng)下一料倉(cāng)電機(jī)。當(dāng)配方全部配完后,檢查混合機(jī)中無(wú)料時(shí),控制秤斗門(mén)放料,料放空后關(guān)門(mén),開(kāi)始下一斗配料過(guò)程。
系統(tǒng)輸入信號(hào)包括:(1)荷重傳感器的毫伏級(jí)電壓信號(hào);(2)秤斗門(mén)關(guān)應(yīng)答,用于檢測(cè)秤斗門(mén)是否關(guān)到位,當(dāng)關(guān)到位后給料電機(jī)才能啟動(dòng)給料,如果超過(guò)設(shè)定的關(guān)門(mén)時(shí)間計(jì)算機(jī)仍沒(méi)檢測(cè)到秤斗門(mén)關(guān)應(yīng)答信號(hào),系統(tǒng)報(bào)警提示用戶處理;(3)混合機(jī)門(mén)開(kāi)應(yīng)答,當(dāng)混合機(jī)混合時(shí)間到后計(jì)算機(jī)控制混合機(jī)門(mén)打開(kāi),計(jì)算機(jī)開(kāi)始檢測(cè)混合機(jī)門(mén)開(kāi)應(yīng)答信號(hào),開(kāi)到位后開(kāi)始計(jì)時(shí),計(jì)時(shí)時(shí)間到關(guān)混合機(jī),若超過(guò)開(kāi)門(mén)時(shí)間仍未檢測(cè)到混合機(jī)開(kāi)應(yīng)答信號(hào),計(jì)算機(jī)報(bào)警提示處理;(4)混合機(jī)門(mén)關(guān)應(yīng)答,用于檢測(cè)混合機(jī)門(mén)是否關(guān)到位,方能打開(kāi)秤斗門(mén)放料,若超時(shí)報(bào)警提示處理;(5)固體添加應(yīng)答,用于檢測(cè)固體添加劑是否已經(jīng)加入。
系統(tǒng)輸出信號(hào)包括:(1)對(duì)給料電機(jī)的控制;(2)對(duì)秤斗門(mén)的控制;(3)對(duì)混合機(jī)開(kāi)門(mén)控制;(4)對(duì)混合機(jī)關(guān)門(mén)控制;(5)固體添加劑提示;(6)液體添加劑控制。
4 系統(tǒng)硬件配置
系統(tǒng)硬件配置如圖1所示。
圖1 系統(tǒng)硬件配置
A/D板選用的是型號(hào)AB1057,本板輸入8通道模擬電壓,輸入范圍:0—5V。DI/DO板選用AB720,32通道數(shù)字輸入 TTL電平,輸入范圍:0V或5V,32通道數(shù)字輸出 TTL電平, 輸出范圍:0V或5V。光電隔離數(shù)字量輸入板選用AB782,8通道光電隔離數(shù)字輸入,輸入范圍:12V,輸出范圍:0V或5V。固態(tài)繼電器輸出板選用AB786,16通道固態(tài)繼電器輸出板,輸入范圍:0V或5V,輸出范圍:220VAC。信號(hào)調(diào)理放大板選用AB001,輸入范圍:0—50毫伏,輸出范圍:0—5V。
5. 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件主要有系統(tǒng)管理模塊、配置生產(chǎn)參數(shù)模塊、系統(tǒng)調(diào)試模塊、生產(chǎn)監(jiān)控模塊等組成。其中最主要的部分是生產(chǎn)監(jiān)控模塊,也是本系統(tǒng)的控制核心,在生產(chǎn)監(jiān)控過(guò)程中,系統(tǒng)要同時(shí)執(zhí)行多項(xiàng)任務(wù):自動(dòng)配料、混合機(jī)混合控制、固體添加控制、油脂添加控制、打印每斗生產(chǎn)數(shù)據(jù)、執(zhí)行用戶各種請(qǐng)求(包括:生產(chǎn)過(guò)程換倉(cāng)給料、暫停生產(chǎn)、恢復(fù)生產(chǎn)、是否實(shí)時(shí)打印數(shù)據(jù)、退出生產(chǎn)等等),這些任務(wù)都是根據(jù)生產(chǎn)工藝要求在滿足一定條件下執(zhí)行的,為了實(shí)現(xiàn)這一功能,本人在設(shè)計(jì)監(jiān)控過(guò)程中為每個(gè)任務(wù)都分別編寫(xiě)了任務(wù)模塊,例如:執(zhí)行配料過(guò)程的配料過(guò)程模塊、執(zhí)行混合任務(wù)的混合機(jī)混合模塊、執(zhí)行打印任務(wù)的打印生產(chǎn)數(shù)據(jù)模塊等等,在執(zhí)行各個(gè)模塊時(shí)在監(jiān)控畫(huà)面中系統(tǒng)都會(huì)動(dòng)態(tài)顯示其進(jìn)程,同時(shí)給予必要的提示信息。怎樣實(shí)現(xiàn)這些多任務(wù)按照工藝要求有條不紊的執(zhí)行是此配料系統(tǒng)的關(guān)鍵,本人很成功地解決了這一問(wèn)題,并把此方法用于其它多任務(wù)的生產(chǎn)控制過(guò)程中,實(shí)踐表明效果很好。在此我主要介紹一下這部分軟件的實(shí)現(xiàn)過(guò)程并給出軟件流程圖。主程序循環(huán)判斷各個(gè)任務(wù)是否滿足執(zhí)行的條件,如果滿足執(zhí)行的條件就啟動(dòng)該任務(wù),每個(gè)任務(wù)都單獨(dú)編寫(xiě)了任務(wù)模塊,如果不滿足執(zhí)行的條件主程序繼續(xù)判斷下一個(gè)任務(wù)…,這一思想也適合于其它語(yǔ)言編寫(xiě)的多任務(wù)控制。主程序循環(huán)流程如圖2所示。
圖2 主程序循環(huán)流程圖
6 結(jié)束語(yǔ)
本系統(tǒng)已在飼料廠的自動(dòng)配料生產(chǎn)過(guò)程中得到廣泛應(yīng)用。實(shí)踐表明,系統(tǒng)具有操作簡(jiǎn)單、運(yùn)行可靠、功能強(qiáng)大、配料精度高等特點(diǎn),并獲得河北省科技成果獎(jiǎng),取得了較大的經(jīng)濟(jì)效益和社會(huì)效益,具有很強(qiáng)的實(shí)用價(jià)值和推廣價(jià)值。
本文作者的創(chuàng)新點(diǎn):控制系統(tǒng)多任務(wù)的設(shè)計(jì)方法。這種設(shè)計(jì)方法適用于用多種語(yǔ)言來(lái)實(shí)現(xiàn)生產(chǎn)過(guò)程的多任務(wù)的控制。
參考文獻(xiàn):
[1] 徐惠攀 王典洪 孔令彬 章璐.基于PCC的水輪機(jī)組現(xiàn)地控制單元的設(shè)計(jì)與實(shí)現(xiàn).微計(jì)算機(jī)信息,2006,1-1:P6-8。
[2]李懷明 駱原 王育新著 Visual Basic6.0中文版參考詳解清華大學(xué)出版社。 2000年
[3]譚浩強(qiáng)著 Visual Basic程序設(shè)計(jì) 清華大學(xué)出版社。2004年
c++相關(guān)文章:c++教程
評(píng)論