TIA SCL学习 WHILE DO语句
发布时间:2023-08-02 12:31:03 作者:创控教育 浏览量:566
SCL的强大之处很大一部分是能利用FOR、WHILE和REPEAT循环语句,循环执行具有一定规律性的重复计算。比如数组的操作、连续地址的复制移动等操作,能够实现FIFO(先进先出)、FILO(先进后出)、甚至模拟量的批量转换的操作。今天先介绍一下WHILE DO语句。
WHILE DO语句的语法:
WHILE <条件> DO
循环内容
END_WHILE;
它的执行过程就是,程序一开始判断条件是不是成立(就是条件的结果是不是逻辑结果真),如果成立,那就开始执行循环内容,执行完之后,再回来判断条件是否成立,成立继续执行循环内容,如果不成立,那就跳出循环,执行END_WHILE后面的语句。
所以条件的内容非常重要,如果一直为真的话,那程序可能陷入死循环,PLC报错停机。除了条件能控制循环的结束之外,还有两个指令能够控制循环内容的执行,就是CONTINUE(复查循环条件)和EXIT指令。这两个指令的不同之处在于语句知行道CONTINUE指令时,跳出本次的循环,也就是本次循环不再执行循环内容剩下的程序,在继续检查条件是否成立,如果成立,再继续执行循环内容。而当执行到EXIT指令的时候,就不管条件是不是成立了,直接跳出循环,执行循环指令下面的内容。
下面再做一个小例子,呃,想想不出来多么经典的,
计算0-MAX(输入的大于0的整数)之内所有的整数相加,然后计算所有的奇数相加我编写的程序如下:
试运行结果:
计算结果正确。
在测试的时候,第二个循环里面,TEMP=TEMP+1和EXIT判断的语句反了一下,造成计算错误,多执行了一次循环,加到101了。后面的循环只是为了测试continue和EXIT语句,正常计算的时候,一般不采用这种方法。
收藏
最热文章
为您推荐
最新文章
热门话题