路向琨,高忠林,尹 戈,成海晖
(天津七所高科技有限公司,天津300402)
电阻点焊因其操作简单、焊接成本低、劳动条件较好、生产率高等优点,广泛应用于航空航天、电子、汽车、家用电器等行业,近年来对电阻焊机产品的需求量不断增加[1-2]。随着电子技术以及新材料技术的不断进步,电阻焊技术出现前所未有的发展[3-4]。
随着移动信息时代的到来,基于Android操作系统进行移动应用开发成为不可阻挡的潮流。目前的移动设备几乎都配备了简单易用的USB接口作为与其他设备进行通信的主要接口[5-6]。USB接口协议规范也不断发展更新,同时为了弥补USB主从架构中只能依赖PC作为HOST端的不足推出了USB OTG技术规范作为USB协议规范的补充[7-8],使得USB通信系统允许移动设备既可以作为通信系统的HOST端又可以作为DEVICE端,从而摆脱了主从架构中对PC机器的依赖[9-11]。
目前市场上广泛采用单片机MCU作为主芯片的焊机编程器,通过液晶屏和物理按键与用户进行交互。这种方案体验效果差、设备沉重、屏幕窗口小、菜单级联多、操作繁琐,导致用户的人机体验效果较差;此外,设备的物理按键寿命短,硬件相对复杂,增加了不可靠因素。
本研究提出一种基于Android系统的焊机远程控制设备及系统,在硬件层面上该系统克服了手机与焊接控制器接口不统一的问题;软件上优化并重新设计了交互界面,克服了大数据量通讯状态下的操作不流畅以及强电磁干扰下通讯经常失败的难点,此外还为大数据分析提供基本的数据支撑。该设备结构简单,硬件连接方便,可靠性高,可节省大量硬件成本;软件界面更加友好,操作简单,很大程度上提高了人机交互性能和用户体验性得到。
随着Android系统的不断升级,Android系统已经越来越稳定,因其开发周期短、人机交互性能卓越,近年来基于Android系统的设备得到广泛应用。本研究提出的基于Android系统的焊机远程控制设备利用最常见的手机对焊机控制器进行编程,与无线蓝牙传输方式对比,发现无线通讯在处于焊接的强电磁干扰环境中通讯稳定性较差,故本设备采用电缆连接的方式。但是手机的接口是USB,焊机控制器的接口是串口,为解决电缆连接两种接口不统一的问题,本系统设计了一款通讯转接板,用于实现两种接口的转换功能。
本设备通讯质量更加稳定可靠,同时转接电路的状态指示灯齐全,为以后的硬件故障定位提供了很大的方便。转接电路还可以根据用户的不同需要在2种总线中进行选择。硬件结构简单,连接方便,可靠性高,同时节省了大量的生产成本和材料耗损。系统连接主要包括手持设备(Android手机)、通讯板、焊机控制器。通讯板包括接口转换的相关电路,主要为USB驱动电路,422驱动电路,485驱动电路,如图1所示,其中手持设备与通讯板相连,通讯板与焊机控制器相连。
图1 系统连接示意
Eclipse最初是由IBM公司开发的IDE开发环境,并且是一个开放源代码、基于Java的可扩展开发平台。它虽然只是一个框架和一组服务,用于通过插件组件构建开发环境[12-13],但其附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)[14-15]。
该系统采用JAVA语言编写,根据焊接行业的特点,重新开发了故障报警模块、状态监测模块、读取手持设备参数模块、读取主机参数模块、参数批量下载和参数批量上传模块的交互系统。通过软件优化,采用多线程技术将大量耗时的通讯放到一个单独线程中,克服了大数据量通讯状态下操作不流畅的难点;另外将大数据量分隔成多个小数据量的通讯单元,采用小数据单元进行通讯并在每次通讯时逐条校准,克服了强电磁干扰下大数据量通讯时容易发生错误的问题;同时,还考虑到大数据处理方面的应用,将手持设备上的焊接参数以及采集的监测数据保存在SQLite数据库中,可以通过调取数据查看每台焊机的参数设置以及焊接完成后每个焊点的焊接状态,指导厂家进行生产节拍管理以及为焊机设备维护提供大量的数据支撑。
软件主要分为故障报警模块、状态监测模块、读取手持设备参数模块、读取主机参数模块、参数下载模块、参数上传模块6部分。整体流程见图2。
故障报警模块是一直运行在后台的一个线程,处理顺序上拥有最高优先级。故障信息和监控信息都属于控制器主动发送的数据,可通过数据包的包头进行区分。一旦发生故障马上进入故障报警模块。通过数据解析与故障时间的双重判断,确定所报故障是否是最新故障,并将故障信息记录在数据库中。其中,新故障类型的判断方法是:如果该故障类型与前一个故障类型不同则将该故障报警的发生时间和类型记录到故障报警文件中,否则再判断本次故障发生时间与上次故障发生时间的间隔,若时间间隔大于设定值则将故障报警信息保存到故障报警文件中,否则认为是主机连续发送了多个相同的故障信息,并舍弃本次的故障报警信息。软件流程如图3所示。
图2 软件主界面
图3 故障报警流程
手持设备为从设备,焊机控制器为主设备。当焊机控制器正常工作时,每次焊接完后会主动返回采集的焊接时间、焊接电流等信息,从设备通过判断包头以及接收数据缓冲区未读字节数即可判断是否是状态监测数据。读取缓冲区数据,判断数据格式正确后,经数据解析与转换将数据显示在页面中。同时,控制器编号以及该焊接结果的数据会一并保存在数据库中,经过长时间的数据累计,数据库中会保存大量的焊接数据,可导出提供给汽车厂的焊点分析系统,为汽车厂监控焊接质量提供有力的数据支撑。一旦发生故障就进入故障处理模块。软件流程和界面如图4和图5所示。
图4 监视界面流程
图5 监视界面
一台汽车的零部件有几百个,需要焊接的点数成百上千,每个焊点的焊接参数都会有一定的差别,其影响因素主要有焊接板厚、焊接材料、螺母或者螺栓大小、是否有镀层等。工艺人员需根据每一个焊点的特点给出一套焊接规范,同时将其保存在手机中方便携带,读取手持设备参数模块可完成对手机上保存的焊接规范进行编辑和保存的操作。
进入该模块会链接到SQLite数据库中的对应表单,该部分的数据存储在手机上,读取速度快,无需开辟新线程即可实现界面的流畅操作和数据展示,节省系统内存资源。该模块中可查看和修改各参数并重新保存到数据库中。软件流程如图6所示。
每台焊接控制器都会有一定的差异,随着汽车厂对产品质量要求的提高,汽车焊接中各个参数的设定和调整越来越细化,精度越来越高,该模块可用于工艺人员针对焊机控制器的差异编辑和保存控制器中保存的焊接参数。
进入该模块后会新开辟一个读取数据的线程,该线程完成相关的数据通讯操作,包括加载所选定的规范号和模式、发送索要相应数据的命令给主机、解析接收的数据等。通讯板完成命令信号和数据的通讯和转换。该数据线程判断返回数据格式正确后显示数据,同时关闭该线程。由于增加了一个专门的数据通讯线程,界面的操作更加流畅,解决了因为通讯延时造成的界面卡顿的问题,还节省了系统内存资源。随后可查看和修改各参数,并保存到数据库中或者重新下载到主机。一旦发生故障就进入故障处理模块。软件流程和界面如图7和图8所示。
图6 读取手持设备流程
图7 读取主机参数流程
汽车厂的焊装车间一般会有至少几百台焊接控制器,相当一部分控制器的焊接参数相差较小,仅需调整少数几个参数即可,此时可以用参数下载模块将参数批量下载到控制器中,然后再进行局部调整,避免输入每个参数的繁琐操作。
图8 编程界面
焊装车间属于高电磁干扰环境,在参数下载和上传模块中经常发生数据通讯中断或者乱码的问题,通过采用将多套规范的一整块数据分解成以单套规范为一组数据单元,在每套规范下载完成后都进行校准确认的逐步逐条下载方式,克服了强电磁干扰下大批量数据正确传输的困难。
进入参数下载模块,首先新建一个线程完成该模块的主要功能,包括加载所选定的规范号和模式、链接SQLite数据中的对应表单、读取所需的所有规范数据。单次校准确认的方式为:发送选择的第一条规范数据,数据信号经通讯板传输到主机,主机收到后进行数据校准,当数据正确无误后保存到相应存储区,并返回保存成功信号,保存成功信号经通讯板后传输到手持设备,此时可判断规范下载完成;否则,会重新下载该规范直到成功。若还有规范未下载则进行下一规范的下载。软件流程和界面如图9和图10所示。
参数上传模块与参数下载模块类似,可以将焊机的多套焊接参数保存在手机中作为数据备份,并同样采用逐条确认的模式保证电磁干扰环境下的数据准确性。
图9 参数下载流程
图10 下载界面
进入参数上传模块会新建一个线程负责数据通讯部分,同样采用单次校准模式,校准接收到的每条数据,判断格式正确后将数据保存到对应规范的表单中,若还有规范未上传则进行下一条规范的上传,直到所有规范上传完成。软件流程和界面如图11和图12所示。
本系统最大特点是基于具备USB OTG功能的Android系统,仅需一个通讯板和相应软件即可完成操作。硬件上,该系统克服了两种设备接口不统一的问题,节省了大量的生产成本和材料耗损,硬件整体结构简单、连接方便、可靠性高。软件上,首先,将大量耗时的通讯放到一个单独线程中,克服了大数据量通讯状态下操作不流畅的问题;其次,通过将一整块的大数据量分隔成多块的小数据通讯单元,采用小数据单元进行通讯且每次校准确认的方法,克服了强电磁干扰下大数据量通讯容易失败的困难;最后,本系统还为汽车厂的大数据管理预留了接口,可以指导厂家管理生产节拍以及为焊机设备维护提供大量的数据支撑。操作上,交互系统根据焊接行业的特点优化软件界面和操作,采用Android系统使得软件界面比传感液晶屏显示的更加友好,交互性能得到很大改善,提高了用户粘性和使用的舒适感。总体而言,该系统结构简单、连接方便、交互系统更加人性化、通讯更加可靠,既满足了工业产品对稳定性和可靠性的要求,又符合现场使用者的习惯,获得使用者的一致好评,并产生了良好的社会价值。
图11 上传界面流程
图12 上传界面
[1]吴英俊.多模式电阻焊机控制器及其控制模式研究[D].上海:上海交通大学,2013.
[2]王敏.我国电阻焊设备和工艺的应用现状与发展前景[J].金属加工:热加工,2004(5):19-21.
[3]王福生.国内外电阻焊设备的发展[J].电焊机,2005,35(2):1-4.
[4]王清,吴林,张相军.电阻焊焊接电源发展方向之探讨[J].焊接,2000(11):7-10.
[5]周立功.USB2.0与OTG规范及开发指南[M].北京:北京航天航空大学出版社,2004:12-13.
[6]钱仇圣,王宜怀.基于MCF52223的多功能USB数据采集系统的设计[J].计算机应用,2010,30(1):277-279.
[7]付贵阳,贾怀义.USB On-The-Go工作原理分析和应用研究[J].国外电子元器件,2004(10):14-17.
[8]刘海龙.基于USB OTG的Android手机与ARM卡通信的研究[D].成都:电子科技大学,2014.
[9]苏维嘉,唐宇,杨静.基于Android平台的USB数据采集系统[J].计算机系统应用,2012,21(8):39-42.
[10]程军,陈贵灿,姜飞.通用串行总线的OTG技术[J].微电子学与计算机,2003(06):54-73.
[11]辛华峰.USB OTG技术在数据采集系统中的应用研究[D].吉林:吉林大学,2005.
[12]周宇,尹生强,王冬青,等.基于Eclipse和Android系统的App开发平台搭建研究[J].青岛:青岛大学学报(工程技术版),2016(03):45-49.
[13]王斌.基于Android平台的移动APP开发模式探索[J].产业与科技论坛,2017(13):85-89.
[14]宋小倩,周东升.基于Android平台的应用开发研究[J].软件导刊,2011(02):69-72.
[15]赵亮,张维.基于Android技术的界面设计与研究[J].电脑知识与技术,2009(29):117-119.