西门子博途SCL高级语言之FOR循环

FOR循环语句应用一

1.)FOR循环语句介绍

说明

使用“在计数循环中执行”指令,重复执行程序循环,直至运行变量不在指定的取值范围内。

也可以嵌套程序循环。在程序循环内,可以编写包含其它运行变量的其它程序循环。

通过指令“复查循环条件”(CONTINUE),可以终止当前连续运行的程序循环。通过指令“立即退出循环”(EXIT) 终止整个循环的执行。

有关运行次数和运行变量的信息:

程序运行时无法更改运行次数。

出于性能缘由,应在块接口的“Temp”部分中声明运行变量。在循环中,该运行变量无法更改。

因此,以下示例程序将生成一个语法错误且无法编译:

FOR #i := 1 TO 10 DO

#i := #i + 1;

END_FOR;

FOR循环指令参数表如下:

西门子博途SCL高级语言之FOR循环

FOR循环正确语法示例:

FOR<执行变量> := <起始值> TO <结束值> BY<增量>DO<指令>

END_ FOR;

2.)FOR循环语句应用案例之数组与数组的数据交换:

建立一个数据DB块及FB块声明一个临时变量:

西门子博途SCL高级语言之FOR循环

西门子博途SCL高级语言之FOR循环

编写SCL程序(无字长度)

西门子博途SCL高级语言之FOR循环

在线监控:

西门子博途SCL高级语言之FOR循环

编写有字长度的FOR循环:

西门子博途SCL高级语言之FOR循环

在线监控:

西门子博途SCL高级语言之FOR循环

它除第一个数据对应外,开始的第二个数据就隔一个对应一个,也就是说数组B的第二个触发,数组A的第二个是收不到数据的,这个取决于我们设置BY后面的数值。

今天的FOR循环就简单的介绍到这,由于时间关系及笔者水平有限,难免文章有介绍错误的地方,望广大朋友,专家,高手多多指导!

© 版权声明

相关文章

7 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    文浩 读者

    比如for循环1to20 是一个扫描周期内执行完吗?

    无记录
  • 头像
    土豆土豆我爱次土豆 读者

    是的

    无记录
  • 头像
    指尖新闻-沈阳晚报 读者

    可以这么说,案例时10个数,执行完毕后跳出来继续执行,若只需要循环一轮,必须加上一个结束语句 NEXT,它就不再执行循环。要等所以的程序段都扫描完毕后继续新一轮(PLC总程序)扫描。

    无记录
  • 头像
    秦皇岛胜川建材模板 读者

    记错结束语的写法了,应该是EXIT。

    无记录
  • 头像
    OK小萌子 投稿者

    这个能看懂,但是换个就不行虽然我也用scl有些还是不熟练

    无记录
  • 头像
    麦田怪圈 读者

    写得不够详细

    无记录
  • 头像
    卵生爱豆 投稿者

    收藏了,感谢分享

    无记录