完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
2个回答
|
|
1.FOR 循环
对于FOR循环 而言 可以通过指令CONTINUE,可以终止当前连续运行的程序循环。 通过指令EXIT终止整个循环的执行。这些在前一章中已经提到过。 注意: 不可以使用块接口的“Temp”部分中声明运行变量,这在编译时是无效的; FOR 语句中不允许组合使用带符号整数和不带符号整数。 使用FOR循环时,不可以使用以下的块接口方式: 使用FOR循环对于越界限制较大,越界情况一般回导致PLC报错,如下数组Data1的大小是10*[INT]而使用FOR循环时遍历数组时遍历到15超过了数组的界限: FOR 循环使用数据限制: [tr]数据类型上限最大值下限最大值[/tr]SINT 类型的运行变量127-128 INT 类型的运行变量32767-32768 DINT 类型的运行变量2147483647-2147483648 LINT 类型的运行变量9223372036854775807-9223372036854775808 USINT 类型的运行变量255- UINT 类型的运行变量65535- UDINT 类型的运行变量4294967295- ULINT 类型的运行变量18446744073709551615- 其示例程序如下: FOR “DATA”.i := 1 TO 10 BY 1 DO “DATA”.Data1[“DATA”.i] := “DATA”.i;END_FOR; 运行结果如下: 2.REPEAT (直到循环) 这个语句类似于UNTIL指令,在西门子给出的帮助文档中称为 “不满足条件时执行” 其实就是简单的顺序型指令。 即:重复执行程序循环,直至不满足执行条件为止。在运行过程中会先运行一次循环,然后再判断一次条件,与后面会提到的WHILE不同 当然所有循环指令都可以使用CONTINUE或者EXIT指令 REPEAT “Result” := “DATA”.i; “DATA”.i:=“DATA”.i+1;UNTIL “DATA”.i》=9END_REPEAT; “DATA”.Error 运行结果如下: 当条件满足时完成循环,结束当前循环。 3.WHILE (当型循环) 可以重复执行程序循环,直至不满足执行条件为止。在执行过程中需要先进性一次条件判断,然后进行循环。 示例程序如下: WHILE “DATA”.i《=9 DO “Result” := “DATA”.i; “DATA”.i := “DATA”.i + 1; END_WHILE; 主要是和REPEAT 做一个区别,WHILE循环是先判断条件后执行循环,而REPEAT是先执行循环后判断条件,两者之间并没有过多的性能上的区分。 运行结果如下 |
|
|
|
|
|
只有小组成员才能发言,加入小组>>
886浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 02:37 , Processed in 0.631587 second(s), Total 83, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号