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

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

3天内不再提示

SCL--CASE指令如何实现顺控功能

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-08-03 11:01 次阅读

通过CASE OF指令,可以比较容易实现类似顺控的功能,并且编程方法便捷、可读性较好。可以使用类似于下面的编程方式实现类似顺控的功能:

CASE 步骤号 OF //Int类型步骤号,一般位于FB的Static

0:

步骤0

逻辑编程 //一般初始步不执行具体操作,只是初始化,然后是等待开始

IF 条件 THEN

步骤号:=1;

ELSIF 错误 THEN

步骤号:=100;

END_IF;

1:

步骤1

逻辑编程

置位复杂指令i.REQ

IF 复杂指令i.DONE THEN

复位复杂指令i.REQ

步骤号:=2;

ELSIF 复杂指令i.ERROR

复位复杂指令i.REQ

步骤号:=100;

END_IF;

2:

步骤2

逻辑编程

置位复杂指令m.REQ

IF 复杂指令m.DONE THEN

复位复杂指令m.REQ

步骤号:=3;

ELSIF 复杂指令m.ERROR

复位复杂指令m.REQ

步骤号:=100;

END_IF;

n:

步骤n

逻辑编程

置位复杂指令x.REQ

IF 复杂指令x.DONE THEN

复位复杂指令x.REQ

步骤号:=n+1;

ELSIF 复杂指令x.ERROR

复位复杂指令x.REQ

步骤号:=100;

END_IF;

100:

错误处理 逻辑编程

步骤号:=0

END_CASE;

复杂指令0 //复杂指令调用

复杂指令1

复杂指令n

输出Busy、Done、Status等

复杂指令一般包含:通信、运动控制、读配方、写数据日志、读写数据记录、定时器等异步指令,这些指令通常不放在CASE语句的逻辑中,而是在最后统一调用。

一般通过复杂指令完成位、错误位等作为跳转条件。如果是定时器,也可以通过判断时间是否到达作为跳转条件。

例子:使用CASE OF指令编程运动控制,第一步相对运动以200mm/s的速度移动10000mm,第二步速度控制以100mm/s的速度移动15s,第三步停止。

审核编辑:郭婷

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

    关注

    1

    文章

    573

    浏览量

    35341
  • 定时器
    +关注

    关注

    23

    文章

    3128

    浏览量

    111904

原文标题:SCL--CASE指令如何实现顺控功能?

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

收藏 人收藏

    评论

    相关推荐

    oracle case when 语法介绍

    Oracle的CASE WHEN语法是一种在数据库查询中使用的条件语句,它提供了一种在SELECT语句中根据条件对结果进行转换或筛选的方法。在本文中,我们将详细介绍Oracle的CASE WHEN
    的头像 发表于 12-06 10:21 487次阅读

    java中的switch语句 case的取值

    Java中的switch语句是一种用于多重条件判断的语句,用于根据不同的条件执行不同的代码块。在switch语句中,case关键字用来指定不同的取值。 在Java中,switch语句的语法结构如下
    的头像 发表于 11-30 16:05 283次阅读

    java switch case的语法规则

    在Java中,switch case语句是一种用于多分支选择的控制流语句。它允许根据某个表达式的值来执行不同的代码块。下面是关于switch case语法规则的详细解释。 基本语法 switch语句
    的头像 发表于 11-30 14:40 283次阅读

    Switch case中的case顺序

    Switch case中的case顺序 Switch 可能转化成多种不同算法的代码。其中最常见的是跳转表和比较链/树。当switch用比较链的方式转化时,编译器会产生if-else-if的嵌套代码
    的头像 发表于 11-20 18:16 340次阅读

    调用SCL函数块-事例

    在以下部分中,将在组织块“Main” 中调用 SCL 函数块“SCL_Best_before_date” 并互连输入和输出参数。
    的头像 发表于 08-10 09:51 525次阅读
    调用<b class='flag-5'>SCL</b>函数块-事例

    西门子博途SCL:REGION:构建程序代码的步骤

    可以使用指令“构建程序代码”,在 SCL 块中构建程序代码并将其分为几个不同区域。
    的头像 发表于 07-31 09:09 3873次阅读

    使用SCL语言开发上升沿或下降沿指令

    沿指令即在程序中用于检测信号的上升沿或下降沿的指令
    的头像 发表于 07-20 14:20 2026次阅读
    使用<b class='flag-5'>SCL</b>语言开发上升沿或下降沿<b class='flag-5'>指令</b>

    西门子博途SCL的GOTO跳转指令

    跳转标签和“跳转”指令必须在同一个块中。在一个块中,跳转标签的名称只能指定一次。每个跳转标签可以是多个跳转指令的目标
    发表于 07-03 14:53 4551次阅读

    CASE:创建多路分支

    CASE:创建多路分支 说明 使用“创建多路分支”指令,可以根据表达式的值执行多个指令序列中的一个。 表达式的值必须为整数或位字符串。执行 CASE
    的头像 发表于 06-27 11:46 410次阅读
    <b class='flag-5'>CASE</b>:创建多路分支

    博图SCL语言FOR循环的用法及典型案例

    SCL
    YS YYDS
    发布于 :2023年06月25日 00:06:13

    SCL语言for指令的用法

    小文老师说在最前面: 今天来给大家讲一下for这个指令用法,在PLC编程中,能用好for指令,会让我们的开发效率更高,想要更好的调用for指令,我们今天通过这篇文章,几分钟的时间带你严谨的认识一下它!
    的头像 发表于 06-19 14:51 1452次阅读
    <b class='flag-5'>SCL</b>语言for<b class='flag-5'>指令</b>的用法

    SCL语言的Case语句如何使用以及实例

    CASE语句用于根据不同的条件执行不同的操作。以下是使用CASE语句的示例: 示例1:根据输入的值执行不同的操作 在示例1中,根据Input的值,会执行相应的操作。如果Input的值为1, 则执行
    的头像 发表于 06-19 09:57 873次阅读
    <b class='flag-5'>SCL</b>语言的<b class='flag-5'>Case</b>语句如何使用以及实例

    新人学习SCL语言,常见的几大误区

    SCL
    YS YYDS
    发布于 :2023年06月18日 23:21:02

    ESP8266官方AT指令实现方法

    官方的AT固件是不开源的,指令解析和功能实现被封装成静态库了,这套AT指令可以很方便的控制芯片,满足一些基本的功能需求,比如AT+MQTT,
    的头像 发表于 05-17 16:13 576次阅读

    PLC实现入栈出栈功能(SCL)

    之前用梯形图实现了PLC入栈出栈功能,这次使用SCL实现功能。使用西门子PLC实现入栈出栈的
    发表于 04-19 11:15 0次下载
    PLC<b class='flag-5'>实现</b>入栈出栈<b class='flag-5'>功能</b>(<b class='flag-5'>SCL</b>)