西门子博途 SiVArc,标准程序功能块自动生成Wincc画面和变量 借助西门子SiVArc,可通过程序块和设定好的生成模板为多个HMI设备和PLC生成可视化,可使用生成规则指定哪些HMI对象针对哪个块和设备生成。 自动生成的面板实例和画面窗口变量都已自动生成并且连接好,不需要一个个手动连变量,省去了大量的重复时间避免了人为错误 本模板是结合了部门多年经验做出来的控制功能快,包括了常用的电机、变频器、各种阀门、模拟量、流量、PID等控制。 模板结合SiVArc自动生成的画面包括丰富的功能,设备画面窗口有各自仿真、操作记录、报警记录、历史趋势、连锁信息,这些自动生成后都不需要有任何改动即可使用,操作方便,功能强大
当项目里堆满了几百个电机阀门需要手动绑定WinCC变量的时候,程序员的手速再快也顶不住腱鞘炎的物理攻击。这时候博途的SiVArc就像突然冒出来的外挂——这玩意儿能直接把程序里的FB块变成现成的HMI画面,连变量绑定的苦力活都帮你包了。
先看个真实项目的代码片段:
#Motor_FB 功能块定义 FUNCTION_BLOCK Motor_FB VAR AutoMode: BOOL; Fault: BOOL; Start: BOOL; Speed: REAL; END_VAR对应的SiVArc生成规则配置:
<ObjectType Name="Motor"> <HMI> <Element Type="Button" Position="10,10" TagPrefix="{HMI设备}/电机组/{InstanceName}/" EventTag="Start"/> <Element Type="IOField" Position="50,50" Tag="Speed" Format="0.0"/> </HMI> </ObjectType>这套配置直接让每个Motor_FB实例自动生成带启动按钮和速度显示的面板。最骚的是变量路径里的{HMI设备}和{InstanceName}占位符,程序运行时会自动替换成实际的设备名和实例名,相当于给每个电机发了专属身份证。
我们部门攒了五年的模板库才是真家伙。比如PID控制面板生成时会自带三区切换:参数整定界面藏着专家才敢碰的P/I/D微调滑块,操作界面是运行人员最爱的设定值输入框,诊断界面还塞了个实时曲线图。这些都不是静态贴图,数据源早就绑定了对应的DB块地址。
看看自动生成的报警记录功能怎么玩:
// 报警触发逻辑 IF #Motor[1].Fault THEN AlarmLog.Write("M101电机过载", Severity:=2); END_IF对应的报警窗口根本不用自己拖控件,SiVArc会根据程序里的报警触发点自动生成带时间戳的滚动列表,连报警确认按钮的事件都预埋了反向写入PLC的标签链接。
遇到过最爽的场景是新设备上线时,把现成的"阀门控制模板"拖进项目,半小时就刷出二十几个带力反馈动画的阀门操作面板。之前手动做这些要花三天,现在还能边生成边喝奶茶看同事继续苦哈哈地手动接线。