王東鵬 陳乙鋒 白凌云 左冬 宋悅
摘要:面對不斷增長的成本壓力、愈加嚴格的法規(guī)和安全指南以及日益多樣化的產品線,制藥企業(yè)正不斷尋找改進生產工藝的方法。SIMATIC IT eBR為制藥行業(yè)提供了專用的MES解決方案,它實現(xiàn)了徹底的無紙化制造和完全電子化的批量記錄。SIMATIC IT eBR包括生產執(zhí)行系統(tǒng)(MES)、SIMATIC PCS 7過程控制系統(tǒng)(DCS)與SIMATIC Batch的HMI層之間的內在集成。現(xiàn)就MES與DCS之間的數(shù)據(jù)交互方式、DCS和MES協(xié)同問題的解決方案進行梳理和研究。
關鍵詞:MES;DCS;數(shù)據(jù)交互;協(xié)同問題
中圖分類號:TP274? 文獻標志碼:A? 文章編號:1671-0797(2022)01-0011-05
DOI:10.19514/j.cnki.cn32-1628/tm.2022.01.003
0? ? 引言
2015年,《中國制造2025》規(guī)劃出臺,劍指“工業(yè)4.0”,其中涉及醫(yī)藥行業(yè)的內容成為指導我國醫(yī)藥行業(yè)智能化轉型升級的行動目標和綱領。醫(yī)藥工業(yè)在智能化技術趨勢的影響下,正在進入全面轉型升級的階段。制藥工業(yè)的新紀元——無紙化生產即將成為新的標準。借助于西門子成熟的電子批記錄解決方案(SIMATIC IT eBR)[1],可實現(xiàn)完全無紙化生產。本文針對SIMATIC IT eBR中的生產執(zhí)行系統(tǒng)(MES)、SIMATIC PCS 7過程控制系統(tǒng)(DCS)[2],展開了對這兩套系統(tǒng)的數(shù)據(jù)交互以及協(xié)同問題解決方法的研究。
1? ? DCS與MES數(shù)據(jù)交互方式
1.1? ? MES與DCS通過OPC進行數(shù)據(jù)交互
此交互方式適用于MES系統(tǒng)需要讀取第三方設備數(shù)據(jù)的場景,同時也適用于一些狀態(tài)的顯示,如設備的CIP清洗、SIP滅菌的時效。如圖1所示,當MES系統(tǒng)需要讀取DCS系統(tǒng)某個數(shù)據(jù)時,可通過OPC訪問DCS或WinCC的數(shù)據(jù)庫直接獲取DCS系統(tǒng)的數(shù)據(jù);當MES系統(tǒng)需要下發(fā)某個數(shù)據(jù)給DCS系統(tǒng)時,也可通過OPC將數(shù)據(jù)寫入DCS系統(tǒng)。當MES需要多次讀取DCS數(shù)據(jù),或需要判斷讀取數(shù)據(jù)的正確性時,經(jīng)常采用OPC讀取這種方式。比如在溫度調整過程中,MES系統(tǒng)需要多次獲取罐子溫度,直到罐溫滿足要求以后才記錄,這時就可以選擇OPC讀取這種方式。值得注意的是,在通過OPC進行數(shù)據(jù)交互時,需要明確DCS中OPC服務器的IP地址以及數(shù)據(jù)的變量名。當OPC通信變量獲取出現(xiàn)異常時,需要查看EBROPC服務是否開啟,若服務正常開啟,則查看DCS中的OPC服務器是否異常,檢查設備是否打到仿真狀態(tài),如打到仿真狀態(tài),而OPC無法讀取到仿真值,則查看OPC配置點位是否正確(新增點位出現(xiàn)異常的可能性最大)。
MES直讀DCS或WinCC變量功能是通過腳本“YA_READ_MAXMIN”讀取一段時間內單個DCS或WinCC點位的最大/最小值及相應時間點,并且需要在DCS服務器上運行“YAWinCC.EXE”插件。
“YA_READ_MAXMIN”腳本輸入/輸出參數(shù)說明:
insTag:輸入WinCC點位;
intStart:輸入讀取時間段的開始時間點;
intEnd:輸入讀取時間段的結束時間點;
oudMax:輸出讀取時間段內的最大值;
oudMin:輸出讀取時間段內的最小值;
oulResult:輸出運行返回值[建議在PI中放出來,方便異常情況查看,正確的返回值為“0”,當返回值為“1”時,讀出數(shù)值為空值,檢查配置的點位是否有錯誤(非格式錯誤);當返回值為“2”時,檢查DCS服務器是否有異常,服務器上“YAWinCC.EXE”插件是否啟用;當返回值為“3”時,檢查配置點位格式是否有錯誤];
outMaxTime:輸出最大值對應的時間點;
outMinTime:輸出最小值對應的時間點。
1.2? ? DCS與MES數(shù)據(jù)交互方式——Batch
SIMATIC Batch是一個模塊化和可升級的批處理平臺。Batch在執(zhí)行特定動作時(如批處理訂單啟動),MES與Batch可直接進行數(shù)據(jù)交互。MES中的事件PI與Batch中相關的EPH或QCS綁定,當該QCS觸發(fā)特定事件,如Start、Refresh、Completed或者Aborted時,MES就可通過事件PI與Batch進行數(shù)據(jù)交互,如圖2所示。
2? ? DCS和MES協(xié)同問題的解決
兩個系統(tǒng)在配合運行時,出現(xiàn)協(xié)同問題在所難免。DCS和MES的協(xié)同問題主要體現(xiàn)在:
(1)參數(shù)匹配,其中包括Batch的設定值中是否包含了MES需要下發(fā)的設定值、MES與Batch的參數(shù)是否在配方啟動時直接傳送、MES與Batch的參數(shù)是否來自于計算值、MES與Batch的參數(shù)是否來自于不同步驟的計算值;
(2)流程匹配,包括時序的匹配(具體ROP的激活時序)、MES中的人工確認(采樣、手動加料、放行等)、MES與Batch的配合(pH調節(jié)的次數(shù);與第三方設備的交互,雖然和Batch沒有控制上的關系,但MES需要數(shù)據(jù),還是需要在Batch上進行考慮);
(3)Master Recipe的影響,例如同一個Unit的不同操作是否是在同一個配方中(如緩沖液的配制和出料功能)。
針對這一系列的協(xié)同問題,借助于本公司部分生產工藝流程的設計思路(部分流程進行了模糊化處理或替代),于下文中給出了一定的解決方案。
2.1? ? 參數(shù)匹配問題
2.1.1? ? Batch的設定值中是否包含了MES需要下發(fā)的設定值
針對這類問題的解決,需要MES提供與Batch的接口數(shù)據(jù)表,進行Batch配方編輯的人員在拿到這個數(shù)據(jù)表之后,需要考慮EM的設定值的創(chuàng)建,具體可以參考MES與Batch的接口數(shù)據(jù)表和協(xié)同工作的流程。
2.1.2? ? MES與Batch的參數(shù)是否在配方啟動時直接傳送
設定值參數(shù)在Batch訂單中運行時如為固定值,一般該參數(shù)需要上傳到表頭,由MES在啟動Batch訂單時更新表頭參數(shù)。例如在某一生產流程中的溫度控制階段,反應罐的溫度設定值是一個固定參數(shù),需要上傳到表頭,具體如圖3所示。
2.1.3? ? MES與Batch的參數(shù)是否來自于計算值
當某個QCS觸發(fā)了特定的PI事件,然后計算的值寫入相同的QCS時,這種寫值方式不受Batch流程架構影響。如圖4所示,如果想要將MES在進生理鹽水階段計算出的生理鹽水加料量寫入到本階段的進生理鹽水設定值中,這時在DCS的順控中就需要考慮MES的計算是否已經(jīng)完成,或者是否可以應用當前的數(shù)據(jù)來運行進料程序。
如下幾個步驟需要在SFC中考慮:
步驟1,在EPH中創(chuàng)建一個交互設定值參數(shù)MES_
Unblock(數(shù)據(jù)類型為Bool型),其主要的目的是讓MES通過這個參數(shù)告訴DCS相關運算已經(jīng)完成;
步驟2,在SFC的Starting中,需要復位這個交互設定值參數(shù),確保程序運行前MES_Unblock值為假;
步驟3,在SFC的Run中,“等待MES操作”這一步置位REFRESH信號(置位此信號的主要目的是在SFC運行的過程中還能實時接收來自于MES的設定值即MES_Unblock的信號),同時在“MES操作完成”中設置檢查MES_Unblock信號是否被MES置位這一條件,若MES_Unblock信號為真,則表示MES計算已經(jīng)完成,可以開始執(zhí)行該程序;
步驟4,在SFC的QCS的Completing、Aborting與Stopping中復位MES_Unblock和REFRESH信號;
步驟5,在配方中該設定值參數(shù)不能有源,且必須可更改并立即生效,如加生理鹽水階段的加料量設定值需要MES計算后寫入。
Batch中正確組態(tài)如圖5所示。
2.1.4? ? MES與Batch的參數(shù)是否來自于不同步驟的計算值
MES的數(shù)據(jù)通過EM或者QCS寫入。當某個QCS觸發(fā)了一個PI事件,然后計算的值寫入相同的QCS,接著在Batch底層通過將MES寫入的參數(shù)作為目標參數(shù)上傳,再在另一步驟中將上傳的參數(shù)作為源引用。這種方式寫值不需要有確定的Batch架構。如圖6所示,如果需要將MES在緩沖液進料階段計算出來的緩沖液的加料量寫入緩沖液加料階段的設定值中,只需在緩沖液進料階段的屬性參數(shù)配置中找到緩沖液加料量(PH_WI_SP),為其設置上傳目標參數(shù)(PH_ADD_SP),并在緩沖液加料階段的屬性參數(shù)配置中找到緩沖液加料設定值(WI_SP),將目標參數(shù)(PH_ADD_SP)作為源引用。
2.2? ? 流程匹配問題
2.2.1? ? 時序的匹配(具體ROP的激活時序)
在很多MES管理的項目中,罐子的CIP清洗是單獨的訂單,與主流程平行進行,所以主流程在占用該罐子之前,需要事先確認罐子是否干凈可用。以圖7所示工藝流程為例:PI301在完成制作工序1之后,可以進行PI303的制作工序2。在沒有MES協(xié)調的情況下,按照圖中方式進行組態(tài),在PI301完成工序1后,PI303便被主流程訂單占用。如果此時PI303為不清潔狀態(tài),調用PI303的CIP清洗訂單則無法啟動。要解決此類問題,只需在PI301完成制作工序1后,增加一條下游設備PI303確認功能,通知MES進行設備檢查確認,同時將PI303的組態(tài)動態(tài)單元設置為條件啟動,條件為MES已經(jīng)確認設備(MES將設備確認參數(shù)DevCheck通過OPC傳遞到DCS,DCS再將其組態(tài)為單元參數(shù)),如圖8、圖9所示。
若設備已經(jīng)為清潔狀態(tài),MES確認設備并且下發(fā)參數(shù)通知DCS,DCS主流程啟動PI303;若設備為不清潔狀態(tài),則MES啟動對應的清洗訂單,待設備清洗完成后,MES確認該設備并通知DCS,DCS主流程啟動PI303。
2.2.2? ? MES中的人工確認(采樣、手動加料、放行等)
在一些緩沖液的配制過程中,需要進行手動加料。此時,Batch流程通過特定的EM或QCS觸發(fā)MES進行手動加料,完成后通知Batch繼續(xù)生產小結流程。如圖10所示,PI100在進行完工序1后需要手動進行加料,若沒有MES的干預,在手動加料過程中訂單將繼續(xù)往下執(zhí)行生產小結,為避免這種情況,在工序1完成后增加手動投料這一過程,并通過MES確認已經(jīng)添加完成,訂單繼續(xù)向下執(zhí)行。
2.2.3? ? MES與Batch的配合(如多次調整進料)
很多情況需要MES和Batch配合,MES下發(fā)加料量給Batch,Batch自動加料完成后通知MES檢測再調整。如乙醇配制階段,在預加一定量的水和乙醇后,需要檢測乙醇濃度進行再次調節(jié),直到合格后進行后續(xù)步驟。此時需要MES和Batch配合完成,如圖11所示。
2.3? ? 同一個Unit的不同操作不在一個訂單中,需要MES進行協(xié)調解決
如緩沖液的配制和出料操作不在一個訂單中,如果沒有MES協(xié)調,在Buffer配制之后和出料之前有一定的空檔期,可能存在安全隱患等,如圖12所示。此時只需在配制訂單結束前增加一步用于等待MES確認,在MES準備啟動出料訂單前,才停止配制訂單,保證流程的延續(xù)性和安全性,如圖13所示。
3? ? 結語
本文就MES與DCS數(shù)據(jù)交互方式展開了研究,為實際生產中出現(xiàn)的數(shù)據(jù)交互問題的及時解決提供了有力保障,提高了自動化運營的生產效率。
另外,本文基于本公司實際生產部分流程對MES與DCS的一些協(xié)調問題給出了一定的解決方案,可供相關從業(yè)人員參考學習、共同進步。
[參考文獻]
[1] 米勒.西門子自動化系統(tǒng)實戰(zhàn)S7和PCS7應用實例[M].張懷勇,譯.北京:人民郵電出版社,2007.
[2] 利昂·烏爾巴斯,安尼特·克勞澤,延斯·齊格勒.過程控制系統(tǒng)工程[M].朱振華,譯.北京:機械工業(yè)出版社,2018.
收稿日期:2021-09-17
作者簡介:王東鵬(1981—),男,山東鄆城人,工程師,從事工程項目管理及自控調試工作。
陳乙鋒(1998—),男,四川資陽人,技術員,從事自控信息系統(tǒng)維護工作。
白凌云(1976—),男,湖北武漢人,工程師,從事自控信息化項目工作。