设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
巧用“先入先出”指令,掌握设备顺序启动编程 ...
返回列表
发新帖
[西门子]
巧用“先入先出”指令,掌握设备顺序启动编程
[复制链接]
206
|
0
|
2024-6-26 09:19:10
|
显示全部楼层
|
阅读模式
>导读:我记得之前发过一篇文章是关于“随机启停”的编程程序思路,文章发布后,有老铁觉得思路太复杂了说是建议使用“先入先出”指令,感谢老铁的建议,我那就写一篇“先入先出”指令来控制电机的程序,大家碰到类似的问题看看是否可以借鉴,比如包裹分拣项目、物料自动剔除等项目应该会用到类似的场景。
如图所示,设备上总共有7台电机,每台电机对应一个启动按钮,当操作人员任意按下几个按钮后,再按下总启动按钮,将自动按顺序依次启动操作人员所按下按钮的对应电机。每台电机启动时间间隔2秒。按下停止按钮立刻全部停止。
2.程序段1是每个扫码周期都复位两个标志位
3.程序段2是存储数据的过程:先判断哪个按钮按下了,当I0.0按下时,将“1”写入到“存入或取出的数据”的地址中,每按一次存一个数据。同时也要置位“A.触发”和“A.存取触发”这个两个标志位,相当于是把每次按下的按钮数据存储到“数据队列”中。第一次按下,将数据存储到“数据队列”中的第一个元素中;第二次按下,将数据存储到“数据队列”中的第二个元素中,依次类推!
4.程序段3:判断是否按下“总启动”,按下之后如果按钮记忆次数不等于1则自锁并清空相关寄存器数据。同时,定时器开始延时,以2秒为周期循环。每循环一次则要记忆已运行的总台数,当已运行的台数大于按钮按下的次数则数据清零为下次启动做准备。
5.程序段4是取出数据:当总启动标志位接通,数据在取出模式(也就是出栈),每读取一次数据都会存入到“A.存入或取出的数据”,通过比较判断本次取出的数据是哪个则启动哪个电机。
6.程序段5是调用先入先出指令,此指令我们需要激活“excute”管脚和“mode” 管脚。当“mode”变量等于“TRUE”,同时激活“excute”管脚时,往队列中的一个元素中存一个数据(buffer),数据的来源是“item”; 当“mode”变量等于“FALSE”,同时激活“excute”管脚时,往队列中(buffer)的取出一个数据,放入到“item”中,如图所示
写在最后:如果文章对您有所启发,帮忙点个“赞”和“在看”呗!!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
PLC工业机器人
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』