文/ 张磊 鄢子麒 孙志坚 韦科举
在实施物流工程项目时,项目设计的标准、通用,项目实施的高效、快速,对于设备集成商和最终用户都具有重要意义。
物流工程项目涉及了大量相同类型被控对象的控制和可视化设计。以输送系统为例,其基本组成单元是输送机。输送机是同一类被控设备,其功能、组态画面形式相同。以单机设备堆垛机为例,其基本组成单元是驱动轴。驱动轴是同一类被控装置,其功能、组态画面形式相同。
如果能利用成熟项目仓库的资源和规则,无需繁杂的重复性的编程、画面组态、变量映射等,仅需简单地调用和配置,就能自动完成新项目部署,无疑会大大减轻电气工程师的负担,大幅提高设计和调试效率,从根本上保证工程质量,并为后续维护扩展提供统一的标准。
为了实现这一目标,需要引入基于面向对象的自动化设计平台。在这一平台上,实现PLC程序对象、HMI画面对象、交互数据对象的结构化封装; PLC、触摸屏等不再是孤立的设备,由PLC程序可直接生成HMI画面并自动完成数据对象的映射。
西门子TIA博途和SIVArc组件,为这一设想提供了平台。西门子TIA博途是采用统一软件框架的全集成自动化软件,可对西门子全集成自动化中涉及的可编程控制器(PLC)、人机界面(HMI)和驱动装置等进行组态、编程和调试,共享通信任务,统一数据接口。
西门SiVArc (SIMATIC WinCC Visualization Architect)是TIA博途中的选件包,SiVArc是一个图形用户界面生成器,借助SiVArc,仅需要简单配置,即可通过程序块和HMI库为多个HMI设备和PLC生成可视化。SiVArc功能示意图,如图1。
图1 SiVArc功能示意图
标准化的程序架构、画面模板、创建规则等是SiVArc运行的基础,也是实现标准化、通用化设计,工程快速实施部署等的核心。以下,结合物流工程电控程序的开发实践,介绍SiVArc的核心要素.
图2为SiVArc架构与生成逻辑,由图可见:画面的自动组态,是通过模块化的功能块(FB)自动调用画面模板(FacePlate)实现的;变量的自动生成,是通过功能块(FB)的背景数据(IDB)自动映射的。由此可以得出使用SiVArc时需要遵循的两条开发原则:
标准化、模块化的功能块(FB) 、画面模板(FacePlate)、数据类型(UDT)等是SiVArc运行的前提。可以根据物流工程的共性,提取作为基本单元的设备或部件。封装其实现逻辑以生成功能块(FB),封装其画面对象以生成画面模板(FacePlate),封装其交互数据等为自定义数据类型(UDT)。
将这些标准组件导入项目库,可实现组件的全局调用,也便于项目间的移植与复用。
层次化的程序结构符合人们由整体到局部、由共性到个性的习惯性认知。
通过层次化的调用,实现了按照区域、类别划分对象,程序更加简明直观;层次化的调用便于利用多重背景数据块集中分配背景数据,使数据分配更高效直观;层次化的程序结构使变量的生成路径更清晰。
图2 SiVArc架构与生成逻辑
图3 FacePlate的接口
图4 FacePlate的属性设置
图5 SiVArc画面规则
画面模板(FacePlate)是由画面控件封装的标准化画面对象。通过将物流系统中基本的组成单元分类,并抽象成FacePlate,可生成供物流工程使用的通用的画面对象。
使用FacePlate组态画面,其优势是显而易见的:
1.FacePlate大大减少了画面组态工作量,仅需要批量插入FacePlate实例,即可灵活地搭建复杂的物流系统。
2.FacePlate增强了画面组态的标准化,便于同类型工程的复用。
3.FacePlate增强了系统维护的灵活性,仅需要变更FacePlate,即可一次性完成所有FacePlate实例的修改。
在物流工程中,FacePlate可作为一类结构、功能相同的设备监控画面的抽象,例如辊筒输送机、提升机等;也可作为设备关键组件操作面板的抽象,例如堆垛机的驱动轴操作画面。
为保证FacePlate实例数据的封装,并实现FacePlate实例数据与PLC背景数据块的映射,有必要定义一个用户自定义数据类型(UDT),包含FacePlate需要的所有数据标签。将该数据类型添加至项目库,即可实现该数据类型的全局调用。
FacePlate的创建也需要从画面控件组态入手,即先组态,再封装为FacePlate类型。
FacePlate可以将用户自定义数据类型定义为动态属性,作为FacePlate的接口。其中,自定义数据类型中包含控件属性和事件对应的数据,通过映射数据实现画面的组态。
如图3,速度轴FacePlate的接口为动态属性,其数据类型为自定义数据类型“typeSpeedAxis”,包含了速度轴监控所需的所有数据。
图4显示的是速度轴FacePlate的SIVArc属性设置:
“名称”字段表示FacePlate生成的画面对象的名称。表达式的“Block.DB.SymbolicName”的含义是使用背景数据块的符号名称作为生成的FacePlate副本的名称。
“ 变量表达式” 字段表示FacePlate接口关联的变量标签名。表达式"HMI_CommData"& TagNaming.SeparatorChar & "SpeedAxis" & TrailNum(Block.DB.SymbolicName)的含义是FacePlate实例与名称为"HMI_CommData_ SpeedAxisN"的变量相关联。
SiVArc规则搭建了从库组件到HMI画面、从背景数据到HMI变量的桥梁。其中,画面规则和变量规则是最核心的部分,主导了SiVArc的生成逻辑。
画面规则是画面对象生成与布局的规则。图5是不同的程序对象(功能块FB)分别对应一条画面规则。
“程序块”字段设定的是用以生成“画面对象”的功能块(FB)名称;
“画面对象”字段设定的是与“程序块”对应的画面模板(FacePlate),每调用一次功能块(FB),都在画面中生成一个画面模板(FacePlate)对象;
“画面主副本”字段设定的是用于生成画面的画面模板;
“布局字段”是预先在“模板副本”上定义的布局占位符,其尺寸应和FacePlate画面对象尺寸一致,以保证“画面对象”完整地显示在HMI画面上期望的位置。
变量规则是PLC与HMI交互数据生成与关联的规则,如图6。
图6 SiVArc变量规则
“变量表”字段设定的是生成变量表的名称规则,表达式“HmiTag.DB.SymbolicName”代表以变量所在DB块的名称作为变量表的名称。
“变量组层级”字段设定的是变量表生成目录结构的规则,表达式“HmiTag.DB.FolderPath”代表生成与PLC程序层次化结构相一致的变量表目录。
通过SiVArc规则,建立了PLC程序到HMI画面的松耦合关系。
图7是由SiVArc自动生成的转轨堆垛机系统监控画面的示例,其中巷道区、转轨区、转轨机构的组态画面均由标准组件搭建。如果需要实施同类项目,仅需要简单地复制、删除画面组件,调整组件布局位置,便可一键完成,极其便捷;当PLC程序或交互数据发生了变更时,无需繁琐地修改画面和变量,仅通过SiVArc,便可一键重新生成画面和变量,大大提高了调试效率,降低了维护难度。
图7 转轨堆垛机系统监控画面
综上所述,西门子SiVArc助力物流电控设计实现了从程序到画面的标准化、结构化、模块化开发,显著提高了开发效率,使设计管理更加规范,工程维护更加便捷。不论对于物流装备设备集成商还是最终用户,西门子SiVArc都具有较大的应用价值。