本发明专利技术涉及一种基于PLC串口通讯的机器视觉设备通讯校验方法,包括下列几个方面:1)PC端:对相机获取的待检测物体的每张图片都进行循环编号,将每张图片的检测结果编码并先后时序顺序从后端压入检测结果堆栈。开辟检测结果发送线程。2)PLC端:对每一个拍照信号都进行循环编号,并建立剔除时刻堆栈。
【技术实现步骤摘要】
基于PLC串口通讯的机器视觉设备通讯校验方法
本专利技术涉及一种检测设备运行异常的诊断方法。
技术介绍
目前愈来愈多的厂家采用基于电脑和PLC的机器视觉检测设备在工业生产线上对产品的品质进行检测。此类检测设备中的PC端安装有机器视觉检测软件,负责对相机获取的产品图片进行分析,判断其是否属于缺陷品;设备内的PLC主要负责产品通过时的触发相机拍照及控制缺陷品剔除机构将合格品与不合格品进行分拣。在一般工业现场,PC端检测软件检测出不良品后,会通过IO卡发出一个电平线号输出给PLC,或是由串口、以太网口向PLC固定地址发送定义后的值,告知PLC当前产品为不良产品。此种方式在技术上存在以下几种问题:1、计算机发送检测结果信号延时问题和丢信号问题。2、PLC延时接收检测结果信号。3、PLC计数与检测软件发送信号个数存在差异。当一旦出现以上三种情况后,PLC在本应该执行剔除动作时,没有接收到计算机发送的不良信号无法正常剔除的情况,导致检测设备在运行过程中出现误检和漏检的情况。在正常生产过程中,给产品质量带来隐患。
技术实现思路
针对上述问题,本专利技术的目的是克服现有技术的上述不足,提供一种基于PLC串口通讯的机器视觉设备通讯校验方法。本专利技术为机器视觉检测设备内部PC的PLC系统之际设计一种通讯校验规则,该规则能有效解决检测设备内部PC与PLC系统之间的通讯不同步问题,有利于设备对良品和不良品的准确分拣。为实现上述目的,本专利技术采取以下技术方案:一种基于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内部时钟运行到气缸剔除位置时,此刻内部时钟与剔除时刻堆栈最下方的剔除时刻码值相比较,如果两个时间相同时,认定待检物体已经移动到了剔除气缸的位置上。具体实施方式下面分别就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、增加了设备对不良品的剔除距离,因为堆栈区有本文档来自技高网...
【技术保护点】
1.一种基于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内部时钟运行到气缸剔除位置时,此刻内部时钟与剔除时刻堆栈最下方的剔除时刻码值相比较,如果两个时间相同时,认定待检物体已经移动到了剔除气缸的位置上。...
【技术特征摘要】
1.一种基于PLC串口通讯的机器视觉设备通讯校验方法,包括下列几个方面:1)PC端:对相机获取的待检测物体的每张图片都进行编号处理,编号从0到64循环,开始检测时将编号强制为0,然后每采集一张图,图片编号就加1;编号到64后,下一张图片编号又从0开始,这样周而复始;每张带着编号的图片可以在不同的检测线程中进行检测,当每个检测线程检测完成后,将每张图片的检测结果按照下述规则进行编码:前两位为图片编号,后两位为检测结果:良品为01、不良品为02;将这个编码按照检测完成的先后时序顺序从后端压入检测结果堆栈;开辟检测结果发送线程:负责定时扫描上述结果堆栈,当扫描结果堆栈中有编码数据时,从堆栈前端将数据取出,当扫描到结果堆栈中没有编码数据时,生成一个新的编码,编码的生成规则为头两位为上次发送的编码数据的图片编号,后两位为64;将取出或新生成的编码数据通过串口发送到PLC指定的检测结果储存地址。2)PLC端当触发传感器感应到待检物体并传输给PLC的输入端,...
【专利技术属性】
技术研发人员:余天洪,亢君,于振,
申请(专利权)人:天津普达软件技术有限公司,
类型:发明
国别省市:天津,12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。