带卡位输送机
需求描述:
输送带控制:输送带定位探头—0号探头,生产工位有无产品检测,(暂定上位机感应器15路探头,,--1-15号探头),即上级工位允许出料信号,(必须从有信号,到无信号,,再到有信号,视为产品储备完成,可以出料),然后按输送带卡槽空位的配对,条件都满足情况下打开出料气缸--1-15号气缸出料,还有一个成品整理气缸--17号气缸,当输送带到位停顿的同时检测有无产品—16号探头,有信号,允许整理气缸启动弹出和收回1—9次来回弹出收回时间可调0.1-9秒,同时给下位机(捆扎工位)一个可动作信号,(捆扎工位需双信号才能动作)
2,输送带启动前首先检测0号探头信号,有信号允许出料和下位机动作,无信号,立即启动送带伺服电机运行,直到0号探头有信号。
3,输送带运行节凑是每卡槽一停顿,停顿时间0.1-10秒,但出料是每两个卡槽一起出(上位机15个工位,每工位用到输送带上两个卡槽,实际是对应30个卡槽)检测上位机有无产品,如有产品,则通过计算把对应的输送带空卡槽停在相应位置。
输送带每运行一个卡位,0号探头有定位感应,16号探头检测到有产品,立即开启17号整理气缸,同时16号探头能否同时给下位机信号
功能分析:
时序逻辑动作步骤:
启动系统:检测X0(启动按钮),激活Y0(振动盘启动)。
检测扎带到位:检测X1(1#探头),有信号则停止振动盘,激活Y1(1#气缸弹出)。
夹取扎带:激活Y2(2#气缸闭合),然后激活Y3(1#气缸收回)。
运送扎带:检测X2(2#探头),有信号则激活Y4(3#气缸弹出)。
拉直扎带:检测X3(3-1#探头),有信号则等待,无信号则激活Y5(3-1气缸弹出)。
捆扎准备:检测X4(3-2#探头),有信号则激活Y6(2#气缸打开),然后激活Y7(3#和3-1气缸同步退回)。
拉直扎带:激活Y8(4#气缸弹出)。
等待捆扎信号:检测X6(上位机捆扎信号),有信号则继续。
产品到位检测:检测X5(5#探头),有信号则激活Y9(5#气缸前进)。
捆扎完成:激活Y10(5#气缸回位),然后激活Y11(4#气缸退回)。
无序组合逻辑动作步骤:
急停和暂停:可以独立于其他步骤,用于紧急情况下停止所有动作。
计数清零:可以独立于其他步骤,用于重置计数器。
时序环0环指令解释:
第00步:等待
第01步:将参数1与参数2的值进行比较作为条件
第02步:将参数1与参数2的值进行比较作为条件
第03步:将参数1与参数2的值进行比较作为条件
第04步:将参数1与参数2的值进行比较作为条件
第05步:将参数1与参数2的值进行比较作为条件
第06步:将参数1与参数2的值进行比较作为条件
第07步:将参数1与参数2的值进行比较作为条件
第08步:将参数1与参数2的值进行比较作为条件
第09步:将参数1与参数2的值进行比较作为条件
第10步:将参数1与参数2的值进行比较作为条件
第11步:将参数1与参数2的值进行比较作为条件
第12步:将参数1与参数2的值进行比较作为条件
第13步:将参数1与参数2的值进行比较作为条件
第14步:将参数1与参数2的值进行比较作为条件
第15步:将参数1与参数2的值进行比较作为条件
第16步:将第0环运行当前帧跳转至第0帧
第17步:触发
第18步:等待
时序环1环指令解释:
第00步:等待
第01步:将参数1与参数2的值进行四则运算后赋值
第02步:将参数1与参数2的值进行四则运算后赋值
第03步:如果
第04步:速度控制_单轴A1 ,寄存器号:G0,寄存器值:3000
第05步:单轴运动,方式:增量,方向:+,轴号A1,寄存器号:W0,寄存器值:5000000
第06步:将参数1与参数2的值进行比较作为条件
第07步:速度控制_单轴A1 ,寄存器号:G5,寄存器值:1000
第08步:等待
第09步:等待
第10步:单轴操作_A1 =紧急停止
第11步:单轴等待-轴号A1,等待轴状态:停止状态
第12步:在此等待0小时0分钟0秒500毫秒
第13步:触发
第14步:等待
第15步:触发
第16步:将参数1与参数2的值进行四则运算后赋值
第17步:速度控制_单轴A1 ,寄存器号:G0,寄存器值:3000
第18步:单轴运动,方式:增量,方向:+,轴号A1,寄存器号:W0,寄存器值:5000000
第19步:将参数1与参数2的值进行比较作为条件
第20步:速度控制_单轴A1 ,寄存器号:G5,寄存器值:1000
第21步:等待
第22步:等待
第23步:单轴操作_A1 =紧急停止
第24步:单轴等待-轴号A1,等待轴状态:停止状态
第25步:将参数1与参数2的值进行四则运算后赋值
第26步:在此等待500毫秒,索引4号通用寄存器
第27步:触发
第28步:如果
第29步:触发
第30步:在此等待200毫秒,索引1号通用寄存器
第31步:触发
第32步:在此等待200毫秒,索引1号通用寄存器
第33步:跳转第[29]帧,计数一次,如果计数大于[3]则向下执行
第34步:触发
第35步:在此等待0小时0分钟0秒500毫秒
第36步:等待
第37步:触发
第38步:等待
第39步:等待
第40步:在此等待0小时0分钟0秒200毫秒
第41步:将第1环运行当前帧跳转至第16帧
时序环2环指令解释:
第00步:等待
第01步:如果
第02步:如果
第03步:如果
第04步:如果
第05步:如果
第06步:如果
第07步:如果
第08步:如果
第09步:如果
第10步:如果
第11步:如果
第12步:如果
第13步:如果
第14步:如果
第15步:如果
第16步:将第2环运行当前帧跳转至第0帧
第17步:如果
第18步:触发
第19步:触发
第20步:将第2环运行当前帧跳转至第2帧
第21步:如果
第22步:触发
第23步:触发
第24步:将第2环运行当前帧跳转至第3帧
第25步:如果
第26步:触发
第27步:触发
第28步:将第2环运行当前帧跳转至第4帧
第29步:如果
第30步:触发
第31步:触发
第32步:将第2环运行当前帧跳转至第5帧
第33步:如果
第34步:触发
第35步:触发
第36步:将第2环运行当前帧跳转至第6帧
第37步:如果
第38步:触发
第39步:触发
第40步:将第2环运行当前帧跳转至第7帧
第41步:如果
第42步:触发
第43步:触发
第44步:将第2环运行当前帧跳转至第8帧
第45步:如果
第46步:触发
第47步:触发
第48步:将第2环运行当前帧跳转至第9帧
第49步:如果
第50步:触发
第51步:触发
第52步:将第2环运行当前帧跳转至第10帧
第53步:如果
第54步:触发
第55步:触发
第56步:将第2环运行当前帧跳转至第11帧
第57步:如果
第58步:触发
第59步:触发
第60步:将第2环运行当前帧跳转至第12帧
第61步:如果
第62步:触发
第63步:触发
第64步:将第2环运行当前帧跳转至第13帧
第65步:如果
第66步:触发
第67步:触发
第68步:将第2环运行当前帧跳转至第14帧
第69步:如果
第70步:触发
第71步:触发
第72步:将第2环运行当前帧跳转至第15帧
第73步:如果
第74步:触发
第75步:触发
第76步:将第2环运行当前帧跳转至第0帧
时序环3环指令解释:
第00步:等待
第01步:将第1环运行当前帧跳转至第26帧
第02步:等待
第03步:等待
第04步:等待
第05步:等待
第06步:等待
第07步:等待
第08步:等待
第09步:等待
第10步:等待
第11步:等待
第12步:等待
第13步:等待
第14步:等待
第15步:等待
第16步:等待
第17步:跳转第[2]帧,计数一次,如果计数大于[2]则向下执行
第18步:将参数1与参数2的值进行四则运算后赋值
第19步:触发
第20步:触发
第21步:将第1环设置成运行状态
时序环4环指令解释:
第00步:等待
第01步:触发
第02步:跳转第[0]帧,计数一次,如果计数大于[1]则向下执行
第03步:触发
第04步:等待
第05步:触发
第06步:等待
第07步:触发
第08步:等待
第09步:触发
时序环5环指令解释:
第00步:等待
第01步:将第0环到第4环设置成停止状态,并返回第0帧
第02步:将第6环到第7环设置成停止状态,并返回第0帧
第03步:单轴操作_A1 =紧急停止
第04步:单轴等待-轴号A1,等待轴状态:停止状态
第05步:触发
第06步:触发
第07步:触发
第08步:等待
第09步:将第0环到第4环设置成运行状态
第10步:将第6环到第7环设置成运行状态
时序环6环指令解释:
第00步:检测第1环 第40帧是否为当前运行帧
第01步:等待
第02步:将第0环到第4环设置成暂停状态,停在当前帧
第03步:将第7环设置成暂停状态,停在当前帧
第04步:单轴操作_A1 =暂停运行
第05步:单轴等待-轴号A1,等待轴状态:停止状态
第06步:触发
第07步:触发
第08步:等待
第09步:单轴操作_A1 =恢复运行
第10步:触发
第11步:将第0环到第4环设置成运行状态
第12步:将第7环设置成运行状态
时序环7环指令解释:
第00步:等待
第01步:如果
第02步:触发
第03步:等待
第04步:触发
第05步:等待
第06步:在此等待0小时0分钟0秒300毫秒
第07步:等待
第08步:触发
第09步:等待
组1指令解释:
自定义
组2指令解释:
:(组长)如果
:(组员)触发
组3指令解释:
:(组长)如果
:(组员)触发
组4指令解释:
:(组长)如果
:(组员)触发
组5指令解释:
:(组长)如果
:(组员)触发
组6指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组7指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组8指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组9指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组10指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组11指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组12指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组13指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组14指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组15指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组16指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组17指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组18指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组19指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组20指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组21指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组22指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组23指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组24指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组25指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组26指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组27指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组28指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组29指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组30指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<2.00>秒
:(组员)触发
组31指令解释:
自定义
组32指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组33指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组34指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组35指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组36指令解释:
:(组长)如果
:(组员)如果
:(组员)触发
组37指令解释:
:(组长)如果
:(组员)如果
:(组员)等待保持<0.30>秒
:(组员)触发



想了解更多JENASI(简纳思)PLC控制逻辑,请持续关注我们
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/197542.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论