帮忙看看这段SCL代码 点击:352 | 回复:2



江望起

    
  • 精华:0帖
  • 求助:76帖
  • 帖子:87帖 | 93回
  • 年度积分:0
  • 历史总积分:458
  • 注册:2013年9月09日
发表于:2015-02-10 18:34:10
楼主

请问各路大神,为什么这段代码不能实现Q0.0,Q0.1,Q0.2循环点亮,现在只顺序亮一次就不亮了。到底哪里出问题了呢?刚学习SCL,不懂,请大神们指导指导




yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2015-02-11 10:34:40
1楼

定时器没有复位,TEMP1,TEMP2,TEMP3始终为ON,从而导致Q0.0~Q0.2不断的在0~1之间变化。


建议您以秒脉冲+计数的方式进行延时。

例如下列例程:



ORGANIZATION_BLOCK OB1


VAR_TEMP

    // Reserved

    info : ARRAY[0..19] OF BYTE;

    // Temporary Variables

    Step:INT;

    currentTime:S5TIME;

    delayTime:INT;

    

END_VAR

    

    currentTime:=S_ODT(T_NO:=T0,

                          S:=NOT M0.0,

                         TV:=T#1S,

                          Q:=M0.0 );

    IF I0.0 THEN 

        Step:=1;

        Q0.0:=FALSE;

        Q0.1:=FALSE;

        Q0.2:=FALSE;

        delayTime:=0;

        END_IF;

    

    CASE Step OF

        1 : Q0.0:=TRUE;

            IF M0.0 THEN

                IF delayTime=3 THEN

                    Step:=2;

                    delayTime:=0;

                    Q0.0:=FALSE;

                ELSE

                    delayTime:=delayTime+1;

                END_IF;

            END_IF;

         2 : Q0.1:=TRUE;

             IF M0.0 THEN

                IF delayTime=1 THEN

                    Step:=3;

                    delayTime:=0;

                    Q0.1:=FALSE;

                ELSE

                    delayTime:=delayTime+1;

                END_IF;

            END_IF;

          3: Q0.2:=TRUE;

             IF M0.0 THEN

                IF delayTime=2 THEN

                    Step:=1;

                    delayTime:=0;

                    Q0.2:=FALSE;

                ELSE

                    delayTime:=delayTime+1;

                END_IF;

            END_IF;

      END_CASE;


    

END_ORGANIZATION_BLOCK


江望起

  • 精华:0帖
  • 求助:76帖
  • 帖子:87帖 | 93回
  • 年度积分:0
  • 历史总积分:458
  • 注册:2013年9月09日
发表于:2015-02-12 18:22:46
2楼


回复内容:

对: yuanle 定时器没有复位,TEMP1,TEMP2,TEMP3始终... 内容的回复!

谢了,用SCL写逻辑要这么多啊


热门招聘
相关主题

官方公众号

智造工程师