一种机器视觉检测设备运行异常的诊断方法与流程

文档序号:14689611发布日期:2018-06-15 16:02阅读:450来源:国知局

本发明涉及一种检测设备运行异常的诊断方法。



背景技术:

目前愈来愈多的厂家采用基于电脑和PLC的机器视觉检测设备在工业生产线上对产品的品质进行检测。此类检测设备中的PC端安装有机器视觉检测软件,负责对相机获取的产品图片进行分析,判断其是否属于缺陷品;设备内的PLC主要负责产品通过时的触发相机拍照及控制缺陷品剔除机构将合格品与不合格品进行分拣。

在一般工业现场,PC端检测软件检测出不良品后,会通过IO卡发出一个电平线号输出给PLC,或是由串口、以太网口向PLC固定地址发送定义后的值,告知PLC当前产品为不良产品。此种方式在技术上存在以下几种问题:1、计算机发送检测结果信号延时问题和丢信号问题。2、PLC延时接收检测结果信号。3、PLC计数与检测软件发送信号个数存在差异。当一旦出现以上三种情况后,PLC在本应该执行剔除动作时,没有接收到计算机发送的不良信号无法正常剔除的情况,导致检测设备在运行过程中出现误检和漏检的情况。在正常生产过程中,给产品质量带来隐患。



技术实现要素:

针对上述问题,本发明的目的是克服现有技术的上述不足,提供一种检测设备运行异常的自诊断方法。本发明为机器视觉检测设备内部PC的PLC系统之际设计一种通讯校验规则,该规则能有效解决检测设备内部PC与PLC系统之间的通讯不同步问题,有利于设备对良品和不良品的准确分拣,同时PLC端还能通过这个规则对PC端检测软件的运行状况进行监控。

为实现上述目的,本发明采取以下技术方案:

一种基于PLC串口通讯的机器视觉检测设备运行异常的诊断方法,包括下列几个方面:

1)PC端:

对相机获取的待检测物体的每张图片都进行编号处理,编号从0到64循环,开始检测时将编号强制为0,然后每采集一张图,图片编号就加1;编号到64后,下一张图片编号又从0开始,这样周而复始;每张带着编号的图片可以在不同的检测线程中进行检测,当每个检测线程检测完成后,将每张图片的检测结果按照下述规则进行编码:前两位为图片编号,后两位为检测结果:良品为01、不良品为02;将这个编码按照检测完成的先后时序顺序从后端压入检测结果堆栈。

开辟检测结果发送线程:负责定时扫描上述结果堆栈,当扫描结果堆栈中有编码数据时,从堆栈前端将数据取出,当扫描到结果堆栈中没有编码数据时,生成一个新的编码,编码的生成规则为头两位为上次发送的编码数据的图片编号,后两位为64;将取出或新生成的编码数据通过串口发送到PLC指定的检测结果储存地址。

2)PLC端

当触发传感器感应到待检物体并传输给PLC的输入端,PLC控制相机拍照,在发出拍照信号的同时,对每一个拍照信号都进行编号处理,拍照编号从0到64循环,当检测软件开始检测时将编号强制为0,然后控制拍照一次,拍照编号就加1;编号到64后,下一张编号又从0开始,这样周而复始;建立一个从0到64的一个拍照信号堆栈,在拍照编号加一的同时,以当前时刻为基准加上一个待检物体从触发传感器运动到剔除位置所需要的时间,得出剔除位置的时刻码值,将时刻码值以堆栈的形式依次压入剔除时刻堆栈,剔除时刻堆栈的个数为64,当拍照编号加一时,就会压入一个剔除时刻码值,与拍照编号是一一对应的。

开辟编号为0到64的检测结果储存地址,当PLC接收PC端发出的检测结果时,PLC会解析出当前检测结果的编号,然后将此检测结果按照编号存放入与PLC内编号相同的检测结果储存地址;待检测物体伴随着PLC内部时钟运行到气缸剔除位置时,此刻内部时钟与剔除时刻堆栈最下方的剔除时刻码值相比较,如果两个时间相同时,认定待检物体已经移动到了剔除气缸的位置上;PLC将查阅到与这个剔除时刻码值同时进入拍照信号堆栈的编号,根据此编号在检测结果储存地址内寻址,如果读取到检测结果标识其为不良品,随后PLC控制剔除气缸将此不良品进行剔除。

3)PC端与PLC端通讯异常的自动诊断及自修复

PLC读取检测结果存储地址的编码,如果出现结果为00的情况,当做信号异常处理,将此待检物体强制剔除,如果多次读取结果均为00时,认为PC端软件或通讯上已经出现异常情况,PLC会强制重启和重新开始检测,之前通过的待检物体均强制剔除保证出现漏检。

4)PC端与PLC端图片编号不统一的自动诊断

当PLC在剔除位置解析结果发现结果编号与拍照信号堆栈序号不同时,会将此检测物体强制剔除,然后强制停止触发相机拍照等待一段时间,之后PC端发出最后一个出堆栈的序号带64校验位的结果,PLC将以这个检测结果堆栈序号为基准,强制校验PLC拍照序号堆栈,使其保持一致,并将在停止拍照的一段时间内通过相机的待检物体全部强制剔除,以防有漏检发生。

本发明由于采取以上技术方案,其具有以下优点:

(1)本发明通过PC端和PLC端的对应编码能发现设备自身的串口通讯异常而进行自修复。

(2)本发明能时时实现PC端与PLC端之间相对检测物之间的编号是否同步,能在即使偶尔出现有误触发的情况下,第一时间进行自校正,防止缺陷产品的漏剔除。

具体实施方式

下面分别就PC端检测软件、PLC端的编码规则以及PC与PLC之间的通讯规则进行描述。

PC端检测软件:

对相机获取的每张图片都进行编号处理,编号从0到64循环,当检测软件开始检测时将编号强制为0,然后每采集一张图,图片编号就加1;编号到64后,下一张图片编号又从0开始,这样周而复始。每张带着编号的图片可以在不同的检测线程中进行检测,当每个检测线程检测完成后,将每张图的检测结果按照下述规则进行编码:前两位为图片编号,后两位为检测结果,良品为01、不良品为02。比如第13号图片检测为不合格,则其编码为1302。将这个编码按照检测完成的先后时序顺序从后端压入堆栈。在每次检测软件开始检测时,清空该结果堆栈。

检测软件有单独的检测结果发送线程,其在软件开始检测的时候就启动,该线程负责定时扫描上述结果堆栈。当扫描结果堆栈中有编码数据时,从堆栈前端将数据取出,当扫描到结果堆栈中没有编码数据时,将生成一个新的编码,编码的生成规则为头两位为上次发送的编码数据的图片编号,后两位为64。比如上个扫描周期扫描时从结果堆栈中取出的数据为1301,这次扫描发现结果堆栈中没有编码数据,那么生成的新的编码数据为1364。该结果发送线程将取出或新生成的编码数据通过串口发送到PLC指定的结果接收地址。该线程定时扫描结果堆栈的时间周期一般可以设置为150ms左右,能满足大部分PC与PLC之间的串口通讯要求。

PLC端

对于PLC端来讲,当触发传感器感应到待检物体后,传感器发出电平信号传输给PLC的输入端,PLC通过信号保持和滤波后,延时发出电平信号控制相机拍照。在发出拍照信号的同时,对每一个拍照信号都进行编号处理,编号从0到64循环,当检测软件开始检测时将编号强制为0,然后控制拍照一次,拍照编号就加1;编号到64后,下一张编号又从0开始,这样周而复始。PLC会建立一个从0到64的一个拍照信号堆栈,同时在拍照编号加一的同时,以当前时刻为基准加上一个待检物从触发传感器运动到剔除位置所需要的一个时间,得出一个剔除位置的时刻码值,将码值以堆栈的形式依次压入剔除时刻堆栈,堆栈的个数为64,当拍照编号加一时,就会压入一个剔除时刻码值,实际上是与拍照编号是一一对应的。

在PLC接收结果的问题上,PLC开辟出一个编号为0到64的检测结果储存地址,例如:编号1地址、编号2地址……直到编号64的地址。当PLC接收计算机发出的检测结果时,PLC会解析出当前检测结果的编号是多少,然后将此检测结果按照编号存放入与PLC内编号相同的检测结果储存地址。例如:计算机收到第15个待检测物体的检测图片,经过软件图像处理后,生成了编号为1502的编码发送给PLC。待检测物体伴随着PLC内部时钟的延续向前运行,当运行到气缸剔除位置时,此刻内部时钟与剔除时刻堆栈最下方的剔除时刻码值相比较,如果两个时间基本相同时,我们就可以认定待检物体已经移动到了剔除气缸的位置上,这时PLC将查阅到与这个剔除时刻码值同时进入拍照信号堆栈的编号是15,那么PLC根据此编号去寻址检测结果储存地址内编号为15的地址,解析地址内到编码内为1502,说明此待检物体是一个不良品,随后PLC控制剔除气缸将此不良品进行剔除。

通过以上软硬件全新的编号通讯方式,彻底解决了以下几种在一般通讯中出现的问题,1、串口通讯信号颠倒发送问题,例如先检测的图片结果比后检测的图片结果落后发送,因为没有编号控制,PLC会认为先收到信号一定是前面待检物体的检测信号,这样就出现了信号紊乱的情况。2、检测信号出现丢失的话,因为没有对应编号,该收到的不良信号没有收到,所以出现了漏检的故障发生。3、增加了设备对不良品的剔除距离,因为堆栈区有64个堆栈位相互对应,比起传统的PLC单通道结果处理,更加游刃有余。

同时,在通讯的过程中,我们也根据其特性发明出一套信号异常自修复的方法。

PC端与PLC端通讯异常的自动诊断及自修复

在设备运行中,可能会出现软件检测异常或是计算机异常的情况,一旦出现此类异常,软件会停止向PLC发送信号,或发送结果为00的信号。

为了解决以上问题,在软件接收到图片后,向PLC发送一个与当前图片相对应的编号码值,PLC收到这个信号后会经过解析后会根据编号放在与其编号相同的结果存储地址中。到剔除位置时,PLC读取结果存储地址的编码,如果出现结果为00的情况,我们会当做信号异常处理,将此待检物体强制剔除。如果多次读取结果均为00时,这说明计算机软件或通讯上已经出现了异常情况,PLC会强制重启计算机及软件,重启后重新开始检测,开始检测同时对计算机和PLC内部所有堆栈清0,使软件正常工作,其中通过的待检物体均强制剔除保证出现漏检。

PC端与PLC端图片编号不统一的自动诊断及自修复

在设备运行中,可能出现PC端图片编号和PLC拍照编号不统一的情况,比如当设备生产过程中,传感器感有待检测物体通过时,PLC在自己的触发计数堆栈中累加,并且发出控制相机拍照的电平信号,但是相机可能因为信号干扰或相机停机等其他异常情况,导致相机并没有执行拍照动作,或者多次拍照,相机没有采集或多采集了图片。计算机检测图片的个数一定和PLC发出的拍照信号数量不相符,当PLC读取检测结果时一定不是真正当前待检物体的真实结果,因为以上异常导致漏检和误检。为了解决以上故障情况,我们又发明了两种计算机和PLC之间编号的校验方法。

条件校验:根据以上检测软件64校验编码的特性,当触发传感器和剔除气缸之间没有待检物体通过时,此时PLC又收到了上一张图片编号带64的编码数据,PLC会以结果编号为基准强制校验PLC内部的拍照信号堆栈。例如:此时传感器和剔除位置之间无待检物体,同时计算机又向PLC发送当前序号为12带64校验位的一个信号,即1264,PLC接收到此结果后,经过解析后,得知当前图像为12,收到结果为64的校验位,PLC会校验与计算机序号,用计算机当前序号12为基准,强制更改PLC当前拍照信号堆栈,从而保证下一次在读取结果时,能与软件编号一一对应。达到PLC与计算机堆栈序号的统一,进而实现条件校验的目的。

实时校验:当PLC在剔除位置解析结果发现结果编号与自己的拍照信号堆栈序号不同时,会将此检测物体强制剔除,然后强制停止触发相机拍照等待300ms以上的时间,300ms以后计算机会发出最后一个出堆栈的序号带64校验位的结果,PLC将以这个检测结果堆栈序号为基准,强制校验PLC拍照序号堆栈,使其保持一致。在停止拍照的300ms内通过相机的待检物体全部强制剔除,以防有漏检发生。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1