如何使用WINCC的C动作计时和累加功能

本意是想通过WINCC中的C脚本来实现程序逻辑功能,不使用Step7程序,只使用其中的DB,(1)如何在C动作中编写语句实现某一信号(m0.0)到来延时3秒给另一变量赋值?
(2)或者能否在C动作中使用PLC中的1HZ的时钟脉冲来进行累加,等于3时赋值,WINCC语句能否扫描到?如何编写?

最佳答案

脚本触发变量为m00,链接地址是m0.0;m01链接地址m0.1.wincc定义项目内部变量taga
脚本触发周期为1s.
if GetTagBit("m00")
 SetTagWord("taga",GetTagWord("taga")+1);
else
SetTagWord("taga",0);
endif

if GetTagWord("taga")>3
  SetTagBit("m01",1);
endif

补充:既然有plc,你为什么不把这个工作放到plc中来完成呢?wincc脚本太多,影响wincc的运行速度的。

提问者对于答案的评价:

最佳答案作者回复:
如果要多次执行同样的操作,则变量复位后,同时复位延时置位的变量:
if GetTagBit("m00")
 SetTagWord("taga",GetTagWord("taga")+1);
else
SetTagWord("taga",0);
SetTagBit("m01",0);
endif

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc157736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月7日 下午7:03
下一篇 2017年6月7日 下午7:04

相关推荐