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

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

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-08-30 09:13 次阅读

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

aabedec0-467f-11ee-a2ef-92fbcf53809c.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)

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

ab03f708-467f-11ee-a2ef-92fbcf53809c.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标准中用确认类型合格的语句:

ab2d1f66-467f-11ee-a2ef-92fbcf53809c.png

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

ab583a34-467f-11ee-a2ef-92fbcf53809c.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上进行设置.那么车型号码位合格被激活.

ab8048da-467f-11ee-a2ef-92fbcf53809c.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;






审核编辑:刘清

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

    关注

    112

    文章

    15223

    浏览量

    171192
  • VaR
    VaR
    +关注

    关注

    0

    文章

    37

    浏览量

    11117
  • SCL
    SCL
    +关注

    关注

    1

    文章

    238

    浏览量

    16875
  • for循环
    +关注

    关注

    0

    文章

    61

    浏览量

    2420

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

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

收藏 人收藏

    评论

    相关推荐

    西门子1200 SCL语言编写

    西门子1200正序启动SCL语言该怎样去编写?西门子1200逆序停止SCL语言该怎样去编写?
    发表于 09-29 08:47

    浅谈西门子PLC的“SCL语言”编程

    介绍西门子PLC的“SCL语言”编程,相关编程代码
    发表于 01-22 17:25 0次下载

    西门子S7-200使用教程

    西门子S7-200 PLC仿真软件超详细使用教程西门子S7-200使用教程
    发表于 05-06 16:43 0次下载

    博世和西门子哪个好_博世和西门子的关系

    本文开始阐述了博世和西门子的关系以及分析了西门子和博世哪个更好,其次分析了西门子和博世的冰箱哪个更好,最后介绍了博世和西门子家电集团在中国的发展。
    的头像 发表于 04-04 09:30 15.2w次阅读

    西门子PLC系列中GRAPH的用法

    熟悉西门子的人都知道,西门子的PLC支持的语言很多,除了最基本的LAD,FBD,STL之外,还有很多在国内不是很常见的语言,其中包括GRAPH,SC
    发表于 07-04 17:47 8353次阅读

    西门子PLC中使用SCL语言编程的技巧

    西门子PLC中使用SCL语言编程的技巧说明。
    发表于 04-22 11:15 60次下载

    浅谈西门子PLC的SCL语言编程

    西门子PLC的SCL语言编程说明。
    发表于 04-22 14:39 46次下载

    浅谈西门子SCL编程

    浅谈西门子SCL编程资料免费下载。
    发表于 04-23 10:44 26次下载

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

    FOR语句在控制变量处于指定的值范围内时用来重复语句序列。控制变量必须是INT或DINT类型的本地变量的标识符。FOR循环的定义包括一个初始值和一个终止值的说明。两个值必须与控制变量是同类
    的头像 发表于 05-13 10:59 1.8w次阅读
    剖析<b class='flag-5'>西门子</b><b class='flag-5'>SCL</b><b class='flag-5'>语言</b>for <b class='flag-5'>循环</b><b class='flag-5'>事例</b>

    西门子S7-1500用SCL语言编写的俄罗斯方块和贪吃蛇程序可仿真

    西门子S7-1500用SCL语言编写的俄罗斯方块和贪吃蛇程序带触摸屏可仿真,里面逻辑清晰注释都非常清楚,适合初学者学习,提升自己的逻辑能力。
    的头像 发表于 11-03 14:56 2559次阅读

    西门子SCL语言编程系列-写立方根FB块

    由于西门子PLC本身并没有带求立方根的指令,我们用SCL来写一个求立方根的FB块
    的头像 发表于 02-06 15:17 1297次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>SCL</b><b class='flag-5'>语言</b>编程系列-写立方根FB块

    西门子PLC的几种编程语言简单介绍

    西门子PLC的几种编程语言简单介绍 来源: wanggaosheng 作者:华仔 浏览:1563 时间:2016-08-10 14:18 标签: 摘要: 西门子PLC的几种编程语言不同
    发表于 04-19 09:35 3次下载
    <b class='flag-5'>西门子</b>PLC的几种编程<b class='flag-5'>语言</b>简单介绍

    西门子S7 SCL编程知识

    本文可以作为 S7-SCL 编程语言的使用参考资料,希望读者通过对本章的阅读,能够更快更好 地学习 S7-SCL 编程语言西门子ᨀ供了
    发表于 04-19 17:54 7次下载

    西门子SCL编程实例——周期性运行(更新版)

    我之前写的一篇文章《西门子SCL编程实例——(电机)周期性运行》收到小伙伴反馈。
    的头像 发表于 11-07 09:05 385次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>SCL</b>编程实例——周期性运行(更新版)

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

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