华人澳洲中文论坛

热图推荐

    S7-十二00梯形图没有FOR循环指令如何完成循环呢?

    [复制链接]

    2022-8-4 15:28:49 19 0

    相熟十二00系列PLC的敌人一定发现了,十二00梯形图中没有开发FOR循环指令,假如碰到要循环履行屡次的顺序该如何完成呢?
    首先咱们要搞分明循环履行的概念,任何品牌PLC履行形式都是循环扫描,也就是说一切顺序默许都是在不断的循环扫描,那是否象征着咱们不需求任何操作就能循环履行呢?其实这类了解是过错的,PLC每个周期刷新一次后果,在一个周期里默许只能扫描一次,而咱们所说的循环履行是需求一个周期内循环扫描屡次,这样必需经过顺序处置能力完成,在200smart中经过FOR循环指令很轻松就可以完成这个功用,然而十二00没有开发FOR循环,那该怎么样完成呢?
    从CPU的扫描形式能够看出,正常从第一行顺序扫描到最初一行顺序完结为一个周期,也就是说两头扫多少顺序,扫多少遍都是这一个周期内,只是扫描周期长短不同罢了,假如能在三秒完结以前经过逻辑顺序修正扫描程序,让CPU重复扫描某一段顺序,那样就完成了循环。
    哪条指令能改动本来的扫描程序呢?是JMP和LABEL指令,能按照前提跳转的指定标签处进行扫描。如下图所示:当跳转前提成立时,顺序扫描到15段时,会跳转到C1标签处从新扫描,递增指令会不停的循环计数。


    然而这样会有个问题,CPU扫描周期一旦超过设定值就会报警,超过两倍(通常300ms)则会致使CPU住手,这样跳转前提成立很快CPU就住手了,咱们再减少前提使跳转指定次数后再也不履行跳转,这样就还能够防止CPU住手。如下图所示:


    这样每个周期会扫描10次,第10次扫描后循环次数等于10,前提不知足则不履行跳转,持续往下扫描。
    这样又有一个问题泛起了,下一周期仍是会扫描C1处的递增指令,只是不会再跳转循环扫描,即下一个周期只会扫描一次,要每个周期都扫描10次,只需求清零循环次数就能了,所以如下图:


    这样成果是否和FOR循环很类似呢?能够本人入手测试一下,编程该当思绪灵敏,换一种思绪或许就可以找到解决问题的方法。

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    注册会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题25

    帖子28

    积分139

    图文推荐