发表于:2024/3/19 14:00:30
#0楼
接上贴:http://bbs.gkong.com/archive.aspx?id=497657
这次一个朋友说给客户厂里流水线增加一个动作,感觉逻辑思路和上贴差不多,这里程序测试感觉是那个样子,所以发出来
工艺要求:流水线增加一个额外动作。入料口加原材料检测传感器,当检测到有就动作。
~~~~~~~~~~~~~~~~~~
方案1:就在增加动作的位置加一个原材料检测传感器检测工件即可
优点:简单,易调整。
缺点:受限现场环境,可能安装原材料检测传感器的位置比较困难;以及和加工动作干涉。
~~~~~~~~~~~~~~~~~~
方案2:在前端增加,原材料检测传感器*1检测工件,记录时间做对比或者延迟动作即可。
优点:相比方案1,更为简单,传感器工件前方任意安装;
缺点:受到主轴速度调整影响;
~~~~~~~~~~~~~~~~~~
方案3:原材料检测传感器*1检测工件,编码器*1,用于记录主轴位置计算动作距离。
优点:相比方案1,更为简单,传感器工件前方任意安装;。
缺点:增加一套编码器以及支架,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
最终,我考虑了方案3,PLC使用的是汇川的EASY 301 最低端的PLC。(4轴,编码器或者脉冲轴)
逻辑如下:
1.根据实际尺寸计算出主轴当前位置:(编码器轴配置,*1编码器一圈的脉冲量按编码器实际参数配置,*2编码器一圈的unit)
做实验测试的是2000P/R,unit我设置的是1000,也就是编码器转一圈,产生1000个用户单位。
上位机输入一圈的实际位移即可。(方便调整),我这里随便设置的是15.5即,编码器一圈是15.5mm
编码器FB块3个目的,A,根据参数求出位置,B,记忆位置(如果传送带停电还可以干),C,当前轴位置设置0点(考虑可能会溢出)。
~~~~~~~~~~~~~~~
2.核心逻辑,
2.1,物料检测,(考虑现场震动等,有消抖<可设置时间>,上升沿输出。
2.2,每检测到一个工件进入,记录2个东西,对应的ID&编号有料ON,对应的位置计算出来。(我这里考虑了16组,也就是传感器-动作位置之间最大16个,PS:其实可以更多的,我用不上)
2.3 如果有料ID=1+ 当前主轴位置>=ID编号对应的位置,
输出ON,并且清除ID有料标志。
PS:输出ON以后,我做了一个定时器,自复位输出BOOL;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
测试无异常:消抖时间0.5S,间隔100.00mm,
1。第一个工件,主轴位置10.17,物料预计位置10.17+100,0#标志=true;
2,第二个工件:主轴位置25.45,物料预计位置125.45,1#标志=true
3,所有标志都存满了,并且对应的标志位=true;
4,主轴达到第一个记录的位置,输出动作,并且清除0#有料标志
5,所有工件全部剔除完毕;
~~~~~~~~~~~~~~~
PS1:如果怕编码器溢出,流水线不是连续的,可以考虑,1,用低分辨率编码器,2,在传感器-动作工位没有工件的情况下可以设置编码器位置为0;
ps2:工件间隔距离一定要保证工位加工完成,不然程序会有BUG,
好了,全文完!
用得上的请点赞,不足的地方,请大佬补充
这次一个朋友说给客户厂里流水线增加一个动作,感觉逻辑思路和上贴差不多,这里程序测试感觉是那个样子,所以发出来
工艺要求:流水线增加一个额外动作。入料口加原材料检测传感器,当检测到有就动作。
~~~~~~~~~~~~~~~~~~
方案1:就在增加动作的位置加一个原材料检测传感器检测工件即可
优点:简单,易调整。
缺点:受限现场环境,可能安装原材料检测传感器的位置比较困难;以及和加工动作干涉。
~~~~~~~~~~~~~~~~~~
方案2:在前端增加,原材料检测传感器*1检测工件,记录时间做对比或者延迟动作即可。
优点:相比方案1,更为简单,传感器工件前方任意安装;
缺点:受到主轴速度调整影响;
~~~~~~~~~~~~~~~~~~
方案3:原材料检测传感器*1检测工件,编码器*1,用于记录主轴位置计算动作距离。
优点:相比方案1,更为简单,传感器工件前方任意安装;。
缺点:增加一套编码器以及支架,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
最终,我考虑了方案3,PLC使用的是汇川的EASY 301 最低端的PLC。(4轴,编码器或者脉冲轴)
逻辑如下:
1.根据实际尺寸计算出主轴当前位置:(编码器轴配置,*1编码器一圈的脉冲量按编码器实际参数配置,*2编码器一圈的unit)
做实验测试的是2000P/R,unit我设置的是1000,也就是编码器转一圈,产生1000个用户单位。
上位机输入一圈的实际位移即可。(方便调整),我这里随便设置的是15.5即,编码器一圈是15.5mm
编码器FB块3个目的,A,根据参数求出位置,B,记忆位置(如果传送带停电还可以干),C,当前轴位置设置0点(考虑可能会溢出)。
~~~~~~~~~~~~~~~
2.核心逻辑,
2.1,物料检测,(考虑现场震动等,有消抖<可设置时间>,上升沿输出。
2.2,每检测到一个工件进入,记录2个东西,对应的ID&编号有料ON,对应的位置计算出来。(我这里考虑了16组,也就是传感器-动作位置之间最大16个,PS:其实可以更多的,我用不上)
2.3 如果有料ID=1+ 当前主轴位置>=ID编号对应的位置,
输出ON,并且清除ID有料标志。
PS:输出ON以后,我做了一个定时器,自复位输出BOOL;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
测试无异常:消抖时间0.5S,间隔100.00mm,
1。第一个工件,主轴位置10.17,物料预计位置10.17+100,0#标志=true;
2,第二个工件:主轴位置25.45,物料预计位置125.45,1#标志=true
3,所有标志都存满了,并且对应的标志位=true;
4,主轴达到第一个记录的位置,输出动作,并且清除0#有料标志
5,所有工件全部剔除完毕;
~~~~~~~~~~~~~~~
PS1:如果怕编码器溢出,流水线不是连续的,可以考虑,1,用低分辨率编码器,2,在传感器-动作工位没有工件的情况下可以设置编码器位置为0;
ps2:工件间隔距离一定要保证工位加工完成,不然程序会有BUG,
好了,全文完!
用得上的请点赞,不足的地方,请大佬补充