張勁楠,丁健,嚴(yán)建,史仲平
(江南大學(xué) 生物工程學(xué)院,江蘇 無錫,214122)
發(fā)酵工業(yè)與人民生活密切相關(guān),是國(guó)民經(jīng)濟(jì)中的重要產(chǎn)業(yè)[1]。隨著工業(yè)化發(fā)酵技術(shù)的進(jìn)步,發(fā)酵規(guī)模不斷擴(kuò)大,發(fā)酵產(chǎn)品種類愈加豐富。傳感器及在線檢測(cè)技術(shù)的發(fā)展,使得越來越多的發(fā)酵過程參數(shù)可以被在線檢測(cè),由此而產(chǎn)生的大量發(fā)酵過程數(shù)據(jù)包含了與發(fā)酵性能息息相關(guān)的重要信息,可看做是企業(yè)的信息金礦,合理有效地管理和分析發(fā)酵歷史數(shù)據(jù)對(duì)改進(jìn)企業(yè)的發(fā)酵工藝,提高生產(chǎn)的穩(wěn)定性具有重要的指導(dǎo)意義。隨著發(fā)酵數(shù)據(jù)的數(shù)量及復(fù)雜程度的增加,如何管理和分析發(fā)酵數(shù)據(jù)已經(jīng)逐漸成為困擾企業(yè)生產(chǎn)管理的難題之一。因此,開發(fā)一套軟件系統(tǒng)幫助發(fā)酵技術(shù)人員管理、分析和利用發(fā)酵數(shù)據(jù)是一項(xiàng)勢(shì)在必行的重要工作。
近年來,發(fā)酵罐生產(chǎn)廠商紛紛開發(fā)與自身產(chǎn)品相配套的上位機(jī)軟件。組態(tài)軟件是發(fā)酵設(shè)備廠商開發(fā)上位機(jī)軟件的主要工具,以此方式開發(fā)的上位機(jī)軟件能夠靈活地實(shí)現(xiàn)數(shù)據(jù)采集、設(shè)備控制以及過程監(jiān)控等功能[2]。但在實(shí)際應(yīng)用過程中,由于其計(jì)算功能薄弱,難以滿足發(fā)酵企業(yè)復(fù)雜數(shù)據(jù)處理的需求,除此之外,組態(tài)軟件數(shù)據(jù)庫(kù)中所保存的數(shù)據(jù)無法脫離組態(tài)環(huán)境查看,不能對(duì)用戶開放,尤其是不能按任意條件進(jìn)行查詢和刪除數(shù)據(jù)[3],為數(shù)據(jù)管理帶來了諸多不便。鑒于組態(tài)上位機(jī)軟件在數(shù)據(jù)處理以及數(shù)據(jù)管理功能上的不足,本文作者受連云港百侖生化科技有限公司委托開發(fā)“百侖慧神”發(fā)酵數(shù)據(jù)采集/分析系統(tǒng)(Bioplot)。
Bioplot軟件系統(tǒng)是利用C#編程工具和MySQL數(shù)據(jù)庫(kù)管理軟件共同開發(fā)的;利用C#開發(fā)圖形用戶界面(GUI),編寫數(shù)據(jù)接口模塊實(shí)現(xiàn)從設(shè)備采集數(shù)據(jù)的功能;后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)利用MySQL數(shù)據(jù)庫(kù)開發(fā)設(shè)計(jì)。整個(gè)發(fā)酵數(shù)據(jù)采集/分析系統(tǒng)所包含的功能模塊如圖1所示。軟件開發(fā)過程中采用多線程編程技術(shù),使得軟件系統(tǒng)在執(zhí)行某些占用CPU較高的數(shù)據(jù)處理任務(wù)時(shí)仍然能夠流暢穩(wěn)定地運(yùn)行,避免CPU長(zhǎng)時(shí)間被一個(gè)任務(wù)占用時(shí)整個(gè)軟件系統(tǒng)阻塞現(xiàn)象的發(fā)生[4]。
圖1 軟件系統(tǒng)功能模塊Fig.1 Function modules in software system
C#作為一種被廣泛應(yīng)用于計(jì)算機(jī)程序開發(fā)的語言,具有簡(jiǎn)單、現(xiàn)代、面向?qū)ο蠛皖愋桶踩葍?yōu)越的性能特點(diǎn)[5]。Bioplot軟件系統(tǒng)是以C#為平臺(tái),設(shè)計(jì)了友好的GUI,用戶可通過GUI完成以下功能:(1)采集在線數(shù)據(jù),接收人工錄入的離線數(shù)據(jù);(2)將采集到的數(shù)據(jù)發(fā)送至后臺(tái)數(shù)據(jù)管理模塊,下達(dá)指令控制數(shù)據(jù)管理模塊的數(shù)據(jù)管理行為;(3)利用發(fā)酵數(shù)據(jù)繪制曲線圖,進(jìn)行多批次數(shù)據(jù)間的分析比較。該軟件系統(tǒng)為用戶提供了美觀、簡(jiǎn)潔的程序界面,用戶通過簡(jiǎn)單的學(xué)習(xí)就能熟練掌握軟件的操作技能,極大程度地簡(jiǎn)化了用戶的操作過程。
MySQL數(shù)據(jù)庫(kù)是一種開放源碼的關(guān)系型數(shù)據(jù)庫(kù)[6],占用資源少,運(yùn)行速度快,被廣泛應(yīng)用。利用MySQL數(shù)據(jù)庫(kù)軟件,根據(jù)管理發(fā)酵數(shù)據(jù)的需求設(shè)計(jì)若干數(shù)據(jù)表,分別用于存儲(chǔ)數(shù)值、文字、圖片等不同類型的發(fā)酵數(shù)據(jù)。合理地設(shè)計(jì)各數(shù)據(jù)表的主鍵以及連接各數(shù)據(jù)表的外鍵,以確保數(shù)據(jù)存儲(chǔ)的穩(wěn)定性及可靠性。發(fā)酵過程的數(shù)據(jù)量非常龐大,根據(jù)發(fā)酵數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),優(yōu)化數(shù)據(jù)檢索方式,來提高數(shù)據(jù)的檢索和訪問速度。C#編寫的GUI能夠快速、靈活地與MySQL數(shù)據(jù)庫(kù)建立連接,用戶可通過GUI向數(shù)據(jù)管理模塊發(fā)送操作指令,實(shí)施數(shù)據(jù)檢索、訪問、導(dǎo)入、導(dǎo)出、備份等管理操作。C#中連接數(shù)據(jù)庫(kù)的代碼如下:
string connstring ="Data Source= 'localhost ';UserID =root; Password=1994; port=3306; database = booksdb";
MySqlConnection conn = new MySqlConnection(connString);
conn.Open();
目前,發(fā)酵設(shè)備下位機(jī)為上位機(jī)預(yù)留的數(shù)據(jù)通信接口主要包含三類,即DDE連接、OPC連接和TCP連接。DDE,全稱為Dynamic Data Exchange,即動(dòng)態(tài)數(shù)據(jù)交換技術(shù)[7],是最早的WINDOWS操作系統(tǒng)面向非編程應(yīng)用程序間的通信標(biāo)準(zhǔn),利用DDE能使2個(gè)應(yīng)用程序之間通過相互傳遞信息進(jìn)行“對(duì)話”[8]。OPC,全稱為Object Linking and Embeding for Process Control,被廣泛應(yīng)用于工業(yè)自動(dòng)化控制的數(shù)據(jù)采集系統(tǒng)中,該技術(shù)以O(shè)LE/COM / DCOM技術(shù)為基礎(chǔ),通過采用客戶/服務(wù)器模式,為工業(yè)自動(dòng)化制定了在面向?qū)ο筮^程中的統(tǒng)一標(biāo)準(zhǔn),采用該標(biāo)準(zhǔn)[9],使得軟件開發(fā)者通過簡(jiǎn)單的接口程序就能夠與工業(yè)設(shè)備硬件取得連接,進(jìn)行數(shù)據(jù)傳輸。TCP協(xié)議是面向連接的可靠的通信協(xié)議,能夠?qū)崿F(xiàn)遠(yuǎn)程監(jiān)控系統(tǒng)中的實(shí)時(shí)數(shù)據(jù)傳輸,在工作時(shí)主要靠IP地址和端口號(hào)來識(shí)別收發(fā)數(shù)據(jù)[10]。以上三種通信協(xié)議在通信過程中都采用客戶端/服務(wù)器模式,當(dāng)客戶端設(shè)置的通信參數(shù)與服務(wù)器相匹配時(shí),客戶端則能夠與服務(wù)器成功建立連接并完成數(shù)據(jù)交互。
由于不同發(fā)酵罐生產(chǎn)廠商所提供的下位機(jī),其服務(wù)器類型可能各不相同,通信參數(shù)也各不相同。如何確保自主設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)能夠與不同廠商的發(fā)酵設(shè)備建立連接并采集數(shù)據(jù),是一個(gè)首先需要解決的問題。為了解決這一軟件通用性的問題,作者采用了外部配置文件的方式配置數(shù)據(jù)采集接口的信息。配置文件類型為XML,其中包含了以鍵-值對(duì)形式描述的服務(wù)器類型和連接參數(shù)。系統(tǒng)運(yùn)行過程中,可按照保存于指定路徑下的XML配置文件中所提供的信息與服務(wù)器建立連接,并從中讀取數(shù)據(jù)。利用文本編輯工具(如Notpad++、Sublime Text、Vim等)修改配置文件中的服務(wù)器類型及連接參數(shù),使之與不同發(fā)酵設(shè)備的下位機(jī)服務(wù)器相匹配,即可實(shí)現(xiàn)本軟件系統(tǒng)與不同發(fā)酵設(shè)備的連接和通信。
為了保證發(fā)酵批號(hào)的唯一性,本軟件系統(tǒng)利用多個(gè)字段共同命名一個(gè)發(fā)酵批次。其中,“起始日期”、“描述”以及“設(shè)備批次編號(hào)”是系統(tǒng)默認(rèn)的通用字段?!捌鹗既掌凇弊侄蔚膬?nèi)容為該批次發(fā)酵起始的年月日信息;“描述”字段的內(nèi)容為用戶自己輸入的描述文本;“設(shè)備批次編號(hào)”字段的內(nèi)容由系統(tǒng)自動(dòng)生成,無法修改,是一個(gè)隨著發(fā)酵批次數(shù)目的增加而自增的整型變量。除了上述3個(gè)通用字段外,本軟件系統(tǒng)還預(yù)留了5個(gè)自定義字段,用戶可根據(jù)自身的實(shí)際情況定義通用字段的名稱及內(nèi)容選項(xiàng)。自定義的名稱和內(nèi)容選項(xiàng)均寫入指定的XML文件中,供系統(tǒng)運(yùn)行時(shí)自動(dòng)讀取。
系統(tǒng)中每一個(gè)發(fā)酵批次的操作都是相互獨(dú)立的,用戶能夠靈活地控制各個(gè)發(fā)酵批次的運(yùn)行狀態(tài),確保各批次互不干擾地進(jìn)行數(shù)據(jù)采集、暫停采集、結(jié)束發(fā)酵等操作。系統(tǒng)會(huì)自動(dòng)將發(fā)酵過程中采集到的發(fā)酵參數(shù)數(shù)值、樣品圖片及操作記錄等信息保存到后臺(tái)數(shù)據(jù)庫(kù)中。用戶可通過GUI設(shè)置各個(gè)命名字段的查找條件,對(duì)數(shù)據(jù)庫(kù)中存儲(chǔ)的批次進(jìn)行檢索。檢索得到的數(shù)據(jù)可以在系統(tǒng)中加載、查看、對(duì)比、繪制曲線圖,也可以將整個(gè)批次的數(shù)據(jù)導(dǎo)出為一個(gè)擴(kuò)展名為“.bl”的數(shù)據(jù)文件。bl數(shù)據(jù)文件既可用于數(shù)據(jù)備份,也可以導(dǎo)入其他計(jì)算機(jī)上運(yùn)行的Bioplot軟件系統(tǒng),以便于發(fā)酵數(shù)據(jù)的匯總和整理。
本軟件系統(tǒng)中的數(shù)據(jù)管理模塊用于完成數(shù)據(jù)的采集、保存和展示功能。本系統(tǒng)中的發(fā)酵數(shù)據(jù)主要分為在線數(shù)據(jù)、離線數(shù)據(jù)、圖片以及事件幾種類型。對(duì)于不同類型的數(shù)據(jù)采用不同的處理方式,簡(jiǎn)述如下:
(1)在線數(shù)據(jù):在線數(shù)據(jù)是指由在線傳感器自動(dòng)檢測(cè)的數(shù)據(jù)(如溶解氧濃度、pH值、溫度等),這類數(shù)據(jù)通過發(fā)酵設(shè)備預(yù)留的數(shù)據(jù)接口實(shí)時(shí)發(fā)送至本軟件系統(tǒng)。本系統(tǒng)接收來自設(shè)備的在線數(shù)據(jù)后將其在內(nèi)存中暫存,每隔一段時(shí)間將最新的數(shù)據(jù)一次性存入后臺(tái)數(shù)據(jù)庫(kù)中。與此同時(shí),內(nèi)存中保存的數(shù)據(jù)可以表格形式展示,供用戶查看。
(2)離線數(shù)據(jù):離線數(shù)據(jù)是指取樣后人工測(cè)定的發(fā)酵過程參數(shù)(如細(xì)胞濃度、底物濃度、產(chǎn)物濃度等),這類數(shù)據(jù)通常由用戶手動(dòng)錄入,同時(shí)將數(shù)據(jù)存入內(nèi)存與后臺(tái)數(shù)據(jù)庫(kù)中。內(nèi)存中保存的數(shù)據(jù)可以表格形式展示,供用戶查看。
(3)事件:發(fā)酵過程中的操作記錄、人員輪班以及一些突發(fā)事件的信息也是非常重要的。這些文本類的信息可由操作用戶手動(dòng)錄入,同時(shí)將數(shù)據(jù)存入內(nèi)存與后臺(tái)數(shù)據(jù)庫(kù)中。內(nèi)存中保存的數(shù)據(jù)可以表格形式展示,供用戶查看。
(4)圖片:菌體形態(tài)、發(fā)酵液顏色等重要信息是以圖片形式展示的。用戶可將重要的圖片信息以圖片文件的形式導(dǎo)入本軟件系統(tǒng)中,并將保存圖片文件所對(duì)應(yīng)的信息和保存路徑存入后臺(tái)數(shù)據(jù)庫(kù)中。用戶可在GUI的指定子窗口上查看比較這些圖片信息。
本軟件系統(tǒng)中繪制曲線圖的功能利用C# 提供的Chart控件實(shí)現(xiàn),曲線圖的時(shí)間軸為發(fā)酵時(shí)間或采樣時(shí)間,用戶可以按照自己的需求切換。用戶可在系統(tǒng)內(nèi)存所有批次的所有參數(shù)中選取繪制曲線的目標(biāo)參數(shù),根據(jù)自己的需求靈活地繪制曲線圖:(1)將實(shí)時(shí)批次中的關(guān)鍵發(fā)酵參數(shù)繪制在曲線圖中,曲線圖隨著數(shù)據(jù)量的增加而自動(dòng)更新。用戶可實(shí)時(shí)監(jiān)控關(guān)鍵參數(shù)的變化,以此作為操作和工藝控制的依據(jù)。(2)將多個(gè)歷史發(fā)酵批次中的關(guān)鍵發(fā)酵參數(shù)繪制在同一張曲線圖中,用戶可通過比較各批次關(guān)鍵發(fā)酵參數(shù)的變化規(guī)律對(duì)發(fā)酵生產(chǎn)過程進(jìn)行分析,為工藝的改進(jìn)提供依據(jù)。(3)將歷史批次和實(shí)時(shí)批次的關(guān)鍵發(fā)酵參數(shù)繪制在一張曲線圖中,用戶能夠以生產(chǎn)性能較好的歷史批次作為對(duì)照,對(duì)實(shí)時(shí)批次的生產(chǎn)狀況作出初步的判斷。為了提供更加靈活的曲線比較功能,用戶可在一個(gè)窗口界面上添加多個(gè)繪圖區(qū),每個(gè)繪圖區(qū)內(nèi)可獨(dú)立繪制曲線圖,互不干擾。繪圖區(qū)的尺寸大小允許用戶設(shè)置,與此同時(shí),提供了垂直和左右分欄兩種排列繪圖區(qū)的方式供用戶選擇。
各參數(shù)的數(shù)量級(jí)可能存在很大的差異,因此在同一個(gè)繪圖區(qū)展示多條時(shí),難以用一個(gè)相同的縱坐標(biāo)軸繪制所有的曲線。為解決這一問題,本軟件系統(tǒng)在繪制曲線圖時(shí),各參數(shù)的數(shù)值全部使用歸一化處理(0%~100%)后的數(shù)據(jù)。軟件系統(tǒng)可根據(jù)各發(fā)酵參數(shù)取值范圍自動(dòng)調(diào)整歸一化的上限和下限,用戶也可以人工設(shè)置各參數(shù)的歸一化上限和下限。當(dāng)用戶將鼠標(biāo)懸停于曲線之上時(shí),會(huì)自動(dòng)彈出提示框,為用戶顯示該曲線的批次號(hào)、參數(shù)名稱以及鼠標(biāo)所指向數(shù)據(jù)點(diǎn)的參數(shù)實(shí)測(cè)值。
將Bioplot軟件系統(tǒng)應(yīng)用于重組畢赤酵母發(fā)酵產(chǎn)外源蛋白的過程中,來測(cè)試系統(tǒng)的功能及穩(wěn)定性。接下來將從數(shù)據(jù)接口配置、批次管理、數(shù)據(jù)管理及顯示和曲線圖等幾個(gè)方面描述本軟件系統(tǒng)的應(yīng)用過程和結(jié)果。
初次連接特定的發(fā)酵設(shè)備之前,需要在本軟件系統(tǒng)中配置發(fā)酵設(shè)備服務(wù)器的連接參數(shù)。如前所述,配置服務(wù)器連接參數(shù)時(shí),只需將其以鍵-值對(duì)形式寫入指定的XML配置文件中即可。利用兩臺(tái)來自于不同生產(chǎn)廠商的發(fā)酵罐來測(cè)試本軟件系統(tǒng)的通用性,設(shè)備信息如表1所示。
表1 發(fā)酵設(shè)備的屬性參數(shù)Table 1 The property parameters of fermentation tank
數(shù)據(jù)接口的配置過程包括以下幾步:
(1)配置發(fā)酵罐編號(hào):將本軟件系統(tǒng)中需要采用的發(fā)酵罐編號(hào)寫入配置文件中。發(fā)酵罐編號(hào)所對(duì)應(yīng)的key值為“DevicesLabel”,將設(shè)備編號(hào)(A#和B#)以半角格式的逗號(hào)分隔,寫入“DevicesLabel”對(duì)應(yīng)的“value”值中。
(2)配置服務(wù)器類型及連接參數(shù):將每個(gè)發(fā)酵設(shè)備所對(duì)應(yīng)的服務(wù)器名稱、類型和參數(shù)寫入配置文件中,以自定義的服務(wù)器名稱(serverBL和serverBX)為key值,以“服務(wù)器類型___參數(shù)1,參數(shù)2”格式的字符串為value值。
(3)配置變量:將本軟件系統(tǒng)內(nèi)部預(yù)留的參數(shù)變量與服務(wù)器所提供的發(fā)酵參數(shù)建立連接。在配置文件中,以軟件系統(tǒng)內(nèi)部預(yù)留的參數(shù)變量為key值,以“服務(wù)器名稱~服務(wù)器中的變量名稱”格式的字符串為value值。服務(wù)器中不提供數(shù)據(jù)接口的變量或軟件系統(tǒng)中不采集的變量名稱用“***”表示。
將兩個(gè)發(fā)酵罐的服務(wù)器連接參數(shù)按照上述格式寫入XML配置文件后,運(yùn)行本軟件系統(tǒng),即可將發(fā)酵設(shè)備下位機(jī)中提供的數(shù)據(jù)讀取至本系統(tǒng)中。連接不同的發(fā)酵設(shè)備時(shí),只需要配置不同的服務(wù)器連接參數(shù)即可,本系統(tǒng)已預(yù)留了與幾種通用通信方式連接的數(shù)據(jù)接口,具有較強(qiáng)的通用性。
配置發(fā)酵批次命名規(guī)則,本研究中為“Field1~Field5”各配置一個(gè)命名字段,分別為“部門”、“產(chǎn)品”、“操作人”、“驗(yàn)收人”和“目標(biāo)客戶”。修改配置文件,分別以“Field1~Field5”為key值,以“字段名稱,選項(xiàng)1,選項(xiàng)2,選項(xiàng)3,……”格式的字符串為value值。若所需的命名字段不足5個(gè),則按照順序依次配置,不配置內(nèi)容的命名字段value值為空即可。
本次實(shí)驗(yàn)中使用的設(shè)備為A#發(fā)酵罐、“部門”為“研發(fā)”、“操作人”為“賈祿強(qiáng)”、“驗(yàn)收人”為“史仲平”、目標(biāo)客戶為“上海百侖”。在新建批號(hào)窗口中為每個(gè)字段選定相應(yīng)的選項(xiàng),之后再點(diǎn)擊“創(chuàng)建批號(hào)”按鈕,系統(tǒng)就會(huì)提示批號(hào)創(chuàng)建成功。新建批號(hào)的窗口設(shè)置如圖2所示。
發(fā)酵過程中采集到的實(shí)時(shí)數(shù)據(jù)以及從數(shù)據(jù)庫(kù)中加載的歷史數(shù)據(jù)均能以數(shù)據(jù)報(bào)表的形式展示給用戶。在線數(shù)據(jù)報(bào)表如圖2所示,若數(shù)據(jù)報(bào)表中展示的是實(shí)時(shí)批次的在線數(shù)據(jù),報(bào)表中的數(shù)據(jù)會(huì)隨著發(fā)酵的進(jìn)行而自動(dòng)更新。離線數(shù)據(jù)報(bào)表如圖3所示,點(diǎn)擊界面上的“添加采樣點(diǎn)”按鈕,則會(huì)在數(shù)據(jù)報(bào)表中增加一條記錄,用戶可根據(jù)實(shí)際情況修改采樣時(shí)間以及各采樣點(diǎn)離線參數(shù)的數(shù)值。圖片管理界面如圖4所示,用戶可在該界面中查看比較導(dǎo)入軟件系統(tǒng)的圖片文件。事件管理界面如圖5所示,點(diǎn)擊“添加”按鈕可以增加一條事件記錄,用戶可根據(jù)實(shí)際情況修改事件記錄的時(shí)間以及事件記錄的內(nèi)容。
圖3 在線數(shù)據(jù)報(bào)表Fig.3 Online data report注:該圖為在線數(shù)據(jù)顯示界面,已打開的批次名稱顯示在界面左側(cè)的樹形視圖中,在線數(shù)據(jù)以表格的形式呈現(xiàn)在界面上,用戶能夠選擇批次名稱和數(shù)據(jù)類型,查看并導(dǎo)出不同批次的在線(離線)數(shù)據(jù)。
圖4 離線數(shù)據(jù)報(bào)表Fig.4 Off-line data report注:該圖為離線數(shù)據(jù)顯示界面,已打開的批次名稱顯示在界面左側(cè)的樹形視圖中,離線數(shù)據(jù)以表格形式顯示在界面上,用戶點(diǎn)擊單元格右側(cè)的按鈕,可以編輯和修改單元格中的內(nèi)容。
圖5 圖片管理界面Fig.5 Image management Interface注:該圖為圖片管理界面,用于查看和修改導(dǎo)入系統(tǒng)中的圖片信息,用戶選中樹形視圖中的批次名稱進(jìn)行圖片導(dǎo)入、刪除和修改操作,也可以對(duì)選中的多張圖片進(jìn)行排序和比較操作。
圖6 事件管理界面Fig.6 Event management Interface注:該圖為事件管理界面,不同批次的事件記錄以表格的形式呈現(xiàn)在界面上,用戶選中樹形視圖中的批次名稱可以查看和導(dǎo)出相關(guān)的事件記錄表格,單擊當(dāng)前單元格右側(cè)的按鈕可以修改采樣時(shí)間和編輯事件內(nèi)容。
發(fā)酵過程中采集到的實(shí)時(shí)數(shù)據(jù)會(huì)自動(dòng)保存到數(shù)據(jù)庫(kù)中,將發(fā)酵實(shí)時(shí)數(shù)據(jù)對(duì)發(fā)酵相對(duì)時(shí)間作圖,如圖7所示。將多個(gè)批次的歷史發(fā)酵數(shù)據(jù)進(jìn)行作圖比較,可用來分析這些發(fā)酵批次間的共性與差異,如圖8所示。將鼠標(biāo)懸停于某條曲線之上,會(huì)自動(dòng)彈出提示,顯示鼠標(biāo)所指向數(shù)據(jù)點(diǎn)的時(shí)間及參數(shù)。
圖7 實(shí)時(shí)曲線圖Fig.7 Real time curves注:該圖為實(shí)時(shí)曲線圖的顯示界面,用戶選中不同的參數(shù)繪制曲線圖,并對(duì)曲線圖的橫縱坐標(biāo)、圖例位置、取點(diǎn)方式以及刷新時(shí)間間隔進(jìn)行設(shè)置,來查看和分析各發(fā)酵參數(shù)的實(shí)時(shí)變化情況。
圖8 歷史曲線圖Fig.8 Hstorical curves注:該圖為歷史曲線圖的顯示界面,已打開的歷史批次顯示在界面左側(cè)的樹形視圖中,用戶選中不同歷史批次的在線(離線)參數(shù)繪制曲線圖,將鼠標(biāo)懸停在曲線上的某一點(diǎn)以查看該點(diǎn)的橫縱坐標(biāo)值。
本款軟件以C#作為主要的開發(fā)工具,提供了友好、美觀、便于操作的圖形用戶界面,采用MySQL關(guān)系型數(shù)據(jù)庫(kù)作為后臺(tái)數(shù)據(jù)庫(kù),使得用戶能夠靈活地實(shí)現(xiàn)數(shù)據(jù)檢索、備份、增加、刪除等數(shù)據(jù)管理功能。軟件在設(shè)計(jì)過程中,預(yù)留了3種工業(yè)控制中常用的通信接口,能夠兼容絕大多數(shù)的發(fā)酵設(shè)備,具有良好的設(shè)備通用性。與組態(tài)上位機(jī)軟件相比,本款軟件在數(shù)據(jù)運(yùn)算和數(shù)據(jù)管理方面更具優(yōu)勢(shì),使用本款軟件,用戶能夠高效地管理發(fā)酵工業(yè)化規(guī)模下復(fù)雜的發(fā)酵數(shù)據(jù)。