回复:产品合格与否的检测先入先出指令使用

学为世用行为世范

  • 帖子

    32
  • 精华

    0
  • 被关注

    32

论坛等级:侠客

注册时间:2011-08-16

普通 普通 如何晋级?

发布于 2017-08-24 21:30:21

5楼

展开查看
以下是引用zhangli0在2017-08-22 22:51:51的发言 >4楼

我认为你做一个db保存fifo的队列,假设你从扫码到剔除之间一共有N个盒子,则队列就保存N个数据,默认数据都是3(不合格)。

然后用中断(中断周期就是盒子经过气缸的时间间隔)处理剔除和检测功能,因为你说的速度是稳定,则在传送带是空的时候,气缸会先动作N-1次(有点恐怖),然后才正常。这样中断程序功能就是:检测fifo队列中的第一个数是不是3,如果是3则伸出1次,然后db的数据前移一个地址,到剩下最后一个地址时数据前移后,应该为空值了,看检测是否合格,合格则最后一个地址写入2否则写入3。

这样,等它到了剔除气缸那里就能判断出是否应该剔除了。

你的扫码结果不应该到数据库而是应该直接到plc,plc处理后发给数据库,这样就不存在掩饰问题了

不知道你的合格标准是什么?换一个思路可能很简单就能解决问题。

气缸动作的起始条件是,当盒子经过第二个传感器的时候,有不合格结果或者有盒子但没有正确与否结果的时候,气缸动作踢出盒子。你说的恐怖不存在。

中断程序的功能你说的和我的想法一致,但我当时的程序是没有放在中断程序里面的,这可能导致不稳定问题的出现。


  关于扫码结果,这个问题有些尴尬,因为我们当时是检测读码的正确性,原始码是放在数据库中的,而当盒子经过扫码枪读到的码,必须传到数据库,进行比对,然后才有结果的正确与否。所谓的合格标准就是读码和原始码比对,如果在数据库中找到相同的码,就合格。找不到就不合格。


其实你说的很对,我把先入先出的相关程序放到中断程序里面,程序的稳定性会提高不少。输送带的速度很快,而盒子经过输送带扫码枪到给出结果,再到第二个传感器,气缸是否动作,这个过程大概平均在140微妙左右。上下差不过10微妙。输送带的速度是65米每秒,而盒子的长度只有15cm.所以中间的时间确实很短。

谢谢你的评论。

感谢各位!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54622条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。