0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-05-13 10:59 次阅读

FOR语句在控制变量处于指定的值范围内时用来重复语句序列。控制变量必须是INT或DINT类型的本地变量的标识符。FOR循环的定义包括一个初始值和一个终止值的说明。两个值必须与控制变量是同类型。

e749dad0-b33c-11eb-bf61-12bb97331649.png

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)

能够为终止值和所要求的增量写一个基本表达式。此基本表达式有下列语法:

e789b61e-b33c-11eb-bf61-12bb97331649.png

能够省去语句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标准中用确认类型合格的语句:

e7ca8c20-b33c-11eb-bf61-12bb97331649.png

iTypAnz := WORD_TO_INT(pDB_STyp.Anz) / 12; 108/12=9

e7fcce42-b33c-11eb-bf61-12bb97331649.png

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上进行设置.那么车型号码位合格被激活.

e849d80e-b33c-11eb-bf61-12bb97331649.png

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;

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7006

    浏览量

    88947
  • for
    for
    +关注

    关注

    0

    文章

    44

    浏览量

    15811
  • dint
    +关注

    关注

    0

    文章

    3

    浏览量

    1564

原文标题:西门子SCL语言for 循环事例

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子plc200编程实例详解

    S7-200系列包括多种不同型号的CPU模块和扩展模块,可以根据具体的应用需求进行选择和配置。其主要特点包括:高性能的CPU、丰富的指令集、强大的网络通信功能以及易于使用的编程软件等。 在编程方面,西门子PLC S7-200支持多种编程语言,包括梯形图(LAD)、语句表
    的头像 发表于 10-22 14:38 631次阅读

    西门子中继器的作用与原理

    西门子中继器是西门子公司生产的一种通信设备,它在工业自动化和通信系统中扮演着重要的角色。中继器的主要作用是放大和转发信号,以确保信号在长距离传输过程中不会因为衰减而丢失或变得模糊不清。以下是关于
    的头像 发表于 09-05 09:47 544次阅读

    西门子PLC的复位操作

    西门子PLC(Programmable Logic Controller,可编程逻辑控制器)是一种广泛应用于工业自动化领域的控制设备。在实际应用过程中,有时需要对PLC进行复位操作,以解决一些程序
    的头像 发表于 08-16 17:46 3086次阅读

    西门子总线协议有哪些

    西门子(Siemens)作为工业自动化领域的领先企业,其总线协议在自动化系统中发挥着重要作用。西门子总线协议主要包括了多种类型,这些协议支持不同的应用场景和通信需求。
    的头像 发表于 08-05 16:09 1014次阅读

    西门子完成对BuntPlanet的收购

    在数字化转型的浪潮中,西门子再次迈出坚实步伐,近期成功完成了对西班牙科技创新企业BuntPlanet的收购整合,这一战略举措标志着西门子在水行业的软件产品组合迎来了前所未有的升级与丰富。此次并购
    的头像 发表于 07-10 16:25 734次阅读

    西门子PLC与IO模块如何通讯

    在现代工业自动化控制系统中,西门子PLC(Programmable Logic Controller)以其卓越的性能和稳定性赢得了广泛应用。而在西门子PLC系统中,IO模块(Input/Output
    的头像 发表于 06-19 10:46 1926次阅读

    西门子PLC中OB块的功能详解

    西门子PLC(Programmable Logic Controller)作为工业自动化领域的核心设备,其内部功能强大、应用广泛。在西门子PLC中,OB块(Organization Block,组织
    的头像 发表于 06-15 11:27 4610次阅读

    西门子PLC的发展历史

    西门子,作为全球知名的工业自动化和数字化企业,其PLC(可编程逻辑控制器)产品的发展历程是工业自动化领域的重要篇章。从早期的二进制控制器到如今的智能化、网络化控制系统,西门子PLC的发展历程充满了
    的头像 发表于 06-15 11:26 1893次阅读

    西门子模块型号都代表什么意思

    西门子(Siemens)是一家德国跨国公司,其产品涵盖了工业自动化、能源、医疗、交通等多个领域。在工业自动化领域,西门子提供了各种模块化产品,包括PLC(可编程逻辑控制器)、HMI(人机界面
    的头像 发表于 06-11 16:20 4830次阅读

    西门子plc模块型号详解

    西门子PLC(Programmable Logic Controller,可编程逻辑控制器)是工业自动化领域中非常重要的一种设备,其模块化的设计使得其应用范围非常广泛。本文将详细介绍西门子PLC
    的头像 发表于 06-11 16:18 5891次阅读

    非夕科技与西门子达成战略合作协议,正式加入西门子Xcelerator生态

    近日,Flexiv非夕科技与西门子达成战略合作协议,正式加入西门子 Xcelerator 生态,双方将联合打造面向多行业的自适应机器人应用解决方案。
    的头像 发表于 05-24 14:49 773次阅读

    西门子Xcelerator as a Service 扩展云解决方案 覆盖整个产品生命周期

    · 西门子发布一系列新的 Xcelerator as a Service 解决方案,包括 NX X、Zel X、Opcenter X、Simcenter X 和 Teamcenter X
    的头像 发表于 05-17 16:15 454次阅读
    <b class='flag-5'>西门子</b>Xcelerator as a Service 扩展云解决方案 覆盖整个产品生命周期

    西门子变频器故障代码 西门子变频器参数说明

    西门子变频器(Siemens Variable Frequency Drive)是一种主要用于控制电机运行速度和输出功率的装置。它根据需要调整输入电压和频率,实现电机的精确控制和高效运行。然而,在
    的头像 发表于 02-14 17:38 1.9w次阅读

    西门子PLC和施耐德PLC区别

    西门子PLC系统的设计、建造工作量小,维护方便,容易改造,西门子PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。
    发表于 01-17 10:14 2089次阅读

    西门子博图SCL练习1:使用FC计算平均值

    西门子博图SCL练习1:使用FC计算平均值
    的头像 发表于 01-02 10:25 2771次阅读
    <b class='flag-5'>西门子</b>博图<b class='flag-5'>SCL</b>练习1:使用FC计算平均值