如何在TIA WinCC中实现动态旋转效果

西门子的TIAWinCC中没有自带的旋转效果控件。目前如果想在TIA WinCC中实现动态的旋转效果一般需要使用第三方控件(如GIF控件)完成,这些第三方的控件用多了轻则造成画面卡顿、影响系统体验,重则会影响系统稳定。

这里介绍一种简单的方法实现动态旋转效果,此方法简单易用,不会占用WinCC过多的资源,可以在画面上大量的使用。在TIA WinCC的画面库中包含了丰富的动态效果图形,利用这些图形可以很容易的实现旋转效果。

图一 TIA WinCC的图形库

以上图的风扇为例,每种颜色的风扇包含了4个扇叶位置不同的图形,利用在WINCC运行时动态切换这些图形可以实现酷炫的动态旋转效果。

创建风扇ICON

首先从图形库中把4个绿色的扇叶图形拖到画面上,分别命名为01、02、03和04,再拖一个灰色的扇叶图形到画面上并命名为00,这个灰色的扇叶图形用于表示停止状态。选中这五个图形,右击并在弹出菜单中选择“创建面板”。新创建的面板如下图所示。

图三 创建风扇ICON

接着为面板创建2个属性,分别命名为Rotating和Running。Rotating的类型为INT,该属性接收外部图形切换信号。Running的类型是BOOL,该属性接收马达的运行状态。绑定灰色图形00的可见性属性至Running,当Running为false时该灰色图形可见。绑定4个绿色图形的可见性属性至Rotating,当Rotating=1时图形01可见,当Rotating=2时图形02可见,以此类推。完成上述操作后发行面板。

创建图形切换脚本

既然表示动态的图形有4个,那我们就需要创建一个在1-4之间循环变化的脚本用于切换这些图形。创建一个公共的图形切换脚本的好处是可以最大化的较少TIA WinCC的资源消耗,因为所有的动态旋转对象都可以使用这个脚本。

创建一个C脚本并命名为HwMixer,添加一个布尔量参数Running,该参数用于控制是否进行数值循环。完成代码如下图所示。

图四 C脚本代码

创建计划任务

TIA WinCC中的计划任务就相当于WinCC 7.x中的全局脚本。这里创建一个周期为1秒的计划任务。在该任务的事件中调用前面编程的C脚本HwMixer。脚本参数Running根据情况连接变量,这里给的是常量True。这里函数返回值用的是一个内部整型变量Test(1),该变量在WinCC运行时会在1-4之间变化,变化周期是1秒。

图五 添加计划任务

调用风扇ICON

从项目库中将之前创建的风扇ICON拖到目标画面上,其接口参数分别连接内部变量Test(1)和马达运行反馈。当马达运行反馈为真时,灰色风扇图形不显示,4个绿色风扇图形会根据Test(1)的值交替显示,从而实现旋转效果。当马达反馈为假时,灰色风扇图形显示,4个绿色图形不显示,表示马达已停止。

需要注意的是画面更新周期要和前面的计划任务周期一致,这里设置的是1秒(前面计划任务循环周期也是1秒)。

图六画面循环周期

--The End--

专注于SIMATIC TIA高端编程应用

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171221G0KNHG00?refer=cp_1026

扫码关注云+社区