PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 55|回复: 0

[西门子] 西门子 200smart SHRB移位寄存器指令编程运用实例

[复制链接]
发表于 2024-7-10 19:46:15 | 显示全部楼层 |阅读模式
>
在前面的篇幅中我们学习了《西门子 200smart顺序控制编程》的方式来实现简单的机械手夹取搬运物料的案例,而通过移位寄存器指令也可以实现顺序控制方式的编程,很大程度上简化了编写程序的长度。


移位寄存器(SHRB)指令将DATA数值移入移位寄存器。DATA为移位寄存器的数据输入来源端,S_BIT指定移位寄存器开始的最低位。N指定移位寄存器的长度和移位的方向,当N是正的为左移,从低位移到高位(例如M0.0往M0 7的方向移位),当N是负数为右移,就从高位移到低位(例如M0.7往M0 0的方向移位)。



EN为使能输入端,连接移位脉冲信号,每次EN使能有效时,整个移位寄存器向左或者向右移动1位。移位寄存器的最大长度为64位。移出移位寄存器的最高指定位值放在溢出存储器位SM1.1中。
移位寄存器指令编程案例

1、机械手从A地向B地物料搬运过程

案例项目中利用中压式双向电磁阀推动气缸来完成,关于中压式双向电磁阀的相关知识,参考《电磁阀的工作原理及选型》。当电磁阀线圈断电时,仍保持现有动作。



​​流程解析:1、由于机械手初始状态处于原点,V100.0接通,按下启动按钮I0.0产生移位信号使能,将V100.0为1的状态移位使得V100.1为1。



2、V100.1为1,机械手下降电磁阀接通下降抓取物料,到达下限位检测I0.6接通,产生移位信号使能,V100.1为1的状态移位使得V100.2为1,由于上升限位条件不再满足,V100.0为0的状态移位使得V100.1为0,机械手下降电磁阀断电,机械手停止下降。



3、V100.2为1,机械手夹紧电磁阀接通抓取物料,到达夹紧检测I1.0成立后延时0.5秒,计时器T37导通产生移位使能,V100.2为1的状态移位使得V100.3为1,V100.1为0的状态移位使得V100.2为0,由于采取置位方式,即使V100.2为0,夹紧电磁阀任然处于的电抓取物料状态,防止物料在搬运过程中掉落,V100.0为0的状态移位使得V100.1为0。



4、V100.3为1,机械手上升电磁阀接通抓取物料上升,到达上升检测位置后,I0.6导通产生移位使能,V100.3为1的状态移位使得V100.4为1,V100.2为0的状态移位使得V100.3为0,机械手上升电磁阀断电机械手停止上升,V100.1为0的状态移位使得V100.2为0,由于采取置位方式,即使V100.2为0,夹紧电磁阀任然处于的电抓取物料状态,防止物料在搬运过程中掉落,尽管此时机械手硬件位置处于原点满足条件状态,由于移位寄存器位值处于为1状态,V100.0任然为0,移位使得V100.1为0。


5、V100.4为1,机械手右行电磁阀接通抓取物料右行,到达右限位检测位置后,I0.5导通产生移位使能,V100.4为1的状态移位使得V100.5为1,V100.3为0的状态移位使得V100.4为0,机械手右行电磁阀断电机械手停止右行,V100.2为0的状态移位使得V100.3为0,V100.1为0的状态移位使得V100.2为0,由于采取置位方式,即使V100.2为0,夹紧电磁阀任然处于的电抓取物料状态,防止物料在搬运过程中掉落,V100.0为0移位使得V100.1为0。


6、V100.5为1,机械手下降电磁阀接通抓取物料下降,到达下限位检测位置后,I0.6导通产生移位使能,V100.5为1的状态移位使得V100.6为1,V100.4为0的状态移位使得V100.5为0,机械手下降电磁阀断电机械手停止下降,V100.3为0的状态移位使得V100.4为0,V100.2为0的状态移位使得V100.3为0,V100.1为0的状态移位使得V100.2为0,由于采取置位方式,即使V100.2为0,夹紧电磁阀任然处于的电抓取物料状态,防止物料在搬运过程中掉落,V100.0为0移位使得V100.1为0。


7、V100.6为1,机械手夹具松开电磁阀接通释放物料,到达松开I1.1检测位置后,松开到位延时计时器T38导通产生移位使能,V100.6为1的状态移位使得V100.7为1,V100.5为0的状态移位使得V100.6为0,V100.4为0的状态移位使得V100.5为0,V100.3为0的状态移位使得V100.4为0,V100.2为0的状态移位使得V100.3为0,V100.1为0的状态移位使得V100.2为0,V100.0为0移位使得V100.1为0。


8、V100.7为1,机械手上升电磁阀接通机械手上升,到达上升检测位置后,I0.6导通产生移位使能,V100.7为1的状态移位使得V101.0为1,V100.6为0的状态移位使得V100.7为0,机械手停止上升,V100.5为0的状态移位使得V100.6为0,V100.4为0的状态移位使得V100.5为0,V100.3为0的状态移位使得V100.4为0,V100.2为0的状态移位使得V100.3为0,V100.1为0的状态移位使得V100.2为0,V100.0为0移位使得V100.1为0。


9、V101.0为1,机械手左移电磁阀接通机械手左移,到达左限位检测位置后,I0.4导通产生移位使能,V101.0为1的状态移出到溢出存储器SM1.1中。V100.7为0的状态移位使得V101.0为0,机械手停止左移,V100.6为0的状态移位使得V100.7为0,V100.5为0的状态移位使得V100.6为0,V100.4为0的状态移位使得V100.5为0,V100.3为0的状态移位使得V100.4为0,V100.2为0的状态移位使得V100.3为0,V100.1为0的状态移位使得V100.2为0,V100.0为0移位使得V100.1为0。移位寄存器全部复位,机械手回到原点位置V100.0为1,按下启动按钮,机械手重复上述过程。

​​2、5台电动机的顺序启动及逆序停止

按下启动按钮I0.0,电动机按照M1-M5的顺序启动,间隔时间为10秒,需要停机时,5台电动机按照M5-M1的顺序逆序停止,间隔时间为10秒。


​流程解析:在PLC上电的初始扫描周期,利用MOV指令清空VB0,按下启动按钮I0.0后,M0.0置位的电,M0.0作为移位寄存器DATA的输入端,第一次按下启动按钮后,将M5.0的置位状态移位到V0.0进行第一次移位,T39每隔10秒进行一次。V0.0即第控制一台电动机的运行状态。按下停止按钮后,将M5.0为0的状态移位到V0.5进行第一次移位,T40每间隔10秒进行一次右移位,执行复位操作(注意:上述控制程序段在电机未到达5台全部运行时,按下停止按钮时,间隔10秒时间上有偏差,需要进行程序优化,这里仅仅是为了说明指令的操作用法案例)。
​​3、在第5工位上利用气缸顶出不合格的工件
在旋转圆盘第一工位上有一个检测物料到位传感器I0.0,有物料时为1。另一个传感器I0.1用来检测物料的好坏,若I0.1为0则产品是好的,若I0.1为1则产品是不良品。在第5工位有一个踢出不良品的气缸Q0.0。若检测的产品为不良品时,气缸动作,产品被推出至不良品箱,0.5s后气缸退回,圆盘继续旋转工作。



流程解析
每次当有物料到位信号I2.0来临时,将良品检测信号I2.1的检测结果分别移入1号工位V200.1、2号工位V200.2、3号工位V200.3、4号工位V200.4、5号工位V200.5,移位方向是左移。V200.5为1时,表示当前第5工位对应为不良品。所有圆盘工序动作完成后,进行下一步逻辑编程操作。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-8-15 06:22 , Processed in 0.043519 second(s), 26 queries .

快速回复 返回顶部 返回列表