劉 濤, 崔志強(qiáng), 田建平, 劉龍兵, 鄭本毫, 李迎鑫, 王 興
(太原科技大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院, 山西 太原 030024)
工業(yè)發(fā)酵工程是生物工程和現(xiàn)代生物技術(shù)及工業(yè)化的核心和基礎(chǔ)。隨著時代的發(fā)展,人們的生活需求不斷提高,發(fā)酵工業(yè)的生產(chǎn)規(guī)模不斷擴(kuò)大以及生產(chǎn)工藝的不斷改進(jìn),工業(yè)發(fā)酵工藝也迫切需要得到先進(jìn)的控制與持續(xù)的優(yōu)化,以此來提高生產(chǎn)效率。
針對工業(yè)發(fā)酵過程中由于系統(tǒng)復(fù)雜性造成的重構(gòu)繁瑣和原料浪費(fèi),為實現(xiàn)原料利用率,提升產(chǎn)品的良率,解決系統(tǒng)重構(gòu)困難,設(shè)計一種基于可編程智能化工業(yè)測控系統(tǒng)是一個重要研究方向,通過可編程智能化工業(yè)測控系統(tǒng)按照工藝流程的改變隨時可以低成本的重構(gòu)軟件程序,利用數(shù)字模型對整個設(shè)備進(jìn)行自動化、智能化的控制。另外自動化、智能化的提出順應(yīng)了當(dāng)今智能化時代的發(fā)展,不僅避免了不必要的人力資源浪費(fèi)和工業(yè)發(fā)酵原料的浪費(fèi),還在一定程度上促進(jìn)了社會經(jīng)濟(jì)的發(fā)展。
本設(shè)計基于智能化測控平臺對工業(yè)發(fā)酵過程實現(xiàn)智能化控制,實質(zhì)是通過智能化測控平臺實現(xiàn)對不同情況下的工業(yè)發(fā)酵流程進(jìn)行快速定制系統(tǒng),我們實現(xiàn)的系統(tǒng)主要對物理量溫度壓力等進(jìn)行測控。系統(tǒng)主要分為硬件和軟件兩大模塊。
硬件模塊為傳統(tǒng)發(fā)酵模塊和智能化監(jiān)測控制模塊相互結(jié)合,傳統(tǒng)模塊為傳統(tǒng)的發(fā)酵裝置,包括發(fā)酵罐體、傳動裝置、進(jìn)料口與排渣口,液體進(jìn)料和氧氣、二氧化碳系統(tǒng),支架、套管、滑環(huán)、齒輪和蒸汽口、排氣口閥門。智能化監(jiān)測控制模塊包含溫濕度傳感器、壓力傳感器、PH 傳感器、速度傳感器、氧氣二氧化碳傳感器等,以及一個控溫模塊包含加熱器和制冷器。
軟件模塊利用可編程智能化測控平臺對工業(yè)發(fā)酵流程進(jìn)行應(yīng)用,整個軟件系統(tǒng)主要有系統(tǒng)程序和用戶程序,其中系統(tǒng)程序是軟件有效運(yùn)行的重要條件,通過可編程智能化測控平臺來實現(xiàn)。系統(tǒng)編程程序以編程元件繼電器代替?zhèn)鹘y(tǒng)硬件布線邏輯,通過這種形式,實現(xiàn)了軟件的智能化控制,降低了學(xué)習(xí)成本和人力資源的浪費(fèi)。
目前市場上的工業(yè)發(fā)酵設(shè)備常用發(fā)酵罐的結(jié)構(gòu)設(shè)計[2],主要包含進(jìn)出料系統(tǒng)、傳動裝置、發(fā)酵罐體、監(jiān)測系統(tǒng)、溫度壓力控制系統(tǒng)、電氣控制系統(tǒng)和計算機(jī)軟件等組成,工業(yè)發(fā)酵罐的結(jié)構(gòu)原理如圖1 所示。
圖1 工業(yè)發(fā)酵罐結(jié)構(gòu)
進(jìn)出料系統(tǒng)位于發(fā)酵罐兩側(cè),進(jìn)料口連接旋轉(zhuǎn)軸,外側(cè)可連接轉(zhuǎn)動式進(jìn)料斗進(jìn)料,可在進(jìn)料斗隔板上根據(jù)實際情況添加物料提升斗,排渣口位于發(fā)酵罐另一側(cè),45°傾斜向下,排渣口下方是出料斗。
傳動裝置包括減速機(jī)、傳動軸、控制器、速度傳感器。減速機(jī)采用BWED52 型減速機(jī),傳動比級數(shù)為雙級,齒面為硬齒面,采用立式加速器,采用鋼制傳動軸通過監(jiān)控系統(tǒng)可以調(diào)控傳動裝置的旋轉(zhuǎn)速度來影響發(fā)酵反應(yīng)。
發(fā)酵罐體是發(fā)酵系統(tǒng)的主體,內(nèi)置溫度、濕度、壓力等傳感器,并將數(shù)據(jù)發(fā)送至監(jiān)測系統(tǒng),來實時監(jiān)測罐內(nèi)的反應(yīng)情況,根據(jù)實際產(chǎn)品情況進(jìn)行選取合適的罐體。
電氣控制系統(tǒng)包括控制模塊、電機(jī)驅(qū)動設(shè)備、電路保護(hù)設(shè)備、控制器、電器元件,主要為整個發(fā)酵系統(tǒng)進(jìn)行供電、傳動、控制。
計算機(jī)軟件是整個發(fā)酵的核心,主要負(fù)責(zé)對整個發(fā)酵流程進(jìn)行專門的編程、數(shù)據(jù)監(jiān)測與記錄、內(nèi)部發(fā)酵環(huán)境異常監(jiān)測、系統(tǒng)故障診斷,針對不同的發(fā)酵流程設(shè)定各類參數(shù)。
隨著發(fā)酵工業(yè)的生產(chǎn)規(guī)模不斷擴(kuò)大以及生產(chǎn)工藝的不斷改進(jìn),相關(guān)企業(yè)對于工業(yè)發(fā)酵工程的控制也提出了新的要求。軟件作為唯一可以直觀觀察到工業(yè)發(fā)酵工程中的發(fā)酵過程及控制過程的媒介,發(fā)揮著極其重要的作用,開發(fā)可編程的智能測控平臺時,應(yīng)該兼顧企業(yè)的要求和工業(yè)發(fā)酵工程的發(fā)展需求。
在可編程的智能化測控平臺控制軟件的設(shè)計方面,以工業(yè)企業(yè)計算機(jī)為核心,使用多種編程語言開發(fā)系統(tǒng),采用先進(jìn)的系統(tǒng)結(jié)構(gòu),在Windows 操作系統(tǒng)的大環(huán)境下,配置不同情況下常用的系統(tǒng)模式,例如酵母發(fā)酵性能的測定、溫度檢測設(shè)備、pH 值檢測儀器、轉(zhuǎn)速測量傳感器等相關(guān)配置[3],以及可以顯示工藝控制流程圖、發(fā)酵過程中任意時刻的曲線圖、發(fā)酵過程中相關(guān)因素的上下限報警狀態(tài),使可編程的智能化測控平臺控制軟件面對工藝調(diào)整時,可及時、輕易地完成系統(tǒng)重構(gòu),使工業(yè)發(fā)酵工程設(shè)備變成一個開放性的工作平臺,以滿足用戶的不同需求。在可編程的智能測控平臺的開發(fā)過程中,將每條控制指令按照線性表封裝、執(zhí)行,通過觸發(fā)指令機(jī)關(guān)實現(xiàn)智能測控平臺的編程,使執(zhí)行過程靈活準(zhǔn)確。該可編程的智能化測控平臺在軟件控制方面有測控平臺智能控制、本地計算機(jī)自動控制和本地計算機(jī)手動控制三種控制方式。三種控制方式可以單獨(dú)使用也可以混合使用。軟件作為人機(jī)交互的主要方式,由登錄界面、控制界面、發(fā)酵參數(shù)設(shè)置界面、發(fā)酵參數(shù)采集界面、系統(tǒng)維護(hù)界面、系統(tǒng)警告界面、編程界面、用戶管理界面等相關(guān)界面組成。
上位機(jī):系統(tǒng)中起主控作用,主要作為系統(tǒng)的規(guī)劃控制[4],屬于決策層,如圖2 所示。
圖2 上位機(jī)模塊
下位機(jī):具體執(zhí)行層,主要完成系統(tǒng)規(guī)劃層下達(dá)的任務(wù),如圖3 所示。
圖3 下位機(jī)模塊
WindowsSocket 是對應(yīng)TCP/IP 協(xié)議的最典型、使用最廣泛的網(wǎng)絡(luò)編程接口。采用客戶端/服務(wù)端(C/S)模式。在程序的開始,首先要調(diào)用WSAStartup()函數(shù)[5],使應(yīng)用程序與WinSock.DLL 連接起來,當(dāng)應(yīng)用程序不再需要使用該動態(tài)連接庫時,調(diào)用WSACleanup()函數(shù)。
每個進(jìn)程準(zhǔn)備就緒后,會進(jìn)入一個就緒隊列。當(dāng)處理器里的進(jìn)程結(jié)束時,從就緒隊列中選擇等待時間最長的進(jìn)程來運(yùn)行。對于長進(jìn)程更適合采用先進(jìn)先出的策略。
基于時鐘的搶占策略,這種算法需要計算每個進(jìn)程運(yùn)行的平均值[6]。計算方法如下:
式中:Ti是進(jìn)程的第i個實例的處理器執(zhí)行時間(對批作業(yè)而言指總執(zhí)行時間,對交互作業(yè)而言指處理器一次短促的執(zhí)行時間);Si為第i個實例的預(yù)測值;S1為第一個實例的預(yù)測值,非計算所得[7]。
為避免每次重新計算總和,可把上式重寫為:
最高響應(yīng)比優(yōu)先:調(diào)度決策基于對歸一化周轉(zhuǎn)時間的估計。
根據(jù)響應(yīng)比公式求響應(yīng)比RR,公式如下:
反饋:建立一組調(diào)度隊列,基于每個進(jìn)程的執(zhí)行歷史和其他一些規(guī)則,把他們分配到各個隊列中[8]。
在整個系統(tǒng)中,指令集作為系統(tǒng)各部門之間的“橋梁”,用來傳遞系統(tǒng)各對象之間的信息,上位機(jī)作為軟件的“大腦”,也是信息匯集的地方,系統(tǒng)的其他對象都與之聯(lián)系,軟件會對所接收到的不同指令做出不同的回應(yīng)。一般來說,指令集可以聯(lián)系用戶,下位機(jī)控制器、云服務(wù)器、通信系統(tǒng)、其他外部通信系統(tǒng)和他自己,如表1 所示[9]。
表1 系統(tǒng)部分指令
指令大致可以分為系統(tǒng)參數(shù)信息采集指令、邏輯判斷指令、定時器指令、系統(tǒng)警報指令、設(shè)備參數(shù)設(shè)置指令、程序調(diào)用指令等[1]。此外,指令集用戶也是用戶對程序進(jìn)行重構(gòu)的基礎(chǔ)。例如“!Run_”:運(yùn)行當(dāng)前程序;“T0=Value”:設(shè)置溫度闕值;“RD_T1”:采集罐內(nèi)溫度。這種設(shè)計盡可能的降低了編程難度,減少學(xué)習(xí)的成本,提高了編程的效率,提高了系統(tǒng)的可用性[10]。
設(shè)計了一種基于智能化測控平臺的工業(yè)發(fā)酵系統(tǒng),對傳統(tǒng)的工業(yè)發(fā)酵罐測控系統(tǒng)進(jìn)行了硬件優(yōu)化和軟件的智能化,自定義指令集方便基于不同的發(fā)酵流程進(jìn)行系統(tǒng)重構(gòu),同時為系統(tǒng)提供了一種數(shù)據(jù)集合的方向。由于時間和個人能力有限,系統(tǒng)還存在一些不足,對于指令集的查找與使用缺少優(yōu)化,以及數(shù)據(jù)組合學(xué)習(xí)的模型實踐。系統(tǒng)的軟硬件擴(kuò)展性強(qiáng),后續(xù)可以針對具體發(fā)酵流程進(jìn)行針對性優(yōu)化。