SiVArc。
那么,什么是SiVArc?
SiVArc的全称是SIMATIC Visualization Architect,将其翻译为”可视化生成器“会更容易理解,它是TIAPortal 中的选件包。借助 SiVArc,可通过程序块和生成模板,根据对应的规则为多个 HMI 设备和 PLC生成可视化。
目前支持的设备如下
PLC:1200/1500/1500软件控制器/ET200SP CPU
设备代理(仅仅用于生成外部变量)
HMI:WINCC RT professional /WINCC RTadvanced/精智面板/第二代移动面板/精简面板
我们可以使用 SiVArc 通过控制器数据生成下列 HMI 对象:
● 画面、面板、显示元素和操作元素选项
● 外部变量
● HMI 文本列表
使用SiVArc可以帮助我们快速地生成HMI的对象,可以轻松对整个项目进行调整,可以促进我们建立一个标准规范的项目。在调试期间,没有SiVArc的专业知识,工程师也可以对项目进行修改。
对于组态工程师来说,使用SiVArc需要具备STEP7和WINCC组态经验以及VBS的基本知识。
我们就以一个简单的例子来认识一下SiVArc。
任务描述:
PLC为1511CPU,HMI为TP700。
有两个电机需要实现相同的功能--启动、停止、运行指示,在触摸屏上进行操作。
步骤如下:
前面我们提到了,画面的自动生成功能需要程序块+模板+规则这三大块组合才能实现。那么我们就分三块进行逐步实施。
确认TIA Portal 中已经安装了SiVArc组件,如果没有安装,请下载安装包后进行安装
▲图1.安装后的组件。
程序块
这是个有感情的分割线
2
建立项目,添加1511PLC和TP700 HMI。
a)在PLC程序块中新建一个电机控制的FB,命名为“motorCtrl”,写完FB的程序后,在OB1中调用2次,将对应的背景数据块命名为"instMotorCtrl1","instMotorCtrl2"。
b)建立PLC数据类型typeMotor。接着建立全局DB块“motorctrlDB”,新建两个变量,将对应的变量关联到OB1的程序中。
▲图2.建立FB电机控制块。
▲图3.建立PLC数据类型。
▲图4.建立DB块,建立对应的电机变量。
▲图5.在OB1中调用两次FB块,对应的管脚填入对应的变量。
▲图6.PLC项目树概览
模块
这是个有感情的分割线
3
将“typeMotor"数据类型通过拖拽的方式放入项目库的类型中。
4
在项目库的类型中,新建一个“面板”类型,命名为"fpmotor"。
▲图7.新建面板类型。
▲图8.项目库中类型的概览。
5
接着对"fpmotor"这个类型进行设计。进入编辑界面后,拖入两个“按钮”,一个“圆形”。“按钮”在事件中进行“按1松0”的操作,“圆形”主要实现根据变量更改颜色的功能。
对SiVArc属性中的“静态值表达式”和“变量表达式”VBS脚本的输入。完成的功能是“和PLC中的DB块中的变量进行对应”以及“对应生成画面时所关联的背景DB”。
VBS脚本分别是:
"instMotorCtrl"&TrailNum(Block.DB.SymbolicName)和"motorCtrlDB"&TagNaming.SeparatorChar&"motor"&TrailNum(Block.DB.SymbolicName)
▲图9.“fpmotor”的概览。
6
在画面中新建一个画面,命名为“motorScreen”,将画面的SiVArc属性进行VBS脚本输入。
▲图10.“motorScreen”的概览。
7
将“motorScreen"画面通过拖拽的方式放入项目库的模板副本中。
至此,项目库已经建立完毕。
▲图11.“项目库”的总览。
规则
这是个有感情的分割线
8
在项目树中找到“画面规则”,建立一个生成规则。自动生成HMI画面时会根据这个规则去进行。
▲图12.“画面规则”。
▲图13.建立画面规则:当调用FB块时,将画面对象插入到画面主副本中。
Zui后,我们就可以编译PLC程序,右击HMI设备后,选择“生成可视化”-“生成可视化”来自动生成HMI画面了。
▲图14.自动生成可视化。
▲图15.自动生成的HMI变量。
▲图16a.自动生成的HMI画面,实现了不同电机的分别控制
▲图16b.自动生成的HMI画面,实现了不同电机的分别控制