应现场要求,做了个小的延时程序
触发方式:周期触发
周期:1s
功能:
当取料信号到达后,延时20s,给出取料允许信号,延时10s后撤销取料允许信号
if 取料信号==1
{
settagword((定时器1),gettagword(定时器1)+1)
}
ELSE
{
settagword((定时器1),0)
}
if gettagword(定时器1)>20
{
settagword((取料允许),1)
if gettagword(定时器1)>30
{
settagword((取料允许),0)
}
当取料信号为1时,定时器1的数值递增
当取料信号为0时,定时器1复位为0
当定时器1超过20时,设置取料允许为1
当定时器1超过30时,设置取料允许为0
这是一个典型的延时启动和延时停止的控制逻辑
但是观察变量管理器,定时器无法稳定的进行按秒计时,(其他c脚本中没有sleep之类的)
再wincc运行1天以上后,实际计时时间能达到40s/60s,某些触发周期被跳过,导致脚本并没有被执行。