一种焊接电源人机界面
2017-03-01杨凯
杨凯
(北京工业大学机电学院,北京100124)
一种焊接电源人机界面
杨凯
(北京工业大学机电学院,北京100124)
在数字化逆变焊接电源领域,为了达到多种焊接工艺的要求,针对精确控制能量转化过程开展了各方面研究。但随着用户体验的提高,早期的人机交互方式已不能满足需求。与此同时,芯片制造技术蓬勃发展,芯片厂商对开发环境及开源代码的支持日益完善。在此背景下,介绍一种焊接电源人机界面的设计方案。硬件方面,选用TI公司的AM3354作为核心处理器,外围设备包括网络接口、串行总线、SD卡接口、CAN通信接口以及LCD触摸屏等。软件方面,在嵌入式Linux系统之上进行图形用户界面(基于Qt-Embedded)、数据库、网络更新以及CAN通信协议的开发工作。试验结果表明该方案可行。
人机界面;Qt-Emdedded;嵌入式Linux;焊接
0 前言
在数字化逆变焊机领域,多数产品能够较好地实现能量转化与工艺要求。但是,长期来看,随着芯片技术飞速发展,控制需求日益复杂,用户体验的不断提高,早期的嵌入式控制方案已不能满足现阶段的要求。近期来看,伏能士公司发布了智能化焊接平台TPS/i系列焊机,该焊机可实现焊接参数纯文本显示和图像化的用户界面[1]。这些都表明了焊接设备的智能化发展。在此提出了一种焊接电源人机界面的设计方案,并进行了试验验证。
1 硬件构成
数字化弧焊电源包括逆变主电路、数字控制电路和人机交互[2]。数字控制电路负责焊机能量转化与工艺实施,人机交互主要完成焊接参数设定、一元化焊接参数查询、远程网络升级等功能。两者之间通过CAN协议传递数据。
人机交互界面的核心是TI公司的AM3354 ARM Cortex-A8微处理器,其处理器主频、内存等参数均能满足要求[3]。硬件开发平台是飞凌OK335XD开发板。该方案涉及到的外围硬件设备包括:带隔离保护的CAN接口;RJ45以太网接口;SD卡插槽;7寸液晶显示屏等。系统模型如图1所示。
图1 系统模型
①触摸屏:用户可以设定焊接参数,选择焊接工艺,下达焊接命令。
②数据库:本地数据文件,提供不同焊机工艺的焊接参数,实现焊接参数的一元化查询。
③CAN协议:CAN(Controller Area Network)协议由德国博世公司提出,它能在复杂的焊接现场提供可靠的串行通信网络。AM33554微处理器支持CAN 2.0的A,B部分(符合ISO 11898-1)[3],但需要嵌入式linux系统支持相应驱动。
④FTP服务器:存储着不同的焊接数据库,焊机可通过网络访问FTP服务器,并选择适当的数据库文件进行下载,更新本地的数据库内容。
2 软件设计
人机交互使用的硬件较多,并需要满足多种功能。由此确定以下的软件开发环境:选用Linux 3.2.0内核作为操作系统;选用Qt/Embedded 4.8.5作为GUI开发平台;宿主机为Ubuntu 12.04 LTS,开发环境为Qt Creator 2.4.1(基于Qt 4.8.0);数据库为SQLite。
在搭建开发环境后,整体的软件结构如图2所示。主要的开发内容包括:主界面GUI设计,数据库,CAN通信的应用程序开发与驱动程序移植。
2.1 嵌入式系统的GUI设计
GUI主要完成界面功能的划分、界面的实现与数据共享。嵌入式的GUI设计应注意以下几点:①硬件资源的限制;②嵌入式linux系统无论是响应外设的事件,还是操作硬件,都需要设备驱动程序的支持;③界面响应与事件处理应多线程协调工作,防止界面“假死”。
2.1.1 界面划分
界面的功能分布在两级菜单中,如图3所示。
图2 软件结构
图3 界面内容
2.1.2 实现界面与事件处理
Qt Designer可快速实现界面设计,主界面如图4所示。基于Qt特有的信号与槽机制,开发者可通过界面上的控件实现相应功能。例如,当用户输入参数完成后,会向主界面发射Finished()信号。主界面的槽函数会完成界面数据的更新、软键盘的消失、共享内存的读写等功能。
2.1.3 数据共享
整个人机界面中,多处涉及到数据共享。首先,GUI中有多个界面与控件,这些零散分布的数据需要共享。其次,为防止界面“假死”,程序中需要多线程的通信。再次,CAN协议通信是独立进程,发送数据时,需要与主界面进程通信。在此采用共享内存实现数据共享。在自定义的数据类中,用结构体对共享内存进行封装。实例化数据类即可读写共享内存的内容。每个界面的数据改变后,都会刷新共享内存的信息。以下为结构体内容:
图4 主界面
2.2 数据库
焊接工艺数据库是焊机厂商结合自身特点提出的焊接工艺指导。使用数据库有利于提高焊接质量和焊接效率。本研究的数据库应用在两个方面:焊接工艺一元化数据查询;网络更新数据库。
2.2.1 数据库一元化查询
在主界面中,用户输入焊接参数后,主界面会单独启动线程进行数据库查询(见图5)。查询完成后,发射信号通知主界面。主界面得到信号后,读取共享内存内容,并显示到界面中。
2.2.2 数据库与网络更新
网络更新界面如图6所示,功能按钮包括:“连接”——启动网络连接,检测网址、用户名、密码信息;“上级目录”——浏览远程FTP服务器的目录;“下载并更新”——从远程FTP服务器下载指定的文件,下载完成后,启动数据库更新线程(见图7);“放弃更新”——删除更新时插入的表,恢复开机状态。
图5 数据库查询线程流程
图6 网络升级界面[4]
图7 数据库与网络更新
2.3 CAN通信的应用程序和驱动设计
2.3.1 CAN应用程序
主界面的“开始焊接”“点动送丝”“试气”都使用QProcess()类启动CAN应用程序,并向其传递命令行参数。CAN应用程序是独立运行的,其发送内容来自共享内存,发送命令来自命令行参数。CAN进程中分为两个线程:主线程中发送数据;分线程接受数据,并将接受的信息通过信号传到主线程中,用于进一步判断。
2.3.2 CAN驱动程序
(1)Linux操作系统中实现CAN协议驱动有两种方法:基于字符设备;基于网络接口。
基于字符设备的实现,通常针对某一具体的硬件设备实现字符设备的接口,而且只能在用户态实现高层协议(如帧队列和ISO-TP)。若更换硬件,还需修改应用程序。基于网络接口的Socket CAN采用了BSD socket接口与Linux网络协议栈,应用程序可采用网络接口实现功能[5]。Socket CAN的工作原理如图8所示。
(2)驱动程序初始化时,使用的结构体为:
图8 SocketCAN工作原理[6]
(3)接收消息时使用Linux内核的NAPI框架,其基本思想为:当数据包到达时会触发硬件中断,中断处理先关闭中断进入轮询模式,直到所有数据包接收完毕,再重新开启中断,进入下一周期。
具体来说,初始化CAN设备时,给CAN设备分配NAPI功能。新数据包到来时,执行中断函数,禁止中断并调度NAPI。进而调用napi的poll方法(d_can_poll()),该方法会轮询地进行数据接收。接收完成后,该方法会用netif_receive_skb(skb)递交给内核,使能中断。以下为中断服务程序:
A kind of welding power source human-machine interface
YANG Kai
(College of Mechanical Engineering and Applied Electronics Technology,Beijing University of Technology,Beijing 100124,China)
In the field of digital inverter welding power,all research on precise control of energy conversion are developed,in order to meet the needs of a variety of welding process.However,the early HMI(Human Machine Interface)has been unable to meet the demands with the improvement of user experience.In the meantime,the manufacturing chips technology obtains a exciting development,the chip makers improve the support of development environment and open source code increasingly.On the background,introduces a design about welding power source human-machine interface.On the hardware part,it uses a TI's AM3354 microprocessor.it has many peripherals,which include network interface,serial bus interface,SD card slot,CAN communication interface and the LCD touch screen.On the software part,there are some applications,such as the graphical user interface(based on Qt-Embedded),database,updating from FTP server and CAN bus,which based on the embedded Linux system.The test results prove that the scheme is feasible.
HMI;Qt-Emdedded;embedded Linux;welding
TG434.1
A
1001-2303(2017)02-0054-05
10.7512/j.issn.1001-2303.2017.02.10
2016-11-03;
2017-02-09
杨 凯(1992—),男,河北邢台人,在读硕士,主要从事嵌入式系统与自动化装备的研究。
献
杨凯.一种焊接电源人机界面[J].电焊机,2017,47(02):54-57,79.