西门子SCL语言状态机编程学习。

已锁定

question

  • 帖子

    872
  • 精华

    6
  • 被关注

    110

论坛等级:奇侠

注册时间:2004-04-13

白金 白金 如何晋级?

西门子SCL语言状态机编程学习。

11624

27

2017-05-14 07:55:59

这个图的控制任务我简要说明一下:

有个水罐,共3个液位开关,两个泵。B1表示低液位,B2表示高液位,B3表示超高液位。P1是一号泵,P2是2号泵。

两个圈的Ready状态,相当于SFC的初始步,一般没有动作输出。按下Start按钮后,状态转移到Idle状态,这个状态也没有输出。RE代表上升沿。当B2上升沿和P1_Last 为false时,状态转为RunP1,表示P1运行。状态RunP2表示P2运行。RunP12表示泵1和泵2都运行。


#RE_B2(CLK := #B2);
#RE_Run(CLK := #Start_stop);
#FE_Run(CLK := #Start_stop);
#Gone_3m(IN := (#State = #RunP12) and not #Reset,
         PT := T#3M);

if #Gone_3m.Q then
    #Light := true;
end_if;

if #Reset then
    #Light := false;
end_if;

case #State of
    #Ready:
        if #RE_Run.Q then
            #State := 1;
        end_if;
    #Idle:
        #P1 := #P2 := false;
        if #FE_Run.Q then
            #State := #Ready;
        elsif #RE_B2.Q and not #P1_Last then
            #State := #RunP1;
        elsif #RE_B2.Q and #P1_Last then
            #State := #RunP2;
        elsif #B3 then
            #State := #RunP12;
        end_if;
        
    #RunP1:
        #P1 := true;
        #P1_Last := true;
        if (not #B1) or #B3 or #FE_Run.Q then
            #State := #Idle;
        end_if;
    #RunP2:
        #P2 := true;
        #P1_Last := false;
        if (not #B1) or #B3 or #FE_Run.Q then
            #State := #Idle;
        end_if;
    #RunP12:
        #P1 := #P2 := true;
        if (not #B1) or #FE_Run.Q then
            #State := #Idle;
        end_if;
end_case;


搞了两天状态机,跟着学了一下,分别用3S和倍福软件,感受了一下。谈下西门子的SCL的总体感受:

比起S7-300下SCL要好太多。但还有改进的空间。。。

1, 不支持枚举。在这里我用常量代替。不是很完美。。。

2, IDE的提示做的比较好,把光标放变量上,会提示变量的类型。

3, 和IEC61131-3标准相比,有些差距,不支持面向对象的编程。。

4, IDE上,不支持中间换行。。就是光标在字符中间,安Shift+Enter键,直接新起一行,

        希望这个功能加快实现,其它IDE基本都有这个功能,当然不是指3s和倍服。是PC编程。。

5,在变量声明区,不支持手写声明,手写要快很多,其它的都支持两种声明,很方便。


6, 可以格式化代码,V13版的格式代码好像有问题,V14改进了,绝对比其它的要好,就是没有快捷键。

7, 在SCL编辑区,false和true常量不会自动转换为大些,这个好像差了些。


欢迎大家来我的博客,定期分享关于状态机的编程心得。

http://blog.csdn.net/dronghtom/article/details/72330906


西门子SCL语言状态机编程学习。 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10569条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。