vbs调用c++dll_WinCC入门课程8.3:通过C脚本,实现对象属性的动态化

WinCC对象属性的动态化也可以通过C动作或VBS动作来实现。用VBS动态化的属性,"小灯泡"变为带"VB"的闪电图标;用C脚本动态化的属性,"小灯泡"变为带"c"的闪电图标。下面试举一例:用C脚本实现一个五角星旋转,说明如何通过脚本实现对象属性的动态化。

动态效果如下图所示:

06a67a377049ecbac4426babb38518cb.gif
59b89ffbd8d8eabfb5a0b5923eca1927.png

如图4.1所示,为画面的一些辅助配置:

  • 旋转角与内部变量"angle"相关,画面中的输出域中,显示当前的角度
  • 设置旋转参考坐标X、Y均为50,即"五角星"围绕包围它的矩形的中心点旋转。

一、编写C动作

1、右键单击"旋转角"属性后的"小灯泡",选择"C动作...",弹出"编辑动作"对话框。

93862d8389b1e62f669d92bb5547f3f0.png

2、初步认识"编译动作"窗口

401dbdab7b8994be8abe9dd0694ddad9.png
  • 程序在"代码编辑区"编写,代码可以是C语言,也可以调用左边"函数浏览区"的函数;
  • 函数浏览区的函数分为:项目函数、标准函数和内部函数。

项目函数由用户自己创建,可调用其他函数,也可被其他函数或动作调用;

标准函数是WinCC提供的函数,用户不能创建,但可以修改。可调用其他函数,也可被其他函数或动作调用;

内部函数也是由WinCC提供的函数,用户既不能创建,也不能修改。只能被其他函数或动作调用。

3、编写"动作"代码,并编译。

e3c4a82582c2b8397527f81632ee1d75.png

图4.4的代码简单解释:

  • 函数GetTagDWord和SetTagDWORD均为内部函数,属于固定用法,分别用于读变量"angle"的值和将值写入"angle"中。
  • 每执行一次代码,"旋转角"的度数增加13°。

二、设置触发器

代码编写完成且编译无错误后,还需要为动作设置触发器。点击图4.3所示的"触发器"按钮,弹出"触发器"窗口。

d83d3dc2b976ee428737823a5f6b8eeb.png

可选的触发器有:

  • 变量:用某一变量作为触发器。查询变量的状态,变化时就执行动作。查询周期可选范围为250ms到1小时之间,也可以是用于自定义的周期;
  • 标准周期:周期性的触发动作的执行。周期时间可选范围为250ms到1小时之间,也可以是用户自定义的周期;
  • 画面周期:周期性的触发动作的执行,周期为画面对象的"更新周期";
  • 窗口周期:周期性的触发动作的执行,周期为画面窗口对象的"更新周期"

为了方便演示,本例中触发器选择为"标准周期",周期为250ms。


这样,简单几步就通过C动作,实现了对象“五角星”的动态旋转的动态化过程了。VBS动作的实现过程类似,也包括代码的编写、编译以及触发器的选择,不同的是它使用的是VB语言。

<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值