【每周微課】通過UpdateInstruction刪除已實例化對象的接口

0 comment

每周微課

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

在項目實施過程中,我們會使用特殊接口特殊屬性去對某類特殊位號進行區分,但是如果一批其他位號陰差陽錯的也附加上了特殊接口,如何去刪除這批位號的接口,就成為了一個棘手的問題。如果對SmartPlant Foundation開發熟悉的話,我們可以寫一個簡單的程序去批量處理,但是需要花費額外的開發人天;如果對SmartPlant Foundation數據庫熟悉的話,我們也可以通過執行SQL語句進行刪除,但是直接操作數據庫的風險比較大。其實,我們可以通過UpdateInstruction這種XML文件,去批量刪除對象上的特殊接口。下面我們就介紹在SmartPlant Foundation中如何生成可以刪除位號的UpdateInstruction文件。

首先我們找到一個需要刪除接口的位號,這里以FI-85012這個位號為例。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

對該位號執行Export Data命令,在Export Data窗口,我們可以看到這個ISSTPC_All接口和SPFCDWCustomCode屬性便是我們想要刪除的接口和屬性。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

我們將這段代碼Export一份到本機,這里選擇保存到桌面。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

找到桌面上的文件,然后將該文件復制一份出來。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

打開副本文件,將這個對象下的ISSTPC_All對應的代碼刪除。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

兩份XML文件差異如下圖所示:

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

SmartPlant Foundation中,選擇Administration菜單下的Compare XML Files功能。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

在Compare XML Files窗口,File 1和File 2欄分別填入我們當時修改的兩份XML文件,點擊OK開始對比。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

程序會自動幫我們高亮顯示兩份XML文件的內容差異,點擊Generate Instructions即可生成UpdateInstruction的XML文件。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

將該文件命名為UpdateInstructions并保存至桌面。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

查看文件內容。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

RefObject接口下包含了待修改對象的信息:

  • RelClass是待修改對象的ClassDef

  • RefUID是待修改對象的UID

  • RefName是待修改對象的名稱(Name)

PropValues接口下包含了屬性和屬性所在接口的信息:

  • PropValues包含了待修改的接口和屬性,其中“ISSTPC_All”是屬性所在的接口,“SPFCDWCustomCode”是屬性名,如果是添加屬性和屬性值,還會在屬性名后添加相應的屬性值。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

  • AddedInterfaces是如果需要添加接口和屬性,就會將接口和屬性名顯示在該處,中間用“~”分隔。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

UpdateInstruction接口下包含了待移除接口的名稱:

  • RemovedInterfaces包含的信息是要刪除的接口,如果要刪除多個接口,中間用“~”隔開。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

接下來我們只需要將該文件導入SmartPlant Foundation便可刪除對象下的接口。點擊File菜單,執行Loader命令,在Loader窗口,填入我們剛才生成的XML文件,點擊Process,將該XML文件上載。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

上載成功。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

可以看到該對象下的ISSTPC_ALL接口和SPFCDWCustomCode屬性已被刪除。

【每周微課】通過UpdateInstruction刪除已實例化對象的接口

后續我們只需要通過萬能模板批量生成UpdateInstruction,就可以批量刪除實例化對象的接口了。

本期分享到此結束,期待對大家有所幫助。

END

 

 

?

關于??怂箍?/strong>

斯康,作為數字化信息技術解決方案的革新者,秉承“智慧引擎,共賦未來”的理念,憑借“雙智戰略”推動制造業的智能與創新,構建新基建智慧城市生態體系。??怂箍禈I務遍及全球50個國家及地區,擁有員工超過24,000人。

?

?

關于??怂箍禂底种悄?/strong>

??怂箍禂底种悄苁呛?怂箍导瘓F的獨立產業單元。作為全球領先的工程類軟件研發企業和信息應用服務商,從數字化工程到數字化交付以及數字化工廠,??怂箍禂底种悄苁冀K致力于面向工廠全生命周期的企業級工程和管理軟件系統的開發及應用服務。??怂箍禂底种悄芡ㄟ^數字化、智能化的解決方案助力客戶充分利用有價值的數據資產,實現可持續發展,賦能流程工業的數字化轉型,提高生產效率。

 

 

?

閱讀 1
相關軟件

評論

發表評論

相關閱讀