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

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

3天内不再提示

STL步进顺序程序的示例

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-08-10 14:07 次阅读

编写步进顺序程序

下图显示了一个站,用于将玻璃容器从托盘上移走。传送带再将托盘传送到站。

当载有玻璃容器的托盘到达站时,传送带将停止运动,一个夹持器将从其基准位置 (P0) 移动到托盘上方的位置 (P2)。

当夹持器移动到托盘上方时,夹钳会打开,同时下降夹持器。

传感器检测夹持器的实际位置和夹钳的状态。

在本示例中,夹持器的运动顺序由一个步进顺序程序进行控制。

当然,也可以编写更多的步骤,拿走这些瓶子,并在另一条传送带上传送。

b3b04862-373d-11ee-9e74-dac502259ad0.png

实施

下表列出了 PLC 变量表中所用操作数的声明:

名称 数据类型 备注
NUMBER INT 步进编号
Tag_Error BOOL 当步进编号大于 3 或其中一个步骤未执行时,将置位该操作数。

下表列出了代码块的块接口中所用操作数的声明:

名称 声明 数据类型 备注
POS_0 Input BOOL 夹持器位于基准位置 (P0)
POS_1 Input BOOL 夹持器位于位置 1 (P1)
POS_2 Input BOOL 夹持器位于位置 2 (P2)
GRIPPER_OPEN Input BOOL 夹钳打开
OUT_POS_1 Output BOOL 夹持器移动到位置 1
OUT_POS_2 Output BOOL 夹持器移动到位置 2
OUT_GRIPPER Output BOOL 打开夹钳
OUT_POS_3 Output BOOL 夹持器移动到位置 3

以下 STL 程序说明了如何实现此示例:

STL 说明
L "NUMBER" //将步进编号加载到累加器 1 中。
JL END //跳转列表开始
JU POSITION_0 //累加器 1 的值为“0”时,将跳转到跳转标签“POSITION_0”处。
JU POSITION_1 //累加器 1 的值为“1”时,将跳转到跳转标签“POSITION_1”处。
JU POSITION_2 //累加器 1 的值为“2”时,将跳转到跳转标签“POSITION_2”处。
JU POSITION_3 //累加器 1 的值为“3”时,将跳转到跳转标签“POSITION_3”处。
END: JU ERROR //跳转列表结束
//步进编号大于 3 时,将跳转到跳转标签“ERROR”处。
POSITION_0: A #POS_0 //跳转标签“POSITION_0”
//扫描检查夹持器是否位于基准位置 (P0)。
= #OUT_POS_1 //如果是,则置位输出“OUT_POS_1”并将夹持器移动至位置 1 (P1)。
JCN ERROR //RLO 为“0”时,将跳转到跳转标签“ERROR”处。
JC NEXT //RLO 为“1”时,将跳转到跳转标签“NEXT”处。
POSITION_1: A #POS_1 //跳转标签“POSITION_1”
//扫描检查夹持器是否位于位置 1 (P1)。
= #OUT_POS_2 //如果是,则置位输出“OUT_POS_2”并将夹持器移动至位置 2 (P2)。
JCN ERROR //RLO 为“0”时,将跳转到跳转标签“ERROR”处。
JC NEXT //RLO 为“1”时,将跳转到跳转标签“NEXT”处。
POSITION_2: A #POS_2 //跳转标签“POSITION_2”
//扫描检查夹持器是否位于位置 2 (P2)。
= #OUT_GRIPPER //如果是,则复位输出“OUT_GRIPPER”并打开夹钳。
JCN ERROR //RLO 为“0”时,将跳转到跳转标签“ERROR”处。
JC NEXT //RLO 为“1”时,将跳转到跳转标签“NEXT”处。
POSITION_3: A #POS_2 //跳转标签“POSITION_3”
//扫描检查夹持器是否位于位置 2 (P2)。
A #GRIPPER_OPEN //扫描检查夹钳是否打开
= #OUT_POS_3 //如果是,则置位输出“OUT_POS_3”并将夹持器移动至位置 3 (P3)
JCN ERROR //RLO 为“0”时,将跳转到跳转标签“ERROR”处。
JC NEXT //RLO 为“1”时,将跳转到跳转标签“NEXT”处。
NEXT: INC 1 //跳转标签“NEXT”
//将累加器 1 中的步进编号加 1。
T "NUMBER" //将步进编号传送到操作数“NUMBER”中。
L 3 //将当前的步进编号移送到累加器 2 中。
//将值 3 加载到累加器 1 中。
>I //扫描检查当前的步进编号是否大于 3。
JC RESET_NUMBER //如果扫描结果为“1”,则跳转至跳转标签“RESET_NUMBER”处并继续进行程序处理
BEU //块结束
RESET_NUMBER: L 0 //跳转标签“RESET_NUMBER”
//将值“0”加载到累加器 1 中。
T "NUMBER" //将值“0”分配给操作数“NUMBER”(步进编号)。
BEU //块结束
ERROR: NOT //跳转标签“ERROR”
= "Tag_Error" //将 RLO 取反后分配给操作数“Tag_Error”。
BEU //块结束






审核编辑:刘清

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

    关注

    2550

    文章

    50997

    浏览量

    752954
  • plc
    plc
    +关注

    关注

    5010

    文章

    13263

    浏览量

    462915
  • STL
    STL
    +关注

    关注

    0

    文章

    86

    浏览量

    18319
  • 步进控制
    +关注

    关注

    0

    文章

    11

    浏览量

    7474
  • 累加器
    +关注

    关注

    0

    文章

    50

    浏览量

    9446

原文标题:西门子博途:STL 步进顺序程序的示例

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

收藏 人收藏

    评论

    相关推荐

    三菱脉冲指令被停止后异常,无法正常启动,注意STL和DPLSR脉冲指令的冲突 相关资料分享

    硬件:三菱FX1s-20MT-001软件:GX Developer8.52E程序:开平功能:按下“自动”进入STL自动循环,按下“停止”按钮置所有S状态为0,脉冲发送也会被终止,送料也会被停止
    发表于 07-05 06:29

    步进电机的五根线有什么顺序吗?

    80c52和ULN2003控制步进电机转动这里只做最简单的叙述。步进电机的五根线的顺序应该为:红色和蓝色位于两端。只需要这两个标识就足够。将红色接**+5V**。然后查板子的线路图,我查我的板子得到
    发表于 07-08 07:12

    X-CUBE-STL与ARM的STL的区别是什么?

    大家好,我正在做一些关于 STL 的研究。STM 的 X-CUBE-STL 产品与 ARM STL 库有何不同?你为什么要用一个而不是另一个?
    发表于 12-02 07:18

    STEP7 STL语句表编程使用手册

    本手册是用STL语句表编程语言编制用户程序的用户指南。 本手册也包括描述STL语言元素的语法和功能的参考章节
    发表于 03-10 16:05 197次下载
    STEP7 <b class='flag-5'>STL</b>语句表编程使用手册

    PLC控制系统设计教程: 加热炉送料系统——仿STL指令的编程方式梯形图举例

    对于没有STL指令的PLC,也可以仿照STL指令的设计思路来设计顺序控制梯形图,这就是下面要介绍的仿STL指令的编程方式。
    发表于 07-28 16:03 2725次阅读

    顺序功能图编制梯形图程序的主要方法“步进指令编程”

    步进指令编程也是一种根据顺序功能图编制梯形图程序的主要方法之一。
    的头像 发表于 12-20 15:17 2.3w次阅读
    <b class='flag-5'>顺序</b>功能图编制梯形图<b class='flag-5'>程序</b>的主要方法“<b class='flag-5'>步进</b>指令编程”

    PLC梯形图转换成STL程序

    想实现只用STL显示,而不能转化为梯形图,在一个NETWORK内多写几个逻辑操作即可,当然这要先选择用STL编写程序
    发表于 03-23 14:52 4421次阅读
    PLC梯形图转换成<b class='flag-5'>STL</b><b class='flag-5'>程序</b>

    示例SigmaStudio程序

    示例SigmaStudio程序
    发表于 03-23 18:25 15次下载
    <b class='flag-5'>示例</b>SigmaStudio<b class='flag-5'>程序</b>

    《我和 LabVIEW》示例程序分享

    《我和 LabVIEW》示例程序分享
    发表于 12-07 17:30 18次下载

    怎样使用STL函数控制传送带?有哪些步骤?

    STL (语句列表)是一种基于文本的编程语言,可用于编写逻辑块。STL 程序程序段的形式组成。
    的头像 发表于 07-25 17:43 855次阅读
    怎样使用<b class='flag-5'>STL</b>函数控制传送带?有哪些步骤?

    如何显示STL程序程序状态呢?

    在表中循环更新并显示程序的状态。执行 STL 程序后立即显示这些表格。并读取程序每一行的执行状态。显示内容取决于所用的 CPU(S7-300、S7-400 或 S7-1500)。
    的头像 发表于 08-23 10:31 1011次阅读
    如何显示<b class='flag-5'>STL</b><b class='flag-5'>程序</b>的<b class='flag-5'>程序</b>状态呢?

    如何在STL中的EN/ENO机制仿真示例呢?

    STL 程序块调用的程序块不提供 EN 和 ENO 参数。无论创建程序块时采用何种编程语言,都可通过状态字的 BR 位将错误语句传送到 STL
    的头像 发表于 09-01 09:45 1053次阅读

    C++中STL容器中的常见容器及基本操作

    一、什么是容器? 所谓容器,就是可以承载,包含元素的一个器件,它是STL六大组件之一,是容器、算法、迭代器中最重要也是最核心的一部分。 二、STL中各大容器的结构与分类 2.1 顺序性容器
    的头像 发表于 11-10 11:23 462次阅读
    C++中<b class='flag-5'>STL</b>容器中的常见容器及基本操作

    STL内容介绍

    1 什么是STLSTL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库。它被容纳于C++标准程序库(C++ Stand
    的头像 发表于 11-13 11:32 827次阅读
    <b class='flag-5'>STL</b>内容介绍

    PLC工程示例步进电机启停

    电子发烧友网站提供《PLC工程示例步进电机启停.rar》资料免费下载
    发表于 06-11 09:09 8次下载