西门子SCL语言for循环事例简析

for语句在控制变量处于指定的值范围内时用来重复语句序列。控制变量必须是int或dint类型的本地变量的标识符。for循环的定义包括一个初始值和一个终止值的说明。两个值必须与控制变量是同类型。
for语句如下执行:
在循环的开始。控制变量设置为初始值(初始化赋值),每次循环重复,其增加(正增量)或减少(负增量)一个增量,直到达到终止值。
接着循环的每次运行,检查条件(终止值达到)证实是否满足。如果条件满足,语句序列被执行,否则跳过循环及其语句序列。
规则(rules)
for语句的规则:
控制变量只能是int或dint数据类型。
能够省去语句by [增量]。如果不指定增量,则自动指定为+1。
初始赋值(initial assignment)
控制变量的初始值有下列语法。在赋值左边的简单变量必须是数据类型int或dint。
有效的初始赋值的例子:
for i := 1 to 20
for i := 1 to (start + j)
终止值和增量(final value and increment)
能够为终止值和所要求的增量写一个基本表达式。此基本表达式有下列语法:
能够省去语句by [increment]。如果没指定增量,则自动指定为+1。
初始值、终止值和增量是表达式(见表达式、运算符和地址)。当for语句执行时,起先对他们进行求值。
循环执行后,不允许对终止值和增量值进行更改。
例子(example)
function_block for_exa
var
  index  : int ;
  idword : array [1..50] of string;
end_var
begin
for index := 1 to 50 by 2 do
  if idword [index] = 'key' then
     exit;
  end_if;
end_for;
实例: vass标准中用确认类型合格的语句:
itypanz := word_to_int(pdb_styp.anz) / 12; 108/12=9
irbsanz := word_to_int(pdb_rbs.anz) / 1666;6664/1666=4
if (hand or auto) and not xuebern and not fm_reset and xrbs_pz_io then
---如果在手动或者自动模式时没有完成信号复位,有传递车型号正确时--
    for ilauf := 1 to itypanz by 1 do ---开始循环查9次找已有类型-
        for i := 1 to irbsanz by 1 do 循环检查给入数4位
            if tempdb_styp.typ[ilauf].arrtext[i] = arrrbs[i] 
                or tempdb_styp.typ[ilauf].arrtext[i] = 'x' and not cfg.x2 
                or tempdb_styp.typ[ilauf].arrtext[i] = '~' and cfg.x2          
            then
如果在比较时有相等的,或者在比较位中有'x'或 '~' 时可以不比较,但是必须在cfg.x2 上进行设置. 那么车型号码位合格被激活.
arrstyp_io[i]  := true;  有一位车型号码合格
            else  如果没有相同的,或是满足条件的就退出循环
                exit;         退出循环
            end_if;         结束if
        end_for; 
        if arrstyp_io[irbsanz] then 如果有一位车型号码合格,就转存
            _wdata  := tempdb_styp.typ[ilauf].data;
            exit; 退出循环
        end_if;         
    end_for;  结束循环
    xstyp_io  := arrstyp_io[irbsanz]; 发出车型号码合格
    xstyp_nio := not xstyp_io;  发出车型号码不合格
end_if;


什么是Arbitrated loop
广东东莞将加快输电主网建设,打造智慧能源生态系统
5G手机的电池容量与机身的轻薄存在不可调和的矛盾
mplab icd3错误消息及解决方法
当机器人拥有越狱能力的“秘密武器”—超级电容
西门子SCL语言for循环事例简析
OPPO依靠5G将为无线VR推TOF技术
交流接触器与床头开关的接线方法
OPPO成时尚年轻人的健身好搭档
工业互联网连什么 热点与难点又是什么
介绍一下i.MXRT1170上用于保护片内OCRAM1,2的MECC64功能
关于2018年私有和混合云市场的5个预测
手机大厂扎堆智能电视领域,短期预测智能电视入口价值或被高估
数字音视频技术有什么特点?
Raspberry Pi Pico所用的RP2040芯片
TL074运算放大器的相关介绍
工业物联网网关可以采集哪些RS485传感器数据并上传到MQTT云平台?
魅族16X和小米8SE对比,看看谁更胜一筹
门禁控制器怎么安装_门禁控制器接线示意图
儒卓力与合力泰科技签署全球分销协议