百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

智能制造技术在行业中的应用第一讲 全智能喷涂线的控制

bigegpt 2024-09-09 01:22 121 浏览

摘要:在喷涂生产线中,采用FX5U、3D质量检测和Python编程,可以快速调节喷枪工作频率、喷涂浓度和范围、喷枪到工件表面直线距离,使得产品复杂表面涂层的厚度均匀美观,成功打造智能制造的成功范例。

关键词:全智能喷涂;3D检测;Python编程

Abstract: In the spraying production line, FX5U, 3D quality inspection and Python programming can be used to quickly adjust the working frequency of spray gun, spraying concentration and range, and the straight line distance between the spray gun and the workpiece surface,making the thickness of the complex surface coating of the product uniform and beautiful. It successfully creates a successful example of intelligent manufacturing.

Key words: Full intelligent spraying; 3D inspection; Python programming

1 前言

在各类机动车机械结构中,如果通过减轻重量来提高燃料效率,就会增加对诸如铁、铝和树脂部件等不同材料之间进行接合的需求,同时所使用的结构粘合剂的数量也会增加。为确保产品质量,需要对喷涂过程中进行粘合和密封的涂层剂的质量进行控制。在传统手工操作中,操作员通过手持喷枪对成型物体进行喷涂,喷枪到物体表面的距离变化幅度大、喷枪旋转轨迹变化大等因素,导致表面涂层不均匀,容易发生漏喷现象,并导致次品率居高不下、喷涂效率低、严重影响生产能力。本设计将采用FX5U PLC、3D质量检测技术等全自动化控制系统对喷涂线进行智能升级。

2 全智能喷涂线的整体设计

喷涂生产线如图1所示,包括喷枪控制和喷涂质量检测两个控制部件。


(1)喷枪控制

喷枪控制包括喷枪角度调整、喷枪间歇时间控制和供涂料回路。喷枪角度调整是由在放置在喷枪横杆头部的机械调整装置来完成,它可以根据需要调整喷枪工作角度和喷枪对工件的相对位置,以达到最佳效果,如图2所示。


(2)喷涂质量检测

喷涂质量检测示意如图3所示,能够使用图像传感器对喷涂工件上进行三维测量(即3D检测),与主流的二维图像检查系统相比,3D检测可以在三个维度上检查涂层剂的宽度、高度、横截面积和位置,在生产线上立即分析捕获的图像,并检测缺陷、过剩和不足之处,并同时反馈给喷枪控制。


(3)控制系统架构

全智能喷涂线的控制系统如图4所示,以交换机为中心采用FX5U PLC、3D检测相机、Python PC端来实现通讯控制。其中FX5U PLC主要控制涂料、喷枪和3D质量检测装置。在喷枪控制上,需要在喷枪与空气压缩机之间接入压力调整阀来调整供给喷枪的空气压力,使之被控制在喷枪的许可压力范围内,防止喷枪损坏;同时根据现场生产需要采用间歇工作制喷涂方式,即通过传感器检测产品在生产线上的位置,控制气动元件来实现喷涂工艺。


3 全智能喷涂线的软件设计

(1)PLC逻辑控制

为了保证待喷涂产品能够合理地通过喷枪喷雾扇面,对喷枪的开启时间有着严格的要求,为此设定了喷枪延时启动功能,喷枪控制流程图如图5所示。在等待喷涂工件通过检测区时,控制气源回路接有电磁换向阀,并配合传感器检测信号的程序实现对喷枪开闭的控制。


(2)3D质量检测

由于技术原理的限制,2D相机无法提供被拍喷涂工件的深度信息,不能提供z轴方向的引导。此处的3D相机采用移相法结构光技术,可快速获取被测物体的表面特征和深度信息,输出点云数据,且无需移动,安装或涂胶完成后可实现原位检测,极大改善了2D相机和线激光在该类应用的不足。

(3)上位机控制

上位机采用Python编程,基于三菱FX5U所支持的SMTP协议,可利用Python的Socket库按照三菱PLC的协议格式进行通信,其中上位机作为客户端,而PLC作为服务器。以下是循环tcp重连的源程序。

import socket

import time

import xlwt,xlrd,struct

from xlutils.copy import copy

import sys

import re,os,sys

data="ok"

class TcpThread(QThread): trigger = pyqtSignal(str) trigger1=pyqtSignal(str) def __int__(self): super(TcpThread, self).__init__() # 分离出一个函数用于循环tcp 重连 def doConnect(self): with open('IP_Address.txt', 'r')as fn: s1 = fn.read() host = ''.join(re.findall(r'IP:(.*)', s1)) # 服务器IP地址取出来,并转成字符串

port = int(''.join(re.findall(r'PORT:(.*)', s1)))# 从文本中提取端口号转成整数 BUFFSIZE = int(''.join(re.findall(r'BUFFSIZE:(.*)',s1))) # 从文本中提取字符长度转整数 ADDRESS = (''.join(re.findall(r'ADDRESS:(.*)',s1))) # 从文本中提取字符长度转整数 LENGTH = (''.join(re.findall(r'LENGTH:(.*)',s1))) # 从文本中提取字符长度转整数 print(host,port,ADDRESS,LENGTH) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: sock.connect((host, port)) print("connect is ok") except: print('fail to setup socket connection') return sock, BUFFSIZE,ADDRESS,LENGTH

4 结束语

在喷涂生产线中,采用FX5U、3D质量检测和Python编程,可以快速调节喷枪工作频率、喷涂浓度和范围、喷枪到工件表面直线距离,使得产品复杂表面涂层的厚度均匀美观。

参考文献:

[1] 李方园. 智能工厂设备配置研究[M]. 北京:电子工业出版社,2018.

作者简介:

李方园(1973-),男,浙江舟山人,副教授,高级工程师,硕士,毕业于浙江工业大学信息学院控制工程专业,现就职于浙江工商职业技术学院,长期从事智能制造新技术应用与研究工作。

摘自《自动化博览》2020年1月刊

相关推荐

Java 泛型大揭秘:类型参数、通配符与最佳实践

引言在编程世界中,代码的可重用性和可维护性是至关重要的。为了实现这些目标,Java5引入了一种名为泛型(Generics)的强大功能。本文将详细介绍Java泛型的概念、优势和局限性,以及如何在...

K8s 的标签与选择器:流畅运维的秘诀

在Kubernetes的世界里,**标签(Label)和选择器(Selector)**并不是最炫酷的技术,但却是贯穿整个集群管理与运维流程的核心机制。正是它们让复杂的资源调度、查询、自动化运维变得...

哈希Hash算法:原理、应用(哈希算法 知乎)

原作者:Linux教程,原文地址:「链接」什么是哈希算法?哈希算法(HashAlgorithm),又称为散列算法或杂凑算法,是一种将任意长度的数据输入转换为固定长度输出值的数学函数。其输出结果通常被...

C#学习:基于LLM的简历评估程序(c# 简历)

前言在pocketflow的例子中看到了一个基于LLM的简历评估程序的例子,感觉还挺好玩的,为了练习一下C#,我最近使用C#重写了一个。准备不同的简历:image-20250528183949844查...

55顺位,砍41+14+3!季后赛也成得分王,难道他也是一名球星?

雷霆队最不可思议的新星:一个55号秀的疯狂逆袭!你是不是也觉得NBA最底层的55号秀,就只能当饮水机管理员?今年的55号秀阿龙·威金斯恐怕要打破你的认知了!常规赛阶段,这位二轮秀就像开了窍的天才,直接...

5分钟读懂C#字典对象(c# 字典获取值)

什么是字典对象在C#中,使用Dictionary类来管理由键值对组成的集合,这类集合被称为字典。字典最大的特点就是能够根据键来快速查找集合中的值,其键的定义不能重复,具有唯一性,相当于数组索引值,字典...

c#窗体传值(c# 跨窗体传递数据)

在WinForm编程中我们经常需要进行俩个窗体间的传值。下面我给出了两种方法,来实现传值一、在输入数据的界面中定义一个属性,供接受数据的窗体使用1、子窗体usingSystem;usingSyst...

C#入门篇章—委托(c#委托的理解)

C#委托1.委托的定义和使用委托的作用:如果要把方法作为函数来进行传递的话,就要用到委托。委托是一个类型,这个类型可以赋值一个方法的引用。C#的委托通过delegate关键字来声明。声明委托的...

C#.NET in、out、ref详解(c#.net framework)

简介在C#中,in、ref和out是用于修改方法参数传递方式的关键字,它们决定了参数是按值传递还是按引用传递,以及参数是否必须在传递前初始化。基本语义对比修饰符传递方式可读写性必须初始化调用...

C#广义表(广义表headtail)

在C#中,广义表(GeneralizedList)是一种特殊的数据结构,它是线性表的推广。广义表可以包含单个元素(称为原子),也可以包含另一个广义表(称为子表)。以下是一个简单的C#广义表示例代...

「C#.NET 拾遗补漏」04:你必须知道的反射

阅读本文大概需要3分钟。通常,反射用于动态获取对象的类型、属性和方法等信息。今天带你玩转反射,来汇总一下反射的各种常见操作,捡漏看看有没有你不知道的。获取类型的成员Type类的GetMembe...

C#启动外部程序的问题(c#怎么启动)

IT&OT的深度融合是智能制造的基石。本公众号将聚焦于PLC编程与上位机开发。除理论知识外,也会结合我们团队在开发过程中遇到的具体问题介绍一些项目经验。在使用C#开发上位机时,有时会需要启动外部的一些...

全网最狠C#面试拷问:这20道题没答出来,别说你懂.NET!

在竞争激烈的C#开发岗位求职过程中,面试是必经的一道关卡。而一场高质量的面试,不仅能筛选出真正掌握C#和.NET技术精髓的人才,也能让求职者对自身技术水平有更清晰的认知。今天,就为大家精心准备了20道...

C#匿名方法(c#匿名方法与匿名类)

C#中的匿名方法是一种没有名称只有主体的方法,它提供了一种传递代码块作为委托参数的技术。以下是关于C#匿名方法的一些重要特点和用法:特点省略参数列表:使用匿名方法可省略参数列表,这意味着匿名方法...

C# Windows窗体(.Net Framework)知识总结

Windows窗体可大致分为Form窗体和MDI窗体,Form窗体没什么好细说的,知识点总结都在思维导图里面了,下文将围绕MDI窗体来讲述。MDI(MultipleDocumentInterfac...