本意是想通过wincc中的C脚本来实现程序逻辑功能,不使用STep7程序,只使用其中的DB,(1)如何在C动作中编写语句实现某一信号(m0.0)到来延时3秒给另一变量赋值?
(2)或者能否在C动作中使用PLC中的1HZ的时钟脉冲来进行累加,等于3时赋值,WINCC语句能否扫描到?如何编写?
最佳答案
脚本触发变量为m00,链接地址是m0.0;m01链接地址m0.1.wincc定义项目内部变量taga
脚本触发周期为1s.
ifGetTagBit("m00")
SetTagWord("taga",GetTagWord("taga")+1);
else
SetTagWord("taga",0);
endif
ifGetTagWord("taga")>3
SetTagBit("m01",1);
endif
补充:既然有plc,你为什么不把这个工作放到plc中来完成呢?wincc脚本太多,影响wincc的运行速度的。
提问者对于答案的评价:
最佳答案作者回复:
如果要多次执行同样的操作,则变量复位后,同时复位延时置位的变量:
ifGetTagBit("m00")
SetTagWord("taga",GetTagWord("taga")+1);
else
SetTagWord("taga",0);
SetTagBit("m01",0);
endif