电子说
原文作者:AB PLC工作室 •公众号:abseMe 在此特别鸣谢!
前言:工业自动化项目的控制逻辑虽然可以层层分解,这样就可以使用大量相对比较简单的编程指令去实现,但是,某些复杂工序很难使用简单指令堆砌而成,这时,如果你掌握高级编程指令,很多问题就迎刃而解。比如,物流生产线要求货物按队列入库,并按照先进先出的规则出库,针对这种应用,罗克韦尔AB LOGIX 5000控制器就有相应的高级指令FIFO去处理,那么,今天,我们就聊聊这个指令的具体应用。
01软件环境
1. 操作系统
Windows 10 专业版 64位 v21H1
2. 虚拟机软件
VMware Workstation Pro 16.2.3
3. 编程软件 Studio 5000 V34.00.00 中文版 4. 仿真软件 FactoryTalk Logix Echo V1.00.00 5. 上位软件 FactoryTalk View Studio V12中文版
02项目场景
1. 某自动化生产线,成品货物要求扫码入库,并按照入库的队列出库,一旦发现出库货物与入库条码不一致时,则发出报警提示,需要人工干预.
2. 针对以上工艺需求,我们设计了罗克韦尔控制系统,并结合倍加福RFID(Radio Frequency Identification)无线电射频技术来实现,其中RFID系统组成如下.
3. 由于工艺要求先扫码入库,再扫码对比出库,所以,需要RFID系统两个读/写头,倍加福就有同时接入两个读/写头的RFID控制器,至此,货物识别解决了,而这些货物数据的采集、分析、对比、处理就要用到AB控制系统了,本项目选用的是ControlLogix 5580控制器,项目系统架构如下图所示.
4. 如上图系统架构所示,1#、2#读写头用于读取安装在货物里面的电子标签,然后将识别到的货物条码通过RFID控制器传输给PLC控制器,本项目使用的1756-L85E用来处理条码数据,将1#读写头过来的条码根据先来后到的原则依次存入数组队列,然后根据2#读写头扫描到条码,对比数组队列的第一个数据,相同放行,不同则报警提示.
03先进先出
1. 我们先来看看前文多次提到的先进先出,英文缩写FIFO,全拼为First Input First Output,这是一种按序执行方法,即先存入的数据先出列,就像大家乘坐高铁过闸机时一样,先排队,然后验证身份依次通过,排在第一位的人通过后,排在第二位的人进入第一的位置,后面的位置也依次前移.
2. AB Logix5000控制器编程软件Studio 5000的FIFO应用包括FFL装载(FIFO Load)、FFU卸载(FIFO Unload)两条指令,它们可以单独使用,也可以配合使用。当FFL与FFU 指令成对配合使用时,以先进先出的顺序存储和检索数据,它们之间将建立异步移位寄存器.
3. FFL装载指令,用于将 Source 值复制到 FIFO。下图黄色背景标注部分为该指令的关键点,FIFO引脚:需关联数组标签,支持SINT/INT/DINT/REAL/字符串/结构数据类型;Control引脚:指令结构体,相当于是指令的背景数据块,用来存储指令的所有信息,当FFL和FFU成对配合使用时,它们使用相同的Control结构体;Position引脚:FIFO指令加载数据的下一个位置.
4. FFU卸载指令,用于将 FIFO中位置 0(第一个位置)的值卸载,FIFO中其余的数据依次前移一个位置。下图青色背景标注部分为该指令的关键点,FIFO引脚:需关联数组标签,当与FFL成对配合使用时,它们关联相同的数组;Control引脚:当与FFL成对配合使用时,它们关联相同的Control结构体.
04
视频讲解
结语:综上所述,本文通用图文+视频的方式,并结合实现的案例应用详细分享了罗克韦尔AB Logix5000控制器编程软件Studio 5000高级指令FIFO的使用,针对某些复杂的功能,高级指令带来的便利性、高效性非常明显,本工作室将在后续的文章陆续分享更多高级指令的应用,方便大家参考。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !