汽车零部件检测生产线控制终端设计
2017-10-11王学影胡晓峰
王学影,周 跃,郭 斌,胡晓峰,陆 艺
(中国计量大学 计量测试工程学院,浙江 杭州310018)
汽车零部件检测生产线控制终端设计
王学影,周 跃,郭 斌,胡晓峰,陆 艺
(中国计量大学 计量测试工程学院,浙江 杭州310018)
针对汽车零部件检测生产线效率低,以及数据传递速度慢和信息掌握延时等问题,研究设计了一款用于汽车零部件检测生产线的新型控制终端.终端以嵌入式ARM芯片Cortex-A9为控制核心;采用Android操作系统,Linux作为内核,搭建应用程序开发平台;集成了射频识别模块、实时定位模块和无线通信模块等,实现了控制终端数据采集传输、身份识别、实时定位和无线通信等功能.
嵌入式;汽车零部件检测;控制终端;数据传输;实时定位
Abstract: To solve the problems of low production efficiency, slow speed of data transmission and delay of information gain, a control terminal for the production inspection line of auto parts was designed. The core of the terminal was ARM chip architecture A9. The application software platform was developed on the embedded Linux system kernel and the Android operation system. The control terminal integrated an RFID module, a real-time positioning module and a wireless communication module, has the functions of data acquisition and transmission, identification, real-time positioning , wireless communication and so on.
Keywords: embedded; auto parts detection; control terminal; data transmission speed; real-time location
汽车领域在不断谋求自主创新的同时,更需加强零部件生产线的优化进程.作为支持汽车产业可持续发展的汽车零部件检测行业迫切需要“雷达”,来增长数据传输速度,实现实时定位采集,提高生产质量[1].基于上述情况,本文提出结合嵌入式系统、采用物联网技术研制一套面向汽车零部件检测生产线的控制终端,提供友好的人机界面、丰富的设备接口和通信接口、以及众多的
应用模块等,提升生产线整体效率.
1 总体方案设计
当今科技发展迅速,嵌入式系统以其功耗低、实时性好、可靠性和安全性高等特点被广泛应用于科学研究和工业设计之中.因此,在本次设计中,控制终端选择以Linux为内核的Android系统作为开发平台,并将模块化设计方式贯穿于整个研究过程[2-4].
1.1 生产线整体架构设计
作为汽车零部件检测生产线的控制采集节点,控制终端对提高生产质量有举足轻重的作用.
如图1所示的终端所在系统的整体架构图,在生产线的每一个工序工位安装一个控制终端,终端通过GPS模块对当前工位工控设备的运行状态进行实时监控,并利用无线通讯模块将采集到的有关人、机、物、料信息和设备运行数据传送至控制中心.控制终端对接收到的数据信息进行快速的分析处理,利用无线通讯模块将处理消息反馈给当前控制终端,并据此判断定此时的工作状态,决定进行下一步操作与否.
图1 整体系统架构图Figure 1 Overall system architecture diagram
1.2 控制终端整体设计
1.2.1 终端硬件结构整体设计
如图2,生产线控制终端作为工控设备与系统的连接纽带,设计合理的硬件结构布局是终端成功开发的基础[5].
图2 硬件整体布局图Figure 2 Hardware overall layout
生产线控制终端在布局上采用核心板-底板的双层架构模式,核心板主要由主控单元和复位电路等组成;底板作为搭载体,主要包括无线通讯、GPS、RFID、触摸屏、存储、USB接口和串口模块等组件.
1.2.2 终端软件功能整体设计
如图3软件功能架构图所示,生产线控制终端初次使用时,需通过终端信息初始化模块对终端进行初始化设置,依据要求设定参数并传送至相关工控设备后开始正常工作.
图3 软件功能架构图Figure 3 Software function diagram
2 硬件选型和电源设计
2.1 模块的选型
2.1.1 核心处理器的选择
核心板控制单元采用目前应用范围较广、性价比较高的ARM Cortex-A9系列的Exynos4412四核处理器,选取原因有三:
1)它自带内部控制器,在很大程度上降低设计难度;
2) 自带iROM和iRAM.在系统通电后,立刻对处理器内部进行初始化操作,此操作将由iROM 里面存储的一段很小的代码完成[6];
3) 提供丰富的外设接口.例如:RS232、 USB、摄像头、HDMI、以太网口等.
2.1.2 通用模块芯片选择
在底板尺寸上集成了电源、无线通信、GPS、触摸屏、RS485块、薄码开关等模块和扩展接口.其中,各个模块的芯片选型如下:
1)WIFI模块芯片选择 自提出“无线城市”概念之后,WIFI技术迅猛发展,已成为无线网络接入的主流标准.终端选用性能优越的S500M芯片作为通信模块的核心.
2)GPS模块芯片选择 在汽车零部件检测生产线中,生长线控制终端获取精确的定位信息是其实现“物物相连”必不可少的重要基础之一.因此,需要有空间定位技术的支持,即需利用GPS模块.本设计选取通过串口来传输数据的GNS7560芯片作为GPS模块控制核心.
3)触摸屏的选取 生产线控制终端选用迅为提供的7寸电容触摸屏作为显示器,通过HDMI线和控制终端的HDMI触摸屏接口连接.
2.2 电源设计
在电路设计中,电源设计是最关键环节之一,它是整个系统稳定运行的基础保障.
在底板上,电源模块通过芯片 RT8065 向核心板提供 5 V→4 V 电源,可以使核心板电源管理芯片 8767 处于最佳工作状态,部分电路原理图如下图4所示;通过 MP2012DQ芯片向外设提供 5 V→3.3 V 和 5 V→1.8 V 电源,部分电源设计如图5.
图4 核心板供电部分原理图Figure 4 Core board power supply part of the schematic diagram
图5 外围模块供电部分原理图Figure 5 Peripheral module power supply part of the schematic diagram
3 软件设计
3.1 控制终端功能设计
为保证汽车零部件生产线高效率、高质量生产,作为感知系统的控制终端在软件功能上实现实时监控、提高数据传输速度至关重要.如图6,每个工序的控制终端会以前一工序控制终端反馈的状态判断为标志,来决定当前工序是否开始工作[7].
3.2 WIFI模块驱动程序设计
在Linux中,驱动存在于内核之中,按种类分为网络设备、块设备、字符设备和杂项设备驱动,驱动和内核体系的关系如图7所示[8]. 在这几类驱动当中,只有极其小的一部分是需要自己写的,这就是字符类驱动,其它的驱动全部都是移植的,而且字符驱动中很大一部分也是移植的.
图7 驱动和内核关系图Figure 7 Drive and kernel diagram
在此,以WIFI模块驱动程序设计为例.
3.2.1 模块的加载和卸载
在Linux中,通过module_init (WIFI_init)函数和module_exit(WIFI_exit)函数完成WIFI模块的加载和卸载操作.在加载WIFI模块时,首先需要完成初始化操作,其中最重要的一项是向内核中注册设备.字符设备通过调用register_chrdev_region ()函数或者动态分配alloc_chrdev_region()函数来完成此操作[9].如下程序所示为加载WIFI模块并完成注册设备过程.
static int WIFI_init(void){
dev_t dev = MKDEV(WIFI_major, 0);
int alloc_ret = 0;
int cdev_err = 0;
alloc_ret = register_chrdev_region(dev, 1,
WIFI_DRIVER_NAME);
if (alloc_ret) {
WIFI_ERR_FUNC(“fail to register chrdev/n”);
return alloc_ret;}}
从语句中可知,在模块加载过程中,先将主设备号和次设备号默认为 0,然后做一个简单的判断.如果没有参数传入,默认为零,则提示注册设备失败.
3.2.2 模块控制操作
在Linux驱动中,通常利用int _open( ),int _close( ),int _creat( ),int _write( ),int _read( )等函数实现对模块的操作控制.通讯模块中部分WIFI_ write( )函数的具体实现如下:
ssize_t WIFI_write(struct file *filp, const char __user *buf, size_t count, loff_t *f_pos){ int retval = -EIO;
char local[4] = {0};
static int opened = 0;
down(&wr_mtx);
……}.
参数struct file *filp表示使用open函数打开之后返回的句柄;*buf表示写入的数据,size_t count表示写入的最多字节数.其他操作函数和write函数的类似,这里不再叙述.
3.2.3 file_operations 结构体
file_operations 结构体是系统调用硬件设备的桥梁.在驱动设计中,每个模块的驱动程序都会有一个对应的file_ operations数据结构体,其中的成员函数和操作系统提供的应用接口相对应,是驱动程序设计过程中的主要环节之一[10].WIFI驱动程序设计的file_ operations结构体如下:
struct file_operations WIFI_fops = {
.owner = THIS_MODULE,
.open = WIFI_open,
.close = WIFI_close,
.read = WIFI_read,
.write = WIFI_write,
.release =WIFI_release,
.ioctl =WIFI_ioctl,}.
实际运行中,用户应用程序通过open等函数驱使驱动程序结构体当中对应的WIFI功能函数动作,从而实现对具体通讯模块硬件的各种调用操作和检测.
4 多任务调节算法
在控制终端的设计中,通过多任务调节算法实现多个任务进程井然有序的执行,具有十分重要的意义.
多任务调节算法是基于CASH算法,结合PIP协议设计而成的,主要在多个进程或任务需要关联并行时运用,工作原理如下图8所示.
多任务调节算法流程,利用CASH算法为每个进程任务设定预行时长,当预设值大于实际运行时长时,CASH会把多余的设定时间放到一个时间队列之中.当执行下个任务进程时,系统会优先查找并充分使用空闲的设定时间.然而,单一的CASH算法只会将剩余的设定时间首先分配给级别最高的任务,导致运行级别低的紧急任务无法率先得到运行.因此,在原有的算法基础上,引进PIP协议:当系统中无紧急任务时,则根据级别高低情况依次运行;当出现级别低的紧急任务时,它可以立即中断高级别任务,自行承接被中断任务的优先级;当然,为确保被中断的高优先级任务能够顺利完成,设定了一个最大中断时间参数,当中断时间超出设定最大值时,系统返回执行被中断任务[11-12].
图8 算法流程图Figure 8 Algorithm flowchart
考虑到中断的问题, 给出如下:
(1)
式(1)中
Ri—表示任务运行时间;
Ci—表示任务时间周期;
Bi—表示被中断的时间.
在该算法中, 为每个任务都设定了估计的运行时间, 同时引进一个可变的时间函数,系统会依据每个任务的预设时间与该时间函数计算得出的结果,选择运行当前最紧迫的任务.
5 应用实例
对浙江某知名汽车零部件生产企业的EPB制动钳总成装配检测线进行改造,该检测生产线共有十道工序,在每一道工序上都配备一个生产线控制终端,并将终端和工控设备通过I/O通道或者扩展I/O口相连,开始初始化操作.将每个工序工位控制终端的人、机、物、料以及通信地址等相关信息正确设置后,控制终端就可以开始正常工作了.
以EPB制动钳总成合装工序为例,该工序采用OMRON CP1E型号的PLC作为下位机控制系统.由于该型号PLC只有一个RS-232串口接口,无法同时连接无线通信模块、GPS模块、触摸屏等模块,造成“数据孤立”.在接入生产线控制终端后,利用终端扩展特性,通过扩展I/O接口将PLC和控制终端相连,间接使PLC具备了身份识别、实时定位、数据远传等功能,从而有效解决PLC的“数据孤立”问题.接着,在控制终端中设定与合成总装工序相关的各项参数,按照图6的流程进入工作状态.在终端运行过程中,上传的数据包括操作员工身份条码、产品编号、工序编号、工位编号、启动码、设备状态、测控信息、产品合格标志、GPS定位标志码、本工序累计加工数目和控制终端开机标志.控制中心返还的数据代码主要包括起始码、工序编码、工位编码、质量检测码和本工序制动钳在完成加工标识.
生产线控制终端具有记忆暂存功能,每次与控制中心组帧交换的数据信息都会被记录保存,可通过查询功能获取.图9所示的一组通讯记录,充分展示了终端与控制中心之间交互通信的响应时间只需1 s,即生产线控制终端上传数据和控制中心反馈数据的平均时间为0.5 s,极大加快数据的传递速度.
图9 通信历史记录Figure 9 Communication history
生产线控制终端抽取本地存储的50个EPB制动钳总成合装工序1小时内的生产数据,通过计算测试生产线控制终端工作性能功能.测试时,设定控制终端的质量标准上下限分别为12.50 N·m和12.10 N·m,样本标准中心为12.25 N·m.则根据如下计算公式:
CP=(TU-TL)/6σ,
(2)
CPK=(TU-TL)/6σ(1-K).
(3)
式(2)、(3)中
CP—潜在工序能力指数;
CPK—实际工序能力指数;
TU—质量标准上限;
TL—质量标准下限;
μ—样本标准中心.
σ—质量特性值分布的总体标准差,通常是未知的,在此可以用样本标准差S代替.
抽取的数据和计算得出的结果如表1.
表1抽样数据和CPK
Table 1 Sampling data and CPK
工序EPB制动钳总成合装测试扭力/(N·m)12.2512.2512.2512.3012.2512.2012.2512.3012.2512.2512.2512.2512.2012.2512.3012.2512.2012.2512.2512.2012.3012.3012.2012.2512.2512.2512.2012.2512.3012.2512.2012.2512.3012.2512.2012.2512.2012.2512.2512.2512.3012.2512.2012.2012.2012.2512.2512.2012.3012.25CP2.00CPK1.51
根据评级标准,可得:设备工序能力指数等级为A级,工序能力良好,该时段EPB制动钳总成合装设备能力较好、状态稳定;根据表3所示与成品率关系得,生产线产品成品率高达99.90%.
表2 CPK的评级标准
表3 CP与成品率的关系
6 结 语
设计开发基于嵌入式的汽车零部件生产线控制终端,为汽车零部件检测生产线实现两化融合提供了新技术.通过多次试验,证明了该终端可以及时对产品的信息数据采集,准确定位每道工序,保证通讯流畅,实时监测设备运行情况,不仅提升了产品质量,而且实现了产品的事后追溯.
[1] 万鹏, 王红军. 汽车零部件生产线数字化建模及分析[J]. 机械设计与制造, 2012(12):86-88. WAN P,WANG H J. Digital modeling and analysis of auto parts production line[J].Mechanicaldesignandmanufacturing, 2012(12):86-88.
[2] 冯金哲, 殷海兵. 视频监控系统的android终端设计与实现[J]. 中国计量学院学报, 2016, 27(4):441-446. FENG J Z,YIN H B. Design and implementation of android terminal for video surveillance system[J].JournalofChinaUniversityofMetrology, 2016, 27(4):441-446.
[3] 缪兵. 基于ARM9内核的嵌入式检测系统设计[J]. 仪表技术与传感器, 2010(1):70-72.
LIAO B. Design of embedded detection system based on ARM9 kernel[J].InstrumentationTechnologyandSensors, 2010(1):70-72.
[4] 胡英多. 基于S3C2440的嵌入式Linux的应用[D]. 成都:电子科技大学, 2009. HU Y D.TheApplicationofEmbeddedLinuxBasedonS3C2440[D].Chengdu: University of Electronic Science and Technology, 2009.
[5] 宋明权. 基于ARM的嵌入式人机界面硬件平台的开发[D]. 武汉:华中科技大学, 2005. SONG M Q.DevelopmentofARM-basedEmbeddedHuman-MachineInterfaceHardwarePlatform[D]. Wuhan: Huazhong University of Science and Technology, 2005.
[6] 李津, 孙毅, 刘琼俐. 基于嵌入式系统的物联网智能移动终端的设计[J]. 中国新通信, 2015(24):120-121. LI J,SUN Y,LIU Q L. Design of Intelligent Mobile Terminal Based on Embedded System[J].Chinanewcommunication, 2015(24):120-121.
[7] 张胜昌, 江挺侯, 演鑫. 面向物联网的工序质量控制终端设计[J]. 科技信息, 2012(26):23-24. ZHANG S C,JIANG T H,YAN X. Design of process quality control terminal for internet of things[J].TechnologyInformation,2012(26): 23-24.
[8] 张海峰. 嵌入式Linux内核及其驱动开发[J]. 红外, 2003(10):26-31. ZHANG H F. Embedded Linux kernel and its driver development[J].Infrared,2003(10):26-31.
[9] 孙文华, 黄凌云. 嵌入式Linux驱动开发技术综述[J]. 广东通信技术, 2015, 35(11):68-73. SUN W H,HANG L Y. A survey of embedded Linux driver development technology[J].GuangdongCommunicationTechnology, 2015, 35(11):68-73.
[10] 聂和平. 基于ARM9的嵌入式Linux系统移植与驱动开发[D]. 南京:南京邮电大学, 2013. NEI H P.DevelopmentandDevelopmentofEmbeddedLinuxSystemBasedonARM9[D].Nanjing: Nanjing University of Posts and Telecommunications, 2013.
[11] 孙萍. 嵌入式实时操作系统的自适应调度算法研究[D]. 重庆:重庆大学, 2007. SUN P.ResearchonAdaptiveSchedulingAlgorithmforEmbeddedReal-timeOperatingSystem[D].Chongqing:Chongqing University, 2007.
[12] 王海珍, 廉佐政, 滕艳平. 嵌入式Linux实时调度算法及应用[J]. 计算机工程与设计, 2010, 31(21):4592-4594. WANG H Z,LIAN Z Z,TENG Y P. Embedded Linux real - time scheduling algorithm and its application[J].ComputerEngineeringandDesign,2010,31(21):4592-4594.
Designofcontrolterminalsfortheproductioninspectionlineofautoparts
WANG Xueying , ZHOU Yue , GUO Bin , HU Xiaofeng , LU Yi
(College of Metrology and Measurement Engineering, China Jiliang University, Hangzhou 310018, China)
2096-2835(2017)03-0319-07
10.3969/j.issn.2096-2835.2017.03.009
2017-05-23 《中国计量大学学报》网址zgjl.cbpt.cnki.net
国家质量监督检验检疫总局科技计划项目(No.2015QK288),浙江省公益技术应用研究计划项目(No.2015C3108).
TP368
A