999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于B/S架構的發酵過程嵌入式監控系統設計及應用

2023-11-08 05:59:22許志國汪坤丁健
食品與發酵工業 2023年20期
關鍵詞:數據庫用戶設備

許志國,汪坤,丁健

(江南大學 生物工程學院,江蘇 無錫,214122)

目前,我國生物發酵產品總量居世界第一位,是名副其實的發酵大國[1]。伴隨著發酵產品產量的日益增長,工業發酵數據的數量和復雜性同樣與日俱增,但發酵工廠對于數據的管理方式仍然較為落后。在傳統的發酵過程監控系統中,可以將傳感器在線測得的數據以文本形式保存于本地計算機或在組態軟件內置的小型數據庫中,而離線生產數據需由操作人員以紙質報表或Excel電子表格的形式保存。由于數據保存的方式不統一、保存介質分散,使得數據管理難度加大、數據檢索效率降低、數據保密性下降,最終導致數據的綜合分析利用困難,無法從數據中獲取有用的信息進一步指導生產。因此,在發酵產業蓬勃發展的過程中亟需一套解決方案為其保駕護航。近年來,為了解決上述問題已有多家發酵罐生產廠商著力于開發與自身產品相配套的上位機軟件。組態軟件是目前市場上較為主流的發酵上位機軟件開發工具,具有強大的數據采集和設備控制等功能[2],但在當前發酵產業對于數據管理和數據檢索以及數據分析的高需求下,組態軟件的功能已明顯表現出滯后之勢。為了彌補上述組態軟件的不足,華東理工大學自主開發了Biosoft發酵之星軟件包、江南大學發酵過程控制研究團隊自主研發了BioJN發酵技術服務系統[3],均已在市場中得到應用。

上述發酵上位機軟件均使用了客戶端/服務器(client/serrer, C/S)架構。C/S架構的主要優點包括:a)能夠在本地計算機中安裝并且緩存大量的系統資源,能夠提高數據和圖像的處理性能;b)大量的處理工作,都在本地計算機中完成,能夠有效減輕服務器的壓力[4]。然而,在實際的使用過程中,卻發現C/S架構的發酵上位機軟件存在以下問題:a)客戶端軟件的運行依賴于本地數據庫管理軟件(如MySQL[5]),而數據庫管理系統的安裝和配置流程復雜,普通用戶難以完成;b)用戶所用計算機的操作系統版本存在差異,進一步加劇了客戶端軟件安裝的難度;c)客戶端軟件具有較強的數據和圖像處理能力,無法確保任意用戶所用計算機的硬件配置能夠滿足客戶端軟件運行的需求。

鑒于上述問題,本文擬在嵌入式單板控制機(以樹莓派為例)上開發一套基于瀏覽器/服務器(brower/server, B/S)架構的發酵過程監控及數據管理系統。首先,由于適用于工業用途的樹莓派與PC機相比更為便宜,在推廣過程中可以直接銷售安裝有軟件系統的樹莓派,能夠保證硬件配置滿足軟件運行需求。其次,用戶不需要安裝客戶端軟件以及所依賴的數據庫管理軟件,只需要通過常用的Web瀏覽器(如IE、Chrome、FireFox等)就可以訪問軟件系統,完成數據管理和設備操作的功能。再次,樹莓派上已安裝Raspbian操作系統[6]以方便運維人員遠程訪問,直接對軟件系統進行遠程升級,降低了軟件維護和升級的成本。

1 系統總體設計

本發酵監控系統采用前后端分離的模式進行設計,如圖1所示。系統后端使用基于Python語言的Django框架設計,包括設備通信模塊、物聯網通信模塊、網頁應用程序編程接口(Web application programming interface,Web服務器API)和本地數據管理[對象關系映射(object relational mapping, ORM)、數據庫結構]。前端頁面實現的設計主要使用了較為流行的VUE框架,它基于HTML、CSS、JavaScript 3種計算機語言[7],包括“批次管理”、“數據窗口”、“系統配置”、“用戶管理”4個模塊。本系統利用樹莓派作為后端服務器與發酵設備的數據采集單元進行網絡通信,將實時數據存入樹莓派的本地數據庫中,用戶可以通過前端界面寫入數據對發酵設備進行實時控制。除此之外,本系統還搭建了一套云服務器系統支持本地數據庫和云端數據庫同步存儲,用戶可以在任意一個能夠訪問公網的瀏覽器下遠程監控發酵設備。

圖1 系統總體結構Fig.1 Overall system structure

2 系統軟硬件設計

2.1 硬件選型

考慮到發酵周期內采集的大量數據對硬件的處理要求及內存影響,本系統核心模塊選用樹莓派Raspberry Pi 4B。樹莓派4B擁有博通BCM2711核心處理器(四核1.5 GHz,Cortex A72架構),1G LPDDR4運行內存,此外還提供40個外擴GPIO引腳、2個USB 3.0接口和2個USB 2.0接口、1個千兆以太網接口、支持2.4 G/5 G雙Wi-Fi等,外部接口極其豐富,而且成本低廉、性能良好。Raspbian是專門用于ARM卡片式計算機樹莓派的操作系統,支持Python開發環境,為Python提供大量擴展庫,降低了開發成本。

2.2 軟件功能設計

2.2.1 設備通信模塊

可編程邏輯控制器(programmable logic controller,PLC),在發酵設備中常用于收集傳感器數據和自動化控制[8]。目前,在發酵設備中應用最廣泛的PLC型號是德國西門子公司生產的S7系列PLC。針對西門子S7系列PLC,本軟件系統的設備通信模塊中集成了以下兩種設備通信方式:

a)Snap7工具包直接讀寫PLC寄存器,結合Snap7的文檔API和源碼分析,使用read_area和write_area這兩個方法對PLC變量的寄存器地址進行讀寫,從而實現對發酵過程參數的監測和控制。Python讀寫PLC變量的代碼如下:

client=self.snap7_write_clients[param_config[0][‘plc’]]

client.write_area(area, db_number, start_db, pack_data)

data = client.read_area(area, db_number, start_db, 1)

b)開放平臺通信(open platform communications unified architecture,OPC-UA),使用該種通信方式可以解決設備間的數據交換受限于同一系統的問題,實現跨平臺通信[9]。本系統搭載于樹莓派(linux系統)中,作為OPC-UA客戶端與發酵設備(Windows,Linux,Mac,Android等系統)配套開發的OPC-UA服務器數據交換。

由于不同用戶對發酵數據采集和設備控制的需求不同,數據來源可能不僅限于一臺設備。例如溫度、pH、溶氧等參數由發酵罐上標配的傳感器測得,而尾氣CO2、O2濃度則來源于發酵尾氣分析儀。因此,為了提高軟件系統的通用性和兼容性,設計了與Redis緩存數據庫的通信方式。可以通過個性化開發的通信插件,以Redis數據庫作為中轉連接多種周邊設備。具體通信流程如圖2 所示。

圖2 通信流程Fig.2 Communication workflow

2.2.2 物聯網通信

消息隊列遙測傳輸協議(message queuing telemetry transport,MQTT),是一種基于發布/訂閱(publish/subscribe)模式的“輕量級”通訊協議[10],該協議構建于TCP/IP協議上。MQTT最大優點在于,用極少的代碼和有限的帶寬,為連接遠程設備提供實時可靠的消息服務。如果多臺遠程客戶端同時訪問一臺設備時,全部從設備本身直接請求數據,將會導致樹莓派所承載的本地服務器程序負載過重。因此,本軟件采用MQTT協議將本地服務器實時數據推送至云端服務器。當遠程客戶端請求數據時,將直接從云端獲取,這一設計能夠有效減輕本地服務器的工作負擔。除發送實時數據外,本系統還在MQTT服務器上建立了用戶對設備的各類操作相對應的主題(topic),例如監控發酵設備、啟停發酵批次、上傳離線數據等操作。每當本地或云端服務器向指定topic發布了一個操作消息,所有訂閱該topic的用戶都會在系統的前端界面查看到相應變化,由此實現本地數據與云端數據的同步。

2.2.3 Web服務器API

Django是基于Python的Web服務器開發框架,采用了MVT的框架模式(圖3),即模型(model),視圖(view)和模版(template)[11]。本系統采用Django框架開發后端服務器,在View層編寫API,用戶在前端顯示界面的交互操作均需通過調用后端API實現。為了進一步降低系統的耦合度,API分為以下類別:a)與用戶相關的API,負責用戶的增添和刪減、登錄和退出、權限分配以及修改密碼等操作;b)與設備相關的API,負責用戶查看設備連接狀況、設備實時數據以及更改設備參數值等操作;c)與批次命名字段相關的API,負責用戶根據實際生產情況增刪改查發酵批次信息的操作;d)與數據采集相關的API,負責用戶增刪改查所需監控參數配置的操作;e)與批次相關的API,負責用戶建立、啟動、停止、檢索發酵批次的操作;f)與實時數據相關的API,負責用戶查看實時曲線和上傳離線數據的操作;g)與歷史數據相關的API,負責用戶查看歷史批次的數據報表和曲線分析的操作。云端系統的API同樣按照上述類別編寫,因此,遠程用戶可以在云端的前端界面用以操作本地系統相同的方式操作云端。

圖3 MVT框架圖Fig.3 MVT framework

2.2.4 本地數據管理(ORM、數據庫結構)

本系統在Django框架的Model層,即負責數據的存取方式和數據之間的關系的過程中,使用內嵌的ORM框架[12],將編寫的每一個類和數據庫中的每一個表一一對應。類的每個實例對應表中的一條記錄,類的每個屬性對應表中的每個字段。通過ORM框架的映射作用,幫助開發人員減少了對SQL語句的編寫并加強了對業務邏輯處理的專注度,進一步提高了開發效率。

發酵數據庫的關聯圖如圖4所示,在發酵過程中,每啟動一個發酵批次,產生的數據都會依次按照批次信息、在線數據、離線數據、計算數據和事件記錄等存入對應的數據庫表格中。采集過程中會根據提前設定好的發酵參數配置來保存數據,包括自定義的參數名如(bailun5L_PH)、自定義的上下限和自定義的精確度。這些數據記錄通過batch_id字段相互關聯在一起,batch_id的唯一性確保了每條發酵數據的獨立性。將具有唯一性的batch_id作為數據表格的主鍵,有關聯的設備信息、用戶信息、采集配置和特征字段(比如菌種、部門)設置成數據表格之間的外鍵。通過這些主鍵、外鍵和表格間的關聯性,用戶可以簡單迅速地從本地數據庫和云端數據庫檢索到任意想要的批次。

圖4 發酵數據庫E-R圖Fig.4 Fermentation database E-R diagram

如果本地模式下因意外導致的批次數據采集中斷,那么在樹莓派重啟發酵系統時會根據數據庫中批次信息表格的結束時間(stop_time)是否為空來判斷批次是否結束,若為空則會恢復批次采集。

3 系統功能實現

系統功能實現設計了“批次管理”、“數據窗口”、“系統配置”、“用戶管理”4個模塊,模塊組成如圖5所示。

圖5 前端頁面設計Fig.5 Front-end page design

3.1 批次管理模塊設計

為了確保在大量的發酵批次中能夠快速且準確地檢索到目標批次,本系統在新建批次時會根據當前的年、月、日、時、分、秒和微秒組成batch_id。除此之外,在新建批次時還會增加由系統時間自動生成且不可更改的“初始時間”,由用戶設定的“采樣間隔”(最低間隔為5 s),由用戶對該發酵批次特殊標注的“描述”,以及由用戶自定義的5個預留字段,例如部門、操作人、驗收人、發酵菌種、產品等來幫助用戶對發酵批次分類。

3.2 數據窗口模塊設計

數據窗口模塊由以下3部分組成:設備狀態、數據報表和曲線圖展示。

3.2.1 設備狀態

設備狀態界面中,可展示實時發酵參數值,還可以修改發酵參數(如溫度、pH等)的設定值。如果從云端入口訪問系統,還可以獲取當前被監控和數據共享的設備名。

3.2.2 數據報表

本發酵監控系統的數據報表由3種類型組成,分別為在線參數、離線參數和事件記錄。

a)在線參數。由在線傳感器檢測的發酵過程參數(如pH、溶解氧和溫度等),通過設備通信模塊和前端用戶設定的采樣間隔將數據以報表的形式實時展示于本地和云端用戶的系統前端界面,并存于本地和云端的數據庫中。

b)離線數據。在發酵過程中,由人工取樣檢測的發酵過程參數(如細胞濃度、葡萄糖濃度、產物酶活等),可以同時存入本地和云端數據庫。

c)事件記錄。發酵過程中包含多個需要人工操作的時間節點,每個時間節點的操作細節需要以文本形式保存。這類數據在事件記錄報表中手動添加、修改、刪除。事件記錄相關的數據同樣在本地和云端數據庫中同步保存。

3.2.3 曲線圖展示

本系統的曲線圖可以展示以下3類數據:實時在線參數、歷史在線參數和離線數據。曲線圖的展示界面基于以下幾個庫開發:基于JavaScript語言的Echarts數據可視化庫[13];axios動態請求庫和PubSub發布訂閱庫,確保曲線圖可以在瀏覽器中動態更新、流暢運行。在實時監控模塊中axios實時請求的數據會優先用于客戶端的數據報表展示,曲線圖頁面再經由PubSub庫訂閱數據報表獲取最新數據作圖。通過這種方式,本系統能夠避免前端頁面對服務器端的重復請求,緩解服務器處理用戶請求和數據檢索的壓力。

批次啟動前,可以預先設定好每個參數的歸一化參數(上限和下限),解決多參數曲線Y軸的范圍不一致的問題,歸一化參數也可以在批次啟動后自定義修改。在歷史在線參數曲線頁面中,可以將多批次(包括實時批次)數據繪制在一起,支持多批次的參數比較。當歷史和實時曲線繪制在一張圖時,曲線展示還具有實時跟隨功能。選定一條目標曲線,展示界面始終跟隨該曲線而更新,可以實時比較當前批次與目標歷史批次的差異,以方便工藝的調整和歷史最優批次的復現。離線參數曲線同樣支持多批次參數比較,且實時批次曲線可以根據用戶手動錄入的離線參數(如底物濃度、產物濃度等)同步更新。

以上曲線均可通過修改曲線的顏色、線型(如連續和斷點等)以及隱藏與否,實現曲線的區分。

3.3 系統配置模塊設計

系統配置模塊,主要包含批次管理模塊中的5個自定義字段和數據采集。不同批次需要采集的在線、離線參數可能各不相同。因此,在新建批次時可以自行選擇記錄的在線、離線參數,數據展示頁面會根據該配置來生成數據報表并繪制曲線圖。當發酵參數配置和批次命名字段配置完成后,首先存于本地數據庫,之后同步到云端,用戶組成員均可使用。

3.4 用戶管理模塊設計

為了控制用戶對發酵設備的操作權限數據的管理權限,確保數據安全,本系統設計了樹形用戶結構和靈活的權限管理機制。系統初始化后會生成唯一的管理員用戶,以管理員用戶為父用戶,可以新建、刪除和修改子用戶。子用戶又可以管理下級子用戶,從而形成樹形的用戶結構。用戶權限通過樹形用戶向下傳遞,每個用戶都可以將自己的設備操作和數據管理權限有選擇性地賦予其子用戶。

4 系統應用實例

將本發酵監控系統應用于地衣芽孢桿菌BF-002高產芽孢的過程中,對系統的功能和性能進行分析評價。評價結果將從實驗批次的數據管理及展示、遠程控制和曲線展示3個方面描述。

4.1 數據管理及展示

該實驗批次周期為48 h,共采集2 880條數據,每采集360條數據后樹莓派發生1 s的采集滯后。通過該實驗批次的實時在線參數報表(圖6)以及離線數據報表(圖7),可以看出本系統能夠按照用戶的設定間隔記錄在線數據。手動添加離線數據的功能可以正常運行,手動錄入的離線參數能夠在本地和云端同步保存。

圖6 實時在線參數報表Fig.6 Real-time online parameter report注:此圖是地衣芽孢桿菌BF-002發酵過程中的實時在線參數界面,以1 min為周期定時記錄傳感器監測數據。

圖7 離線數據報表Fig.7 Offline data report注:此圖為地衣芽孢桿菌BF-002發酵過程中的離線參數界面,格式分布與實時在線參數報表界面相似。離線參數報表可編輯,具體操作為點擊上方“添加”和“刪除”按鈕增添或刪除下方離線報表在該時刻的記錄,點擊某一參數某一時刻的表格項,可以直接修改其中的數據。離線數據同樣可以導出為Excel文件。

4.2 遠程監控

在該實驗批次發酵3 h時遠程更改pH設定值為6.96,可以發現實時數據報表中發酵3 h的pH檢測值隨即改變(圖8),響應延時<2 000 ms,設備遠程監測與控制功能可以正常運行。

圖8 遠程設備狀態Fig.8 Remote devices′ status注:此圖為遠程設備狀態界面,左側表格展示的是設備監測的發酵參數值,右側表格展示的是發酵參數的設定值。點擊“更改”按鈕輸入設定值,可實現云端模式下對遠程設備的控制。

4.3 曲線展示

通過歷史批次曲線與該實驗批次實時曲線作同步跟隨比較(圖9),可以發現該實驗批次在通氣量和攪拌速率相同的條件下,溶解氧濃度(dissolved oxygen, DO)較低,表明該批次菌體的呼吸強度較高。通過對離線參數曲線的比較(圖10),可以發現隨著碳源和氮源的消耗,細胞持續生長。在性能方面,曲線的首次展示請求時長隨著數據量的增大而增大,在48 h后響應時長在3 000~4 000 ms。

圖9 實時與歷史跟隨比較Fig.9 Real-time and historical follow-up comparison注:此圖為地衣芽孢桿菌BF-002發酵過程中實時曲線與歷史曲線的同步跟隨頁面,圖中繪有2個批次的溫度、pH、攪拌轉速和溶氧的曲線。當實時批次的發酵時間進行到6.057 h時,同步跟隨歷史批次在該時刻下的曲線,供用戶進行實時對比分析。

圖10 離線參數曲線Fig.10 Offline parameter curve注:此圖為地衣芽孢桿菌BF-002發酵過程中實時獲取的離線參數曲線,每當在圖6(離線數據報表)錄入最新時刻的離線數據后即可在離線參數曲線頁面點擊“更新”按鈕獲取當前時刻下的最新離線參數曲線。

5 結語

目前我國生物制造產業已逐步進入數字化工業時代,如何打造設備互聯、數據共享的數字化工廠是當前面臨的主要問題。本發酵監控系統采用B/S架構技術開發,擁有操作簡便、圖形豐富、反應靈敏的用戶界面,同時減小了服務器資源的浪費,安裝與升級操作簡便。與傳統的基于組態軟件開發的發酵罐上位機軟件相比,本系統支持云端遠程監控并建立了健全完善的數據管理系統,以滿足來自客戶、監管機構及企業內部日益嚴苛的質量管理要求。在數據可視化方面,本系統也提供多批次對照、實時批次同步追蹤歷史等功能,幫助用戶可以在問題出現時做出快速有效的響應。此外,本系統具有作為搭載依靠云服務器計算的自動化控制算法平臺潛力,在將來能夠對發酵過程更好地指導和控制。

猜你喜歡
數據庫用戶設備
諧響應分析在設備減振中的應用
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
主站蜘蛛池模板: 精品伊人久久久久7777人| 麻豆精品在线| 内射人妻无码色AV天堂| 久久精品视频一| 成年人免费国产视频| 99视频精品全国免费品| 国产一级毛片在线| 激情六月丁香婷婷四房播| 国产高清不卡| 在线观看亚洲精品福利片| 又污又黄又无遮挡网站| 日韩精品中文字幕一区三区| 欧美黄网站免费观看| 91在线无码精品秘九色APP | 69av免费视频| 91在线精品麻豆欧美在线| 国产精品久久久免费视频| 在线无码私拍| 亚洲色欲色欲www在线观看| 综合亚洲网| 无码综合天天久久综合网| 99在线观看国产| 欧美翘臀一区二区三区| 无码日韩视频| 欧美性色综合网| 亚洲第一视频免费在线| 欧美区日韩区| 国产成人综合久久精品尤物| 免费又黄又爽又猛大片午夜| 国产精品嫩草影院av| 国产精品尤物铁牛tv| 最新精品国偷自产在线| 噜噜噜综合亚洲| 国产成人综合网| 欧美性天天| 国产成人乱无码视频| 中文字幕资源站| 国产95在线 | 欧美一级视频免费| 亚洲AⅤ波多系列中文字幕| 99re这里只有国产中文精品国产精品 | 亚洲另类第一页| 免费女人18毛片a级毛片视频| 少妇精品网站| 久青草网站| 免费高清自慰一区二区三区| 麻豆精选在线| 天堂成人在线视频| 国产黄色片在线看| 婷婷五月在线视频| 亚洲精品在线91| 69国产精品视频免费| 久久综合久久鬼| 深爱婷婷激情网| 久久久久久久久久国产精品| 大学生久久香蕉国产线观看| 国产一区二区三区在线精品专区| 人妻精品久久无码区| 国产一区二区三区在线观看免费| 亚洲一区二区黄色| 欧美日本不卡| 日韩AV手机在线观看蜜芽| 欧美a级完整在线观看| 午夜福利在线观看成人| 欧美精品伊人久久| 国产乱子精品一区二区在线观看| 全部毛片免费看| 午夜三级在线| 在线观看亚洲人成网站| yjizz国产在线视频网| 国产91麻豆免费观看| 色成人亚洲| 久久精品人人做人人| 香蕉精品在线| 啪啪永久免费av| 天天综合网亚洲网站| 亚洲熟妇AV日韩熟妇在线| 精品99在线观看| 成年看免费观看视频拍拍| 亚洲第一香蕉视频| 不卡无码网| 色悠久久综合|