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

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

    关注

    90

    文章

    3707

    浏览量

    96756
  • 机器人技术
    +关注

    关注

    18

    文章

    194

    浏览量

    33117
  • SCL
    SCL
    +关注

    关注

    1

    文章

    244

    浏览量

    17934

原文标题:SCL 编程示例

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    别错过!Altair 电池包仿真解决方案,干货满满

    电池包相关问题1.建模2.电池包/箱/模块强度分析密度大,重量质分布集中3.振动与冲击噪声与舒适性要求冲击速度高4.热管理发热量大,结构复杂工作温度控制要求高5.碰撞安全电池包挤压变形过大引起漏、火爆炸侵入乘员舱威胁安全6.疲劳耐久7.电Altair电池包结构分析解决方案全流程前处理建模HyperMesh:强大的建模建模能力:模型导入中面抽取、网格划分、复合
    的头像 发表于 11-20 14:19 1694次阅读
    别错过!Altair 电池包仿真解决方案,<b class='flag-5'>干货</b><b class='flag-5'>满满</b>!

    Video Processing Subsystem与HDMI示例设计

    在撰写本文时,HDMI Transmitter Subsystem IP 核与 Video Processing Subsystem IP 核均有多个示例设计可供使用,但并没有演示将两者功能结合在一起来使用的设计。
    的头像 发表于 11-07 10:35 297次阅读
    Video Processing Subsystem与HDMI<b class='flag-5'>示例</b>设计

    干货分享 | 功能安全常见疑难问题汇总

    针对实操问题的线上答疑活动,我们分类整理了一些热门问题及解答,可作为大家日后实践中的参考。干货满满,仔细阅读哦~关于功能安全机制及其诊断覆盖率问题Q外狗从功能上
    的头像 发表于 09-05 16:21 1989次阅读
    <b class='flag-5'>干货</b>分享 | 功能安全常见疑难问题汇总

    请问有没有什么方法可以通过PSoC5LP将配置数据编程到BCR plus?

    Micro-B端口。因此,我们想知道是否连接 PSoC5LP 和电路板之间的 SCL/SDA/GND,并且可以从 PSoC5LP 连接到的 PC 对配置进行编程
    发表于 08-15 06:42

    上传示例代码后,CYPD3171不再可编程是怎么回事?

    我有一个使用 CYPD3171 芯片的定制板,用于定制移动电源应用。在第一个测试 PCB 上我上传了示例代码,但后来我发现我无法再对其进行编程。我查看了引脚排列的代码和 GUI,发现代码使用编程引脚
    发表于 07-15 08:01

    干货分享 | TSMaster DBC编辑器操作指南:功能详解+实战示例

    接触TSMaster的工程师来说,如何快速掌握DBC编辑技巧,并应用于实际项目开发,仍存在一定的学习门槛。本文将从基础功能解析到使用示例演示,系统介绍TSMaste
    的头像 发表于 07-04 20:04 1313次阅读
    <b class='flag-5'>干货</b>分享 | TSMaster DBC编辑器操作指南:功能详解+实战<b class='flag-5'>示例</b>

    矽力杰首届车规MCU代理商技术培训大会圆满召开!

    6月20-21日,矽力杰MCU代理商技术培训会于杭州矽力杰大厦成功举办。本次培训会聚焦车规级MCU技术前沿,为代理商FAE团队带来了一场干货满满的技术盛宴,助力生态伙伴深度掌握矽力杰MCU核心优势
    的头像 发表于 06-21 17:03 1037次阅读
    矽力杰首届车规MCU代理商技术培训大会圆满召开!

    静电放电发生器操作步骤 干货满满

    静电放电抗扰度测试仪是一种在性能上完全满足IEC61000-4-2、GB/T17626.2 标准要求的测试仪。其最大静电电压可以达到 30kV,足以覆盖标准中最严酷的静电电压要求(第 4 级气隙放电的静电电压要求为 15kV)。通过更换不同的配件可用于各种电气与电子设备对于静电放电试验,而且可保证试验的可比性和再现性。 静电放电发生器的简易操作步骤: 1、金属枪尖有两种【尖头、圆头】,枪头上接上尖头金属枪尖,将设备枪体接上主机,地线鳄鱼夹接在大地,以及测
    的头像 发表于 06-18 09:04 869次阅读

    详解TIA Portal SCL编程语言中的IF语句

    IF 语句是编程中最基本和最重要的控制结构之一,它的主要作用是根据条件决定程序的执行路径,IF 语句是编程中实现逻辑判断和决策的基础。
    的头像 发表于 05-24 15:01 1437次阅读
    详解TIA Portal <b class='flag-5'>SCL</b><b class='flag-5'>编程</b>语言中的IF语句

    电机原理及重要公式(干货

    纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:电机原理及重要公式(干货).doc 【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-20 17:47

    想使用DLPC350控制DLP4500,请问有没有DLPC350的编程示例代码?

    你好,我目前想使用DLPC350控制DLP4500,请问有没有DLPC350的编程示例代码?
    发表于 02-20 06:39

    使用SCL编写FIFO功能块

    找到相关的指令。    其实要实现这个功能可直接使用SCL编程方法编写一个这样的功能块就可以了,(在文章的结尾会为大家提供参考示例程序和SCL相关的学习资料,供有需要的朋友下载学习)
    的头像 发表于 02-09 10:27 1140次阅读
    使用<b class='flag-5'>SCL</b>编写FIFO功能块

    昆仑芯率先完成Deepseek训练推理全版本适配

    本文是昆仑芯适配DeepSeek系列推文第一篇,将于近期分别推出在昆仑芯P800上进行DeepSeek-V3/R1推理、训练的深度文章,干货满满、持续关注!
    的头像 发表于 02-06 15:13 2253次阅读
    昆仑芯率先完成Deepseek训练推理全版本适配

    I2C总线与Arduino的接口示例

    基础 I2C总线由两条线组成:数据线(SDA)和时钟线(SCL)。SDA用于传输数据,而SCL用于同步数据传输。I2C设备可以是主设备或从设备。主设备生成时钟信号并启动数据传输,从设备响应主设备的请求。 Arduino与I2C Arduino板通常有两个I2C引脚:A4(
    的头像 发表于 01-17 15:34 2358次阅读

    tcpdump使用示例

    这里收集了一些实用的 tcpdump 使用示例,使用它们可提升您的网络故障排除和安全测试能力。 熟练掌握下面的 tcpdump 使用示例,可以帮助我们更好的了解自己的网络。 了解 tcpdump
    的头像 发表于 01-06 09:33 1232次阅读