WinCC自定义设备对象基本上都可以满足你的项目实际需求,通过将WinCC中的基本对象进行组合,就能设计出你项目所需要的对象。在西门子的DCS系统中,APL库对应的设备(电机、阀门、仪表等)的图元、面板就是通过自定义设备对象形成的标准设备图元及面板。本文将通过组合几个简单的对象进行说明,只要掌握方法,你也可以做出PCS7中标准的设备图元及面板。
1. 自定义对象
1)打开WinCC的图形编辑器,分别拖入静态文本、矩形、IO域,如下图所示。

2)分别将静态文本、矩形、IO域命名DevName、DevB、DevValue,如下图所示。
3)将DevName、DevB、DevValue这三个对象的“全局颜色方案”属性改为否,如下图所示。
4)鼠标框选这三个对象,然后右键-自定义对象-创建,如下图所示。
5)在弹出的“组态对话框自定义对象”窗口中,将DevName的文本属性拖入左侧(鼠标点击左键不放拖动),如下图所示。
6)按照同样的方式将DevB的背景颜色属性、DevValue的输出值属性拖入左侧,如下图所示。
7)打开自定义对象新拖入的属性,如下图所示。
8)点击查看拖过来后的属性名称,开发人员可以根据需要确定是否修改,如下图所示。
注意:
1、上图中的①为OS系统如后台脚本、控件引用的实际对象名称,该点需要特别注意,在VBS或C脚本中引用的名称。
2、②为自定义对象的属性选项卡中工程师直观看到的对象说明
9)本次自定义对象新拖入的三个属性我们采用默认的名称,不修改了(当自定义对象中包含多个相同类型对象,比如拖入多个静态文本的文本属性时,自动化名称的默认名称为Text+序号),如下图所示。
10)点击确定,改“组态对话框自定义对象”窗口将关闭,同时我们会发现这三个设备对象已经成为一个新的对象了,如下图所示。
11)在自定义对象中,我们通过增加VBS脚本进行测试,如下图所示。
12)在变量管理器的内部变量中,新建16进制变量TestValue,同时将自定义对象中的输出值连接该变量。
13)另外在拖入一个IO域,关联该内部变量TestValue,用于手动改变该变量值,如下图所示。
14)运行WinCC界面,通过改变内部变量的值,我们发现自定义对象有相应的状态变化,如下图所示。
以上就是在经典WinCC中自定义对象的基本步骤,本次只是通过矩形、文本框、静态文本做了一个简单的自定义对象。但是,其他复杂的自定义对象步骤与本次测试步骤完全相同,掌握方法你就可以做出你想要的自定义对象。比如通过WinCC中的IO域、状态显示来自定义电机、阀门等设备对象图元,通过不同的IO域值来切换状态显示中的显示图片。
2. 拓展:
1、PCS7中的APL库中标准设备图元、面板,其本质也是通过自定义对象来创建的。其采用的基本对象主要为为dataset、状态显示、静态文本、矩形、IO域等。
2、要想非常快速的实现自定义对象,开发出自己想要的自定义对象,则需要对WinCC中各基本对象的属性有一定的了解。
3、开发自定义对象,经常会用到VBS、C脚本(PCS7中APL库的标准对象的图元、面板就包含大量的脚本),这就需要有一定的脚本编写功底。
4、不管是经典WinCC还是TIA WinCC在用脚本时,进来避免用周期变化脚本,本次我测试用例用的是可变脚本,即只有当值发生变化时才会执行一次脚本,不会定期执行,降低了WinCC运行界面的负荷,WinCC本身的局限性是单线程,所有的工作都是在同一个线程中运行。
关于TIA WinCC中如何开发自定义对象并形成项目库的开发步骤,在后续抽时间整理并分享给大家,大家可以关注我(微信公众号PLC爱上点Net)。我会抽时间将相关技能(PLC程序开发、SCADA组态软件开发、.Net开发、Node-Red)经验分享给大家。