李志勉,蒙博宇,俞文光
(浙江中控技術(shù)股份有限公司,杭州310053)
在工控行業(yè)中,隨著計算機(jī)技術(shù)的不斷發(fā)展,對工業(yè)數(shù)據(jù)的二次分析與處理的需求變得越來越大。 通過對大量的不同的數(shù)據(jù)進(jìn)行篩選、分析和預(yù)測等,可以判斷在有限時間內(nèi)設(shè)備的運行狀態(tài)、生產(chǎn)批次相關(guān)數(shù)據(jù)等信息,為未知風(fēng)險的預(yù)判和決策提供一定程度的支撐。 而所有這些均基于數(shù)據(jù)的一致性和持續(xù)性,尤其是中藥生產(chǎn)環(huán)節(jié)中,現(xiàn)場單機(jī)設(shè)備繁多,網(wǎng)絡(luò)情況復(fù)雜,容易出現(xiàn)數(shù)據(jù)孤島、網(wǎng)絡(luò)異常、服務(wù)器宕機(jī)等異常。 數(shù)據(jù)完整性是醫(yī)藥行業(yè)法律法規(guī)的強(qiáng)制要求,因此對從現(xiàn)場生產(chǎn)設(shè)備到現(xiàn)場通訊服務(wù)器,再到中心控制室數(shù)據(jù)庫平臺的斷線續(xù)傳功能的需求強(qiáng)烈。 然而,當(dāng)前行業(yè)中仍處于空白狀態(tài),其他傳統(tǒng)行業(yè)中的方案一般部署專門的斷線續(xù)傳服務(wù),通過自定義協(xié)議續(xù)傳,這與醫(yī)藥行業(yè)中對數(shù)據(jù)完整性要求仍有差距。 故在此提出了基于DNP3 開放協(xié)議的PLC 系統(tǒng)數(shù)據(jù)補(bǔ)傳方案,其目標(biāo)在于根據(jù)中藥行業(yè)業(yè)務(wù)邏輯,實現(xiàn)斷線續(xù)傳功能,既要符合行業(yè)法律法規(guī)的要求,又實現(xiàn)用戶斷線續(xù)傳數(shù)據(jù)完整的需求,達(dá)到一定程度的創(chuàng)新性。
在醫(yī)藥行業(yè)應(yīng)用場景里,因網(wǎng)絡(luò)情況復(fù)雜,控制站和控制系統(tǒng)有時沒有條件網(wǎng)線直拉,而要借助公共網(wǎng)絡(luò)或者用戶內(nèi)部交換機(jī)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸。此時網(wǎng)絡(luò)不穩(wěn)定,會造成控制站讀不到現(xiàn)場數(shù)據(jù),造成數(shù)據(jù)丟失。
經(jīng)研發(fā)人員分析,造成數(shù)據(jù)丟失原因有2 種。①網(wǎng)絡(luò)不穩(wěn)定,導(dǎo)致有效帶寬減小,PLC 系統(tǒng)的實時數(shù)據(jù)傳輸協(xié)議如modbusTCP 無法適應(yīng)這種小帶寬網(wǎng)絡(luò)環(huán)境,造成數(shù)據(jù)丟失;②網(wǎng)絡(luò)不穩(wěn)定至完全斷開,現(xiàn)場控制器無歷史數(shù)據(jù)存儲功能,導(dǎo)致網(wǎng)絡(luò)斷開期間數(shù)據(jù)丟失。 因此,PLC 控制器需要有數(shù)據(jù)存儲能力,能記錄現(xiàn)場數(shù)據(jù)在本地,并能適應(yīng)小帶寬傳輸環(huán)境,將歷史數(shù)據(jù)傳輸至數(shù)據(jù)中心。
數(shù)據(jù)補(bǔ)傳方案是一個集現(xiàn)場設(shè)備、控制單元PLC、數(shù)據(jù)庫、監(jiān)控HMI 等于一體的解決方案。
為解決上述問題,在此設(shè)計了PLC 控制系統(tǒng)的數(shù)據(jù)補(bǔ)傳方案。 PLC 控制器首先實現(xiàn)了一個小型本地數(shù)據(jù)庫,將實時數(shù)據(jù)打上時間戳后存入數(shù)據(jù)庫,然后通過DNP3 協(xié)議中的歷史數(shù)據(jù)對象封裝本地數(shù)據(jù),回傳給控制站。 該方案可使控制系統(tǒng)在不穩(wěn)定網(wǎng)絡(luò)環(huán)境里具備數(shù)據(jù)補(bǔ)傳的能力,保證斷網(wǎng)數(shù)據(jù)不丟失,在醫(yī)藥生產(chǎn)領(lǐng)域里有很好的應(yīng)用價值。
控制器首先實現(xiàn)一個基于Flash 的小型數(shù)據(jù)庫,數(shù)據(jù)庫支持K-V 型數(shù)據(jù)存儲、訪問。 考慮到了Flash 的擦寫特性,數(shù)據(jù)庫底層進(jìn)行了備份和扇區(qū)滾動設(shè)計,防止擦寫期間突然斷電導(dǎo)致數(shù)據(jù)丟失和避免頻繁擦寫導(dǎo)致Flash 壽命下降。
該方案在傳輸協(xié)議部位選擇DNP3 這種異構(gòu)協(xié)議進(jìn)行傳輸:①DNP3 協(xié)議的鏈路層、傳輸層設(shè)計包含數(shù)據(jù)分批校驗、接收應(yīng)答、超時重傳和大數(shù)據(jù)包分包傳輸?shù)忍匦?,非常適合用于不穩(wěn)定遠(yuǎn)距離網(wǎng)絡(luò)數(shù)據(jù)傳輸; ②DNP3 協(xié)議的應(yīng)用層使用了數(shù)據(jù)對象的概念,其中部分?jǐn)?shù)據(jù)對象定義了為帶時間標(biāo)簽的位號值(見表1),非常適合用于裝載位號歷史數(shù)據(jù)。
表1 歷史數(shù)據(jù)位號對象定義Tab.1 Definition of historical data bit number object
當(dāng)現(xiàn)場處于斷網(wǎng)狀態(tài)時,PLC 控制器在本地進(jìn)行數(shù)據(jù)存儲。 網(wǎng)絡(luò)恢復(fù)后,上位機(jī)作為DNP3 主站,PLC 作為DNP3 從站,開始數(shù)據(jù)補(bǔ)傳,其工作流程如圖1所示。
圖1 PLC 數(shù)據(jù)補(bǔ)傳流程Fig.1 Flow chart of PLC data supplementary transmission
步驟1上位機(jī)下發(fā)下發(fā)讀命令,對象為Class 1/2/3,索引方式為(06),表示讀取全部歷史數(shù)據(jù);
步驟2PLC 控制器接收到命令后,開始檢索自身歷史數(shù)據(jù),將歷史數(shù)據(jù)取出并打包為如表1中的DNP3 數(shù)據(jù)對象格式,發(fā)回至上位機(jī);
步驟3上位機(jī)接收到數(shù)據(jù),解析正確并完成數(shù)據(jù)庫補(bǔ)入后,向PLC 給出確認(rèn)應(yīng)答;
步驟4PLC 收到上位機(jī)的確認(rèn)應(yīng)答后,將該批歷史數(shù)據(jù)從數(shù)據(jù)庫清除。
以國內(nèi)某中藥生產(chǎn)企業(yè)新建制劑車間應(yīng)用所設(shè)計的數(shù)據(jù)補(bǔ)傳方案為例。 該車間現(xiàn)場設(shè)備及工段包括稱量投料、混合、制粒、袋內(nèi)包裝、瓶內(nèi)包裝、瓶外包裝等。 經(jīng)設(shè)計,現(xiàn)場數(shù)據(jù)采集通過浙江中控的GCS-3,上位機(jī)數(shù)據(jù)庫使用浙江中控的VxHistorian大型數(shù)據(jù)庫,監(jiān)控軟件使用VxSCADA 軟件。該車間中藥現(xiàn)場控制系統(tǒng)網(wǎng)絡(luò)架構(gòu)如圖2所示。
通過該平臺架構(gòu),形成了從控制設(shè)備到軟件監(jiān)控平臺的斷線續(xù)傳方案,形成了現(xiàn)場通訊服務(wù)器到中心控制室數(shù)據(jù)庫平臺的斷線續(xù)傳方案,從而能夠在網(wǎng)絡(luò)通訊中斷、通訊設(shè)備故障、通訊延時等惡劣條件產(chǎn)生的故障情況下,在控制設(shè)備端緩存一定量數(shù)據(jù),待通訊恢復(fù)正常后,將數(shù)據(jù)在后臺自動續(xù)傳至現(xiàn)場通訊服務(wù)器和控制中心數(shù)據(jù)庫中,并利用通訊協(xié)議及算法保障續(xù)傳數(shù)據(jù)過程不會影響實時數(shù)據(jù)通訊。
圖2 中藥現(xiàn)場控制系統(tǒng)網(wǎng)絡(luò)架構(gòu)Fig.2 Network architecture of TCM field control system
針對中藥生產(chǎn)過程中惡劣環(huán)境造成的現(xiàn)場數(shù)據(jù)無法全面采集,無法滿足醫(yī)藥行業(yè)數(shù)據(jù)完整的需求,系統(tǒng)性的分析了數(shù)據(jù)補(bǔ)傳方案的設(shè)計方法,并設(shè)計了基于DNP3 協(xié)議的PLC 系統(tǒng)數(shù)據(jù)補(bǔ)傳解決方案;在某中藥制劑車間項目開展了應(yīng)用,取得相應(yīng)成果。 通過該方案進(jìn)行數(shù)據(jù)補(bǔ)傳,可以有效地解決現(xiàn)場惡劣環(huán)境造成的設(shè)備失聯(lián)、生產(chǎn)數(shù)據(jù)不完整的問題,符合行業(yè)法律法規(guī)的要求,并且可以通過完整、大量的不同的數(shù)據(jù)進(jìn)行篩選、分析和預(yù)測等手段,可以判斷在有限時間內(nèi)的設(shè)備的運行狀態(tài)、生產(chǎn)批次相關(guān)數(shù)據(jù)等信息,為未知風(fēng)險的預(yù)判和決策提供一定程度的支撐。