劉 濤, 崔志強, 田建平, 劉龍兵, 鄭本毫, 李迎鑫, 王 興
(太原科技大學計算機科學與技術學院, 山西 太原 030024)
工業發酵工程是生物工程和現代生物技術及工業化的核心和基礎。隨著時代的發展,人們的生活需求不斷提高,發酵工業的生產規模不斷擴大以及生產工藝的不斷改進,工業發酵工藝也迫切需要得到先進的控制與持續的優化,以此來提高生產效率。
針對工業發酵過程中由于系統復雜性造成的重構繁瑣和原料浪費,為實現原料利用率,提升產品的良率,解決系統重構困難,設計一種基于可編程智能化工業測控系統是一個重要研究方向,通過可編程智能化工業測控系統按照工藝流程的改變隨時可以低成本的重構軟件程序,利用數字模型對整個設備進行自動化、智能化的控制。另外自動化、智能化的提出順應了當今智能化時代的發展,不僅避免了不必要的人力資源浪費和工業發酵原料的浪費,還在一定程度上促進了社會經濟的發展。
本設計基于智能化測控平臺對工業發酵過程實現智能化控制,實質是通過智能化測控平臺實現對不同情況下的工業發酵流程進行快速定制系統,我們實現的系統主要對物理量溫度壓力等進行測控。系統主要分為硬件和軟件兩大模塊。
硬件模塊為傳統發酵模塊和智能化監測控制模塊相互結合,傳統模塊為傳統的發酵裝置,包括發酵罐體、傳動裝置、進料口與排渣口,液體進料和氧氣、二氧化碳系統,支架、套管、滑環、齒輪和蒸汽口、排氣口閥門。智能化監測控制模塊包含溫濕度傳感器、壓力傳感器、PH 傳感器、速度傳感器、氧氣二氧化碳傳感器等,以及一個控溫模塊包含加熱器和制冷器。
軟件模塊利用可編程智能化測控平臺對工業發酵流程進行應用,整個軟件系統主要有系統程序和用戶程序,其中系統程序是軟件有效運行的重要條件,通過可編程智能化測控平臺來實現。系統編程程序以編程元件繼電器代替傳統硬件布線邏輯,通過這種形式,實現了軟件的智能化控制,降低了學習成本和人力資源的浪費。
目前市場上的工業發酵設備常用發酵罐的結構設計[2],主要包含進出料系統、傳動裝置、發酵罐體、監測系統、溫度壓力控制系統、電氣控制系統和計算機軟件等組成,工業發酵罐的結構原理如圖1 所示。

圖1 工業發酵罐結構
進出料系統位于發酵罐兩側,進料口連接旋轉軸,外側可連接轉動式進料斗進料,可在進料斗隔板上根據實際情況添加物料提升斗,排渣口位于發酵罐另一側,45°傾斜向下,排渣口下方是出料斗。
傳動裝置包括減速機、傳動軸、控制器、速度傳感器。減速機采用BWED52 型減速機,傳動比級數為雙級,齒面為硬齒面,采用立式加速器,采用鋼制傳動軸通過監控系統可以調控傳動裝置的旋轉速度來影響發酵反應。
發酵罐體是發酵系統的主體,內置溫度、濕度、壓力等傳感器,并將數據發送至監測系統,來實時監測罐內的反應情況,根據實際產品情況進行選取合適的罐體。
電氣控制系統包括控制模塊、電機驅動設備、電路保護設備、控制器、電器元件,主要為整個發酵系統進行供電、傳動、控制。
計算機軟件是整個發酵的核心,主要負責對整個發酵流程進行專門的編程、數據監測與記錄、內部發酵環境異常監測、系統故障診斷,針對不同的發酵流程設定各類參數。
隨著發酵工業的生產規模不斷擴大以及生產工藝的不斷改進,相關企業對于工業發酵工程的控制也提出了新的要求。軟件作為唯一可以直觀觀察到工業發酵工程中的發酵過程及控制過程的媒介,發揮著極其重要的作用,開發可編程的智能測控平臺時,應該兼顧企業的要求和工業發酵工程的發展需求。
在可編程的智能化測控平臺控制軟件的設計方面,以工業企業計算機為核心,使用多種編程語言開發系統,采用先進的系統結構,在Windows 操作系統的大環境下,配置不同情況下常用的系統模式,例如酵母發酵性能的測定、溫度檢測設備、pH 值檢測儀器、轉速測量傳感器等相關配置[3],以及可以顯示工藝控制流程圖、發酵過程中任意時刻的曲線圖、發酵過程中相關因素的上下限報警狀態,使可編程的智能化測控平臺控制軟件面對工藝調整時,可及時、輕易地完成系統重構,使工業發酵工程設備變成一個開放性的工作平臺,以滿足用戶的不同需求。在可編程的智能測控平臺的開發過程中,將每條控制指令按照線性表封裝、執行,通過觸發指令機關實現智能測控平臺的編程,使執行過程靈活準確。該可編程的智能化測控平臺在軟件控制方面有測控平臺智能控制、本地計算機自動控制和本地計算機手動控制三種控制方式。三種控制方式可以單獨使用也可以混合使用。軟件作為人機交互的主要方式,由登錄界面、控制界面、發酵參數設置界面、發酵參數采集界面、系統維護界面、系統警告界面、編程界面、用戶管理界面等相關界面組成。
上位機:系統中起主控作用,主要作為系統的規劃控制[4],屬于決策層,如圖2 所示。

圖2 上位機模塊
下位機:具體執行層,主要完成系統規劃層下達的任務,如圖3 所示。

圖3 下位機模塊
WindowsSocket 是對應TCP/IP 協議的最典型、使用最廣泛的網絡編程接口。采用客戶端/服務端(C/S)模式。在程序的開始,首先要調用WSAStartup()函數[5],使應用程序與WinSock.DLL 連接起來,當應用程序不再需要使用該動態連接庫時,調用WSACleanup()函數。
每個進程準備就緒后,會進入一個就緒隊列。當處理器里的進程結束時,從就緒隊列中選擇等待時間最長的進程來運行。對于長進程更適合采用先進先出的策略。
基于時鐘的搶占策略,這種算法需要計算每個進程運行的平均值[6]。計算方法如下:
式中:Ti是進程的第i個實例的處理器執行時間(對批作業而言指總執行時間,對交互作業而言指處理器一次短促的執行時間);Si為第i個實例的預測值;S1為第一個實例的預測值,非計算所得[7]。
為避免每次重新計算總和,可把上式重寫為:
最高響應比優先:調度決策基于對歸一化周轉時間的估計。
根據響應比公式求響應比RR,公式如下:
反饋:建立一組調度隊列,基于每個進程的執行歷史和其他一些規則,把他們分配到各個隊列中[8]。
在整個系統中,指令集作為系統各部門之間的“橋梁”,用來傳遞系統各對象之間的信息,上位機作為軟件的“大腦”,也是信息匯集的地方,系統的其他對象都與之聯系,軟件會對所接收到的不同指令做出不同的回應。一般來說,指令集可以聯系用戶,下位機控制器、云服務器、通信系統、其他外部通信系統和他自己,如表1 所示[9]。

表1 系統部分指令
指令大致可以分為系統參數信息采集指令、邏輯判斷指令、定時器指令、系統警報指令、設備參數設置指令、程序調用指令等[1]。此外,指令集用戶也是用戶對程序進行重構的基礎。例如“!Run_”:運行當前程序;“T0=Value”:設置溫度闕值;“RD_T1”:采集罐內溫度。這種設計盡可能的降低了編程難度,減少學習的成本,提高了編程的效率,提高了系統的可用性[10]。
設計了一種基于智能化測控平臺的工業發酵系統,對傳統的工業發酵罐測控系統進行了硬件優化和軟件的智能化,自定義指令集方便基于不同的發酵流程進行系統重構,同時為系統提供了一種數據集合的方向。由于時間和個人能力有限,系統還存在一些不足,對于指令集的查找與使用缺少優化,以及數據組合學習的模型實踐。系統的軟硬件擴展性強,后續可以針對具體發酵流程進行針對性優化。