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