【每周微课】通过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

 

 

 

关于海克斯康

斯康,作为数字化信息技术解决方案的革新者,秉承“智慧引擎,共赋未来”的理念,凭借“双智战略”推动制造业的智能与创新,构建新基建智慧城市生态体系。海克斯康业务遍及全球50个国家及地区,拥有员工超过24,000人。

 

 

关于海克斯康数字智能

海克斯康数字智能是海克斯康集团的独立产业单元。作为全球领先的工程类软件研发企业和信息应用服务商,从数字化工程到数字化交付以及数字化工厂,海克斯康数字智能始终致力于面向工厂全生命周期的企业级工程和管理软件系统的开发及应用服务。海克斯康数字智能通过数字化、智能化的解决方案助力客户充分利用有价值的数据资产,实现可持续发展,赋能流程工业的数字化转型,提高生产效率。

 

 

 

阅读 1
相关软件

评论

发表评论

相关阅读