登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:关于高速计数剔除的问题

点击:2155 回复:13

用三个电眼分别检测饮料瓶的来料、液位、瓶盖,检测到无盖或者低液位时剔除,由于剔除装置在检测电眼后方一定距离,现在加了一个增量式编码器测速,延后100个脉冲剔除。在10m内剔除20个则报警。请问程序这样写可以吗?
附件 1.jpg
附件 2.jpg
附件 3.jpg
附件 4.jpg
附件 5.jpg
19-09-26 16:42
高速计数剔除,检测饮料瓶,增量式编码器,100个脉冲剔除,10m内剔除20个则报警
既然是饮料瓶,起码在50mm,编码器用多少脉冲不明,100个脉冲之间会有多少个饮料瓶又是未知,传送速度还是未知。
10分钟内有20个剔除就报警,传送速度不快
三个电眼,估计就是普通的光电传感器,再次说明传送速度不快,为啥用编码器(别说用的是10个脉冲编码器),为啥用高速计数?
我认为用普通输入口足以
可以这样做
做(或买)个码盘(编码器),脉冲间隔在瓶间隔1/2-1/3,一个瓶有2-3个脉冲,最差有1个,称它为"移位脉冲A"。
用这个A脉冲信号控制“移位指令”,位数要包含NG瓶检测点到"剔除位置C"(例如你的100脉冲),称为"移位数据链B"
A与NG信号置“1”到B首位,这个“1”随着脉动的A,在数据链B中移动到剔除位置C,你就在C位置瞄着,见到“1”就短平快的给它一炮表情,欧拉
类似控制用高速计数忒累
19-09-27 10:35
不好意思说错了,36000瓶每小时左右,10s内剔除20个会报警,流水线速度还是很快的。传感器能跟上流水线,现在编码器只接了一个A相计脉冲数。最开始程序是有一个剔除信号,就读取当前脉冲数,然后加100脉冲,当CH0等于这个值的时候输出一个剔除信号,测试结果高低速下剔除位置有偏差。有什么办法改进吗?
19-09-27 13:41
用的多少脉冲,运行最高时编码器转速,编码器转一周会经过几个连续瓶
请分别确认
附件 image.jpg
确认NG产品
附件 image.jpg
剔除NG时再复位?
100个脉冲之间不能有NG品,这之间没瓶子,不可能吧
“有一个剔除信号,就读取当前脉冲数,然后加100脉冲,当CH0等于这个值的时候输出一个剔除信号,测试结果高低速下剔除位置有偏差。”
只是有偏差,没有漏剔?解决办法用“位置”,改“等于”为“范围”,某速度剔除时机合适,速度提高就剔早,速度低了就迟后,没错吧。
解决办法
改控制为位置控制,见上贴陈述。
或改为“试教”方式,这种缺点,速度一变就要教一遍,除非你固定几个速度让客户选。
19-09-27 14:58
谢谢师傅!!!我有点理解了。就是譬如当100≤CH0≤200的时候,剔除气缸动作是吧?
另外如果在这个期间,又有一个剔除信号呢,怎么处理?程序要怎么编写呢
19-09-27 15:20
先前有4个问题,都没有回复
换成欧姆龙PLC怎样
19-09-27 15:29
现在硬件都已经在现场安装好了,忽然要换PLC的话可能过不了表情
19-09-27 19:28
哈哈 我只是用欧PLC做过类似项目,隔行不隔理你慢慢体会。
假设从检测位置到剔除位置可以放10个瓶子
你要有10个标记的,比如M1.0,M1.1,......M1.9作为“剔除信号”
程序中这些“剔除信号”分别启动各自的+100脉冲程序,最后剔除NG产品,复位对应的“剔除信号”
这段程序不难写。
关键在那10个“剔除信号”如何置为“1”。
要不打架,不遗漏,错位到无所谓。不用解释吧
还一种方法,通过计算一个瓶占用的编码数据,人为造一个“数据链”移动信号,在用最初说的方法(1楼)
人造脉冲:比如一个瓶占100个脉冲,那就在计数器计数60清一次,同时提供一个脉冲。
注意,高速计数器不受PLC的扫描周期影响,但对程序的时效影响就大了,这就是你速度快慢剔除位置变化的原因。
用CH0>=D即可
放假了,祝你成功
19-09-28 08:39
有多个信号就先入先出;
按36000瓶/H,每瓶100MS的速度,到达位置(100个脉冲处)气缸动作,响应时间20MS,剔除的实际位置是100+个脉冲,可算出运行速度自动调整气缸动作点。
19-09-28 09:01
200有个FIFO指令,用这个搞
19-09-28 14:36

上一页下一页

工控新闻

更多新闻资讯