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

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

3天内不再提示

SCL编程示例!满满的干货

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-03-10 11:42 次阅读

SCL 编程语言

SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。这种语言基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。

根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST 语言 (结构化文本) 的 PLCopen 初级水平。

① 侧栏 在侧栏中可以设置书签和断点。

② 行号 行号显示在程序代码的左侧。

③ 轮廓视图 轮廓视图中将突出显示相应的代码部分。

④ 代码区 在代码区域,可对 SCL 程序进行编辑。

⑤ 绝对操作数的显示 在此表格中列出了赋值给绝对地址的符号操作数。

SCL 编程示例: 控制传送带

下图显示了以电气方式激活的传送带。在传送带的开始端有两个按钮:S1 用于启动,S2 用于停止。在传送带的末端也有两个按钮:S3 用于启动,S4 用于停止。从任何一端都可启动或停止传送带。

Input

StartPushbutton_Left (S1) BOOL 位于传送带左侧的启动按钮

StopPushbutton_Left (S2) BOOL 位于传送带左侧的停止按钮

StartPushbutton_Right (S3) BOOL 位于传送带右侧的启动按钮

StopPushbutton_Right (S4) BOOL 位于传送带右侧的停止按钮

Output:

MOTOR_ON BOOL 启动传送带电机

MOTOR_OFF BOOL 停止传送带电机

SCL

IF "StartPushbutton_Left_S1" OR "StartPushbutton_Right_S3" THEN

"MOTOR_ON" := 1;

"MOTOR_OFF" := 0;

END_IF;

IF "StopPushbutton_Left_S2" OR "StopPushbutton_Right_S4" THEN

"MOTOR_ON" := 0;

"MOTOR_OFF" := 1;

END_IF;

按下启动按钮“StartPushbutton_Left_S1”或“StartPushbutton_Right_S3”时,将启动传送带电机。按下停止按钮“StopPushbutton_Left_S2”或“StopPushbutton_Right_S4”时,将停止传送带电机。

检测传送带的传送方向:

检测到的传送带传送方向用右箭头或左箭头指示。如果传送的其它物料正在从右边接近 PEB1 或从左边接近 PEB2,显示的箭头最初会关闭,直至两个光电屏蔽均通过后,才能重新检测到传送方向并显示相应的箭头。任务解决方案需要双沿存储器位来检测两个光电屏蔽上从“0”到“1”的信号变化。

Input

光电屏蔽 PEB1 BOOL 光电屏蔽 1

光电屏蔽 PEB2 BOOL 光电屏蔽 2

辅助标记 PEB1 BOOL 沿位存储器 1

辅助标记 PEB2 BOOL 沿位存储器 2

Output

RIGHT BOOL 表示向右传送

LEFT BOOL 表示向左传送

// 向左传送的程序代码

IF "Photolelectric barrier PEB1" = 1 AND "Auxiliary flag PEB2" = 0 THEN

"Auxiliaryflag PEB1" := 1; // 为 PEB1 设置辅助标记

"LEFT":= 0; // 关闭向左箭头

"RIGHT":= 0; // 关闭向右左箭头

END_IF;

IF "Auxiliary flag PEB1" = 1 AND "Photoelectric barrier PEB2" = 1 THEN // 传送带向左传送

"LEFT"= 1;

"RIGHT":= 0;

END_IF;

IF "LINKS" = 1 AND "Photoelectric barrier PEB2" = 0 THEN // 复位 PEB1 的辅助标记

"Auxiliaryflag PEB1" = 0

END_IF;

// 向右传送的程序代码

IF "Photolelectric barrier PEB2" = 1 AND "Auxiliary flag PEB1" = 0 THEN

"Auxiliaryflag PEB2" := 1; // 为 PEB2 设置辅助标记

"LEFT":= 0; // 关闭向左箭头

"RIGHT":= 0; // 关闭向右左箭头

END_IF;

IF "Auxiliary flag PEB2" = 1 AND "Photoelectric barrier PEB1" = 1 THEN // 传送带向右传送

"LEFT"= 0;

"RIGHT":= 1;

END_IF;

IF "RIGHT" = 1 AND "Photoelectric barrier PEB1" = 0 THEN // 复位 PEB2 的辅助标记

"Auxiliaryflag PEB2" := 0;

END_IF;

如果光电屏蔽“PEB1”的信号状态为“1”同时光电屏蔽“PEB2”的信号状态为“0”,则传送带上的包裹向左移动。如果光电屏蔽“PEB2”的信号状态为“1”同时光电屏蔽“PEB1”的信号状态为“0”,则传送带上的包裹向右移动。//当两个光电屏蔽的信号状态均为“0”时,则向左或向右传送的指示灯将熄灭。

编辑:jq

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

    关注

    88

    文章

    3438

    浏览量

    92321
  • 机器人技术
    +关注

    关注

    18

    文章

    179

    浏览量

    31475
  • SCL
    SCL
    +关注

    关注

    1

    文章

    238

    浏览量

    16855

原文标题:SCL 编程示例

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

收藏 人收藏

    评论

    相关推荐

    西门子SCL PLC高级编程教程

    借助SCL,可以简化控制技术领域复杂的计算、算法、数据管理和数据组织等编程工作。
    发表于 01-22 10:27 135次阅读
    西门子<b class='flag-5'>SCL</b> PLC高级<b class='flag-5'>编程</b>教程

    SIMATIC S7-1500 PLC S7-SCL SCL块详解

    函数和函数块在西门子的大中型PLC编程中,应用十分广泛,前介绍过函数和函数块,其编程采用的是LAD语言,而本节采用SCL语言编程,以下仅用一个例子介绍函数,函数块使用方法也类似。
    的头像 发表于 12-06 09:17 422次阅读
    SIMATIC S7-1500 PLC S7-<b class='flag-5'>SCL</b> <b class='flag-5'>SCL</b>块详解

    干货满满!锁定2023年5G核心网峰会精彩议程

    原文标题:干货满满!锁定2023年5G核心网峰会精彩议程 文章出处:【微信公众号:华为云核心网】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 11-13 20:55 357次阅读
    <b class='flag-5'>干货</b><b class='flag-5'>满满</b>!锁定2023年5G核心网峰会精彩议程

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

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

    Java中的Reactive编程示例

    相信响应式编程经常会在各种地方被提到。本篇就为大家从函数式编程一直到Spring WeFlux做一次简单的讲解,并给出一些示例,希望大家可以更好的理解响应式编程,可以在合适的时机运用到
    的头像 发表于 10-08 16:06 480次阅读
    Java中的Reactive<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    移动数据的编程示例

    编程示例 在此编程示例中,将移动在生产班次期间为示例收集的数据值以作进一步处理。收集的数据放在 ARRAY 中。通过“MOVE_BLK_VA
    的头像 发表于 08-23 10:10 757次阅读
    移动数据的<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    SCL中的 EN/ENO 机制概述

    SCL 中的 EN/ENO 机制概述 在 SCL 程序段中,可以通过赋值来改变 ENO。为此,请写入“ENO:=TRUE”或“ENO:=FALSE”,或使用 BOOL 数据类型的变量。当激活“自动
    的头像 发表于 08-23 10:08 1226次阅读

    SCL编程示例:控制传送带

    SCL(Structured Control Language,结构化控制语言)是一种基于 PASCAL 的高级编程语言。这种语言基于标准 DIN EN 61131-3(国际标准为 IEC 1131-3)。
    的头像 发表于 08-10 14:38 527次阅读
    <b class='flag-5'>SCL</b><b class='flag-5'>编程</b><b class='flag-5'>示例</b>:控制传送带

    干货满满!HDC.Together 2023线上直播等你来解锁

    HarmonyOS极客马拉松2023决赛直播预告 HarmonyOS学生公开课议程抢先看! 原文标题:干货满满!HDC.Together 2023线上直播等你来解锁 文章出处:【微信公众号:HarmonyOS开发者】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 08-03 09:10 568次阅读

    TCON、TDISCON、TSEND和TRCV的编程示例

    在以下示例中,将在 S7-1500 系列的两个 CPU 间创建一个编程连接,并将数据记录从 CPU 1 发送到 CPU 2 中。
    的头像 发表于 07-08 17:16 4387次阅读
    TCON、TDISCON、TSEND和TRCV的<b class='flag-5'>编程</b><b class='flag-5'>示例</b>

    拓尔微技术干货 | 细分驱动技术介绍,内含5个知识点

    内含步进电机驱动的相关知识和拓尔微TMI8150B细分驱动技术的原理,干货满满,一起get 5个知识点~
    的头像 发表于 06-27 15:42 1281次阅读
    拓尔微技术<b class='flag-5'>干货</b> | 细分驱动技术介绍,内含5个知识点

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

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

    基于PASCAL的高级编程语言——SCL编程语言

    根据该标准,可对用于可编程逻辑控制器的编程语言进行标准化。SCL 编程语言实现了该标准中定义的 ST 语言 (结构化文本) 的 PLCopen 初级水平。
    发表于 06-20 10:20 1034次阅读
    基于PASCAL的高级<b class='flag-5'>编程</b>语言——<b class='flag-5'>SCL</b><b class='flag-5'>编程</b>语言

    西门子博途:SCL编程调用函数/调用函数块介绍

    SCL 中,提供返回值的函数可在任何表达式中代替操作数。因此,返回值也称为 SCL 中的“函数值”。
    的头像 发表于 06-20 09:41 5626次阅读

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

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