引言
2015年,《中國制造2025》規(guī)劃出臺,劍指"工業(yè)4.0",其中涉及醫(yī)藥行業(yè)的內容成為指導我國醫(yī)藥行業(yè)智能化轉型升級的行動目標和綱領。醫(yī)藥工業(yè)在智能化技術趨勢的影響下,正在進入全面轉型升級的階段。制藥工業(yè)的新紀元—無紙化生產即將成為新的標準。借助于西門子成熟的電子批記錄解決方案(SIMATIC1TeBR),可實現完全無紙化生產。本文針對SIMATIC1TeBR中的生產執(zhí)行系統(tǒng)(MES)、SIMATICPCS7過程控制系統(tǒng)(DCS),展開了對這兩套系統(tǒng)的數據交互以及協同問題解決方法的研究。
1DCS與MES數據交互方式
1.1MES與DCS通過oPC進行數據交互
此交互方式適用于MES系統(tǒng)需要讀取第三方設備數據的場景,同時也適用于一些狀態(tài)的顯示,如設備的C1P清洗、SIP滅菌的時效。如圖1所示,當MES系統(tǒng)需要讀取DCS系統(tǒng)某個數據時,可通過oPC訪問DCS或winCC的數據庫直接獲取DCS系統(tǒng)的數據:當MES系統(tǒng)需要下發(fā)某個數據給DCS系統(tǒng)時,也可通過oPC將數據寫入DCS系統(tǒng)。當MES需要多次讀取DCS數據,或需要判斷讀取數據的正確性時,經常采用oPC讀取這種方式。比如在溫度調整過程中,MES系統(tǒng)需要多次獲取罐子溫度,直到罐溫滿足要求以后才記錄,這時就可以選擇oPC讀取這種方式。值得注意的是,在通過oPC進行數據交互時,需要明確DCS中oPC服務器的1P地址以及數據的變量名。當oPC通信變量獲取出現異常時,需要查看EBRoPC服務是否開啟,若服務正常開啟,則查看DCS中的oPC服務器是否異常,檢查設備是否打到仿真狀態(tài),如打到仿真狀態(tài),而oPC無法讀取到仿真值,則查看oPC配置點位是否正確(新增點位出現異常的可能性最大)。
MES直讀DCS或winCC變量功能是通過腳本"YAREADMAyMIN"讀取一段時間內單個DCS或winCC點位的最大/最小值及相應時間點,并且需要在DCS服務器上運行"YAwinCC.EyE"插件。
"YAREADMAyMIN"腳本輸入/輸出參數說明:inSTag:輸入winCC點位:
intStart:輸入讀取時間段的開始時間點:
intEnd:輸入讀取時間段的結束時間點:
oudMax:輸出讀取時間段內的最大值:
oudMin:輸出讀取時間段內的最小值:
ou1ReSu1t:輸出運行返回值[建議在P1中放出來,方便異常情況查看,正確的返回值為"0",當返回值為"1"時,讀出數值為空值,檢查配置的點位是否有錯誤(非格式錯誤):當返回值為"2"時,檢查DCS服務器是否有異常,服務器上"YAwinCC.EyE"插件是否啟用:當返回值為"3"時,檢查配置點位格式是否有錯誤]:
outMaxTime:輸出最大值對應的時間點:outMinTime:輸出最小值對應的時間點。
1.2DCS與MES數據交互方式—Batch
SIMATICBatch是一個模塊化和可升級的批處理平臺。Batch在執(zhí)行特定動作時(如批處理訂單啟動),MES與Batch可直接進行數據交互。MES中的事件pI與Batch中相關的EpH或0CS綁定,當該0CS觸發(fā)特定事件,如Start、RefreSh、Comp1eted或者Aborted時,MES就可通過事件pI與Batch進行數據交互,如圖2所示。
2DCS和MES協同問題的解決
兩個系統(tǒng)在配合運行時,出現協同問題在所難免。DCS和MES的協同問題主要體現在:
(1)參數匹配,其中包括Batch的設定值中是否包含了MES需要下發(fā)的設定值、MES與Batch的參數是否在配方啟動時直接傳送、MES與Batch的參數是否來自于計算值、MES與Batch的參數是否來自于不同步驟的計算值:
(2)流程匹配,包括時序的匹配(具體Rop的激活時序)、MES中的人工確認(采樣、手動加料、放行等)、MES與Batch的配合(pH調節(jié)的次數:與第三方設備的交互,雖然和Batch沒有控制上的關系,但MES需要數據,還是需要在Batch上進行考慮):
(3)MaSterRecipe的影響,例如同一個Unit的不同操作是否是在同一個配方中(如緩沖液的配制和出料功能)。
針對這一系列的協同問題,借助于本公司部分生產工藝流程的設計思路(部分流程進行了模糊化處理或替代),于下文中給出了一定的解決方案。
2.1參數匹配問題
2.1.1Batch的設定值中是否包含了MES需要下發(fā)的設定值
針對這類問題的解決,需要MES提供與Batch的接口數據表,進行Batch配方編輯的人員在拿到這個數據表之后,需要考慮EM的設定值的創(chuàng)建,具體可以參考MES與Batch的接口數據表和協同工作的流程。
2.1.2MES與Batch的參數是否在配方啟動時直接傳送
設定值參數在Batch訂單中運行時如為固定值,一般該參數需要上傳到表頭,由MES在啟動Batch訂單時更新表頭參數。例如在某一生產流程中的溫度控制階段,反應罐的溫度設定值是一個固定參數,需要上傳到表頭,具體如圖3所示。
2.1.3MES與Batch的參數是否來自于計算值
當某個0CS觸發(fā)了特定的pI事件,然后計算的值寫入相同的0CS時,這種寫值方式不受Batch流程架構影響。如圖4所示,如果想要將MES在進生理鹽水階段計算出的生理鹽水加料量寫入到本階段的進生理鹽水設定值中,這時在DCS的順控中就需要考慮MES的計算是否已經完成,或者是否可以應用當前的數據來運行進料程序。
如下幾個步驟需要在SFC中考慮:
步驟1,在EpH中創(chuàng)建一個交互設定值參數MESUnb1oc一(數據類型為Boo1型),其主要的目的是讓MES通過這個參數告訴DCS相關運算已經完成:
步驟2,在SFC的Startink中,需要復位這個交互設定值參數,確保程序運行前MESSUnb1ck值為假:
步驟3,在SFC的RuU中,"等待MES操作"這一步置位REFRESH信號(置位此信號的主要目的是在SFC運行的過程中還能實時接收來自于MES的設定值即MESSUnb1ck的信號),同時在"MES操作完成"中設置檢查MESSUnb1ck信號是否被MES置位這一條件,若MESSUnb1ck信號為真,則表示MES計算已經完成,可以開始執(zhí)行該程序:
步驟4,在SFC的0CS的C1mpbetiUg、An1rtiUg與STIppiUg中復位MESSUnb1ck和REFRESH信號:
步驟5,在配方中該設定值參數不能有源,且必須可更改并立即生效,如加生理鹽水階段的加料量設定值需要MES計算后寫入。
Batch中正確組態(tài)如圖5所示。
2.1.4MES與Batch的參數是否來自于不同步驟的計算值
MES的數據通過EM或者0CS寫入。當某個0CS觸發(fā)了一個PI事件,然后計算的值寫入相同的0CS,接著在Batch底層通過將MES寫入的參數作為目標參數上傳,再在另一步驟中將上傳的參數作為源引用。這種方式寫值不需要有確定的Batch架構。如圖6所示,如果需要將MES在緩沖液進料階段計算出來的緩沖液的加料量寫入緩沖液加料階段的設定值中,只需在緩沖液進料階段的屬性參數配置中找到緩沖液加料量(PHwISP),為其設置上傳目標參數(PHADDSP),并在緩沖液加料階段的屬性參數配置中找到緩沖液加料設定值(wISP),將目標參數(PHADDSP)作為源引用。
2.2流程匹配問題
2.2.1時序的匹配(具體RoP的激活時序)
在很多MES管理的項目中,罐子的CIP清洗是單獨的訂單,與主流程平行進行,所以主流程在占用該罐子之前,需要事先確認罐子是否干凈可用。以圖7所示工藝流程為例:PI301在完成制作工序1之后,可以進行PI303的制作工序2。在沒有MES協調的情況下,按照圖中方式進行組態(tài),在PI301完成工序1后,PI303便被主流程訂單占用。如果此時PI303為不清潔狀態(tài),調用PI303的CIP清洗訂單則無法啟動。要解決此類問題,只需在PI301完成制作工序1后,增加一條下游設備PI303確認功能,通知MES進行設備檢查確認,同時將PI303的組態(tài)動態(tài)單元設置為條件啟動,條件為MES已經確認設備(MES將設備確認參數DevCheck通過oPC傳遞到DCS,DCS再將其組態(tài)為單元參數),如圖8、圖9所示。
若設備已經為清潔狀態(tài),MES確認設備并且下發(fā)參數通知DCS,DCS主流程啟動PI303:若設備為不清潔狀態(tài),則MES啟動對應的清洗訂單,待設備清洗完成后,MES確認該設備并通知DCS,DCS主流程啟動PI303。
2.2.2MES中的人工確認(采樣、手動加料、放行等)
在一些緩沖液的配制過程中,需要進行手動加料。此時,Batch流程通過特定的EM或0CS觸發(fā)MES進行手動加料,完成后通知Batch繼續(xù)生產小結流程。如圖10所示,PI200在進行完工序2后需要手動進行加料,若沒有MES的干預,在手動加料過程中訂單將繼續(xù)往下執(zhí)行生產小結,為避免這種情況,在工序2完成后增加手動投料這一過程,并通過MES確認已經添加完成,訂單繼續(xù)向下執(zhí)行。
2.2.3MES與Batch的配合(如多次調整進料)
很多情況需要MES和Batch配合,MES下發(fā)加料量給Batch,Batch自動加料完成后通知MES檢測再調整。如乙醇配制階段,在預加一定量的水和乙醇后,需要檢測乙醇濃度進行再次調節(jié),直到合格后進行后續(xù)步驟。此時需要MES和Batch配合完成,如圖11所示。
2.3同一個Unit的不同操作不在一個訂單中,需要MES進行協調解決
如緩沖液的配制和出料操作不在一個訂單中,如果沒有MES協調,在Buffer配制之后和出料之前有一定的空檔期,可能存在安全隱患等,如圖12所示。此時只需在配制訂單結束前增加一步用于等待MES確認,在MES準備啟動出料訂單前,才停止配制訂單,保證流程的延續(xù)性和安全性,如圖13所示。
圖12配制與出料訂單之間無聯系
圖13MES啟動出料訂單前先停止配制訂單
3結語
本文就MES與DCS數據交互方式展開了研究,為實際生產中出現的數據交互問題的及時解決提供了有力保障,提高了自動化運營的生產效率。
另外,本文基于本公司實際生產部分流程對MES與DCS的一些協調問題給出了一定的解決方案,可供相關從業(yè)人員參考學習、共同進步。