求wincc控制三盏灯顺序亮灭的脚本编程

想要用wincc做一个用两个开关顺序控制三盏灯亮灭,按下点亮开关小灯依次点亮时间间隔为3s,按下熄灭开关小灯依次熄灭时间间隔为2s,求一个脚本的编程,最好C脚本和VBS脚本两种编程都有,还有就是相关的开关编程。哪位大神会,麻烦给解答一下呗,谢谢!

图片说明:

求wincc控制三盏灯顺序亮灭的脚本编程    求wincc控制三盏灯顺序亮灭的脚本编程    求wincc控制三盏灯顺序亮灭的脚本编程   

最佳答案

定义二进制变量LED_a,LED_b,LED_c用于控制灯的亮灭,1亮0灭
定义二进制变量LED_Start,LED_Stop用于控制开关,开按钮对star置一,关按钮对stop置一
定义无符号整形LED_Count用于计数

在C全局脚本中添加新动作,触发周期为1S

脚本如下
if (GetTagBit("LED_start")==1) 
    {SetTagWord("LED_count",GetTagWord("LED_count")+1);
    if (GetTagWord("LED_count")==3)
        if (GetTagBit("LED_a")==0)
           SetTagBit("LED_a",1);
    if (GetTagWord("LED_count")==6)
        if (GetTagBit("LED_b")==0)
           SetTagBit("LED_b",1);
    if (GetTagWord("LED_count")==9)
        if (GetTagBit("LED_c")==0)
          { SetTagBit("LED_c",1);
            SetTagWord("LED_count",0);
            SetTagBit("LED_start",0);
           }
}  
         
if (GetTagBit("LED_stop")==1)
  {SetTagWord("LED_count",GetTagWord("LED_count")+1);
    if (GetTagWord("LED_count")==2)
        if (GetTagBit("LED_c")==1)
           SetTagBit("LED_c",0);
    if (GetTagWord("LED_count")==4)
        if (GetTagBit("LED_b")==1)
           SetTagBit("LED_b",0);
    if (GetTagWord("LED_count")==6)          
        if (GetTagBit("LED_a")==1)
           {SetTagBit("LED_a",0);
           SetTagWord("LED_count",0);
           SetTagBit("LED_stop",0);

           }
}
return 0;

提问者对于答案的评价:
谢谢,三盏灯该如何具体组态啊??该怎么设置属性与开关相连接??

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论