基于S3C2440和Linux3.4.2的压铸企业数据采集系统设计
2016-10-14关一帆谷刚王志平
关一帆,谷刚,王志平
(1.广东工业大学自动化学院,广东广州510006;2.广东省自动化研究所广东广州510070)
基于S3C2440和Linux3.4.2的压铸企业数据采集系统设计
关一帆1,谷刚1,王志平2
(1.广东工业大学自动化学院,广东广州510006;2.广东省自动化研究所广东广州510070)
文中针对国内压铸行业生产过程监控难,质量问题追溯困难,生产设备利用率低等问题,设计出一种基于ARM9处理器和嵌入式linux OS的数据采集系统。该系统以三星公司的S3C2440处理器为核心,软件平台移植了Linux3.4.2内核,利用QT-Embedded技术完成人机交互界面开发,并实现了Socket网络应用程序。该系统在压铸企业的现场应用表明,企业生产调度的工作量减少了50%,生产设备利用率提高37%,每年为压铸企业节省了13%的成本支出。该系统显著提高企业管理水平,降低企业用工成本,增加企业生产效益。
ARM9;linux;QT-Embedded;数据采集;压铸行业
国内的压铸加工企业,普遍存在生产过程监控难,生产数据混乱,品质控制不科学,生产设备利用率低等问题,造成压铸行业利润空间缩小,资源消耗增大。所以一个可靠、实时的数据采集系统对于压铸企业的科学管理显得尤为重要。传统数据采集系统采用单片机作为控制核心,数据的存储、传输以及显示都需要额外的PC的辅助来实现,其成本高、稳定性低、体积大、不方便压铸生产现场安装。文中针对压铸行业的特点,基于嵌入式Linux和QT,设计出一套具有生产及管理信息交互的数据采集系统。该系统利用32位微处理器提供的资源与处理能力,实时采集在岗员工、模具、生产数量、开机时间等信息,并且由Linux管理系统资源。下面分为系统总体设计、硬件设计、软件设计、系统测试、结论5个部分进行介绍。
1 系统总体设计
结合压铸企业生产管理的特点和数据采集的基本组成与功能要求,本系统设计包括以ARM微控制器为中心的硬件和基于嵌入式Linux操作系统的软件两个部分。这两个部分均采用模块化方法设计。硬件设计模块主要包括CPU模块、LCD显示与触摸屏输入模块、串口通讯模块、开关量采集模块、以太网模块、USB接口模块和电源模块。软件设计模块主要包括操作系统移植和设备驱动程序设计模块、QT-Embedded图形应用程序设计模块两部分。系统结构图如图1所示。
图1 系统总体结构图
2 系统硬件设计
硬件系统采用核心板加扩展板的设计方案,将CPU模块独立设计在核心板中,扩展板包括开关量采集与输出模块、以太网通信模块、LCD显示与触摸屏输入模块、串口通讯模块、USB接口模块和电源模块。扩展板上主要是提供了外设模块及其相关的扩展接口。S3C2440集成3个UART接口,UART0供开发程序调试使用,超高频RFID读写器、ID卡读写器分别接UART1、UART2。S3C2440集成了一个USB1.1设备控制器,并有两个USB接口。设置一个为USB主接口USB Host,可以连接USB无线网卡。设置一个为USB从接口USB Device,供下载程序使用[1]。我们还保留了RJ45网络接口,以便多种场合应用。硬件总体框图如图2所示。
2.1CPU模块
CPU模块包含最基本的电源电路(5 V供电)、复位电路、标准JTAG调试口、用户调试指示灯、以及核心的CPU和存储单元等。其中以S3C2440芯片为核心,64M 32bit位宽的SDRAM为系统内存,256MB的Nand Flash为系统存储设备。64M的SDRAM保证了系统运行流畅,256M的Nand Flash也为u-boot引导程序、Linux内核、文件系统、Qt-Embedded应用程序以及数据提供了足够的存储空间[2]。此外,模块中配置了工作频率为32.768k的晶振电路,为CPU提供基准的振荡脉冲,实现系统的准确计时。
2.2开关量采集与输出模块
模块有4路直流开关量采集输入通道和4路开关量输出通道,24 V的采集和输出电压适用于绝大部分的工业现场。采集输入信号信号经过4.6 kΩ的限流电阻,再经过光电耦合器TL627隔离并转换成标准的逻辑电平供CPU读取。二极管IN4007防止了反向电流击穿光电耦合器,进一步提高电路的可靠性。开关量输出电路可接24 V的负载,如指示灯等等。开关量采集与输出电路如图3所示(以其中一路为例)。
图2 系统硬件结构图
图3 关量采集与输出电路
2.3串行通讯电平转换模块
S3C2440内部集成UART控制器,模具RFID读写器、员工ID卡读写器通过串行方式与CPU进行通讯。但是读写器串行通讯接口均采用标准的RS-232C电平,而S3C2440串行接口采用TTL电平,显然它们通讯电平不匹配。为此需要设置专门的电路来进行电平转换。该电路采用TI公司的MAX3232芯片作为电平转换芯片,其中4个0.1 μF的去耦电容用来提高抗干扰能力。具体连线图如图4所示。
图4 串行通讯电平转换电路
3 系统软件设计
系统的主程序是QT-Embedded图形应用程序,其开发采用目标机/宿主机模式进行,在宿主机上的交叉编译环境下进行编译,生成目标上可执行的二进制文件,在通过串口下载到目标板上运行。开发环境采用ARM-Linux交叉编译环境arm-linux-gcc-4.4.3,Linux内核是linux-3.4.2。有关内核linux-3.4.2内核编译和移植的资料很多,在此不作详细论述。软件部分着重介绍开关量采集驱动程序的编写以及QT-Embedded图形应用程序编写。系统软件设计结构图如图5所示。
图5 系统软件设计结构图
3.1开关量采集与输出驱动程序
该驱动程序分为开关量采集和开关量输出两部分。利用S3C2440的中断资源,以中断方式采集开关量。4路开关量通路对应着CPU的4个中断引脚,分别是EINT0、EINT2、EINT4、EINT6。由于这4路的采集电路原理是完全相同的,所以在此以第一路采集为例。当输入引脚的电平发生变化时,进入中断模式,并在中断服务函数中判断电平的变化[3]。由低电平变为高电平时,返回数值0x01;由高电平变为低电平时,返回数值0x81。其他3路采集程序,以此类推。应用程序根据返回的数值,判断的状态。开关量输出部分,输出引脚是输出引脚依次是:GPG3、GPG6、GPG9、GPG11。要输出开关量的时候往数据寄存器写入数值10,关闭的时候写入数值1。驱动程序向应用程序提供设备接口函数,主要完成用户与设备的读、写及打开等功能,其函数结构设计为:
设备打开函数MesIO_open完成以下操作:使能EINT0、EINT2、EINT4、EINT6中断模式,配置GPG3、GPG6、GPG9、GPG11为输出引脚。设备释放函数MesIO_close完成的操作与设备打开函数MesIO_open相反。IO操作函数MesIO_write根据传进来的参数对输出引脚进行操作。读设备函数MesIO_ read判断采集引脚的电平是否有变化。如果没有变化,进程休眠。如果有变化,进程根据电平变化的情况返回数值[4]。
3.2QT/Embedded图形应用程序设计
进行QT图形应用程序开发的首要步骤就是要在装有Linux操作系统的PC机和嵌入式系统上进行Qt-Embedded移植。为了提高开发效率,安装Qt Designer工具是很有必要的。有关Qt-Embedded移植的资料很多,在此不作详细论述。应用程序新建3个线程实时进取磨具信息、员工信息、生产数量等信息。此外完成了socket通讯程序,实现有线无线传输数据[5]。图形应用程序流程图如图6所示。程序开发分以下3个步骤进行。
图6 图形应用程序流程图
3.2.1建立窗体
程序一共需要开发7个窗体,分别是现场数据采集系统主窗体、员工上岗工种选择窗体、碑工岗位选择窗体、QC检查输入窗体、非生产人员岗位选择窗体、碑工下岗原因选择窗体、非生产人员下岗原因选择窗体。除主窗体选择mainwindow对话框外,其余的6个窗体均选择dialog对话框。根据实际需求选择控件加入到窗体中。
3.2.2建立信号与槽的映射
根据实际的需求,当用户点击一个按钮或打卡时,应用程序会执行相应的代码。由于系统建立了多个映射,在这里不一一阐述,仅以员工上岗操作为例。员工上岗打卡后系统会由主界面跳转到员工上岗工种选择界面,员工再根据自己的岗位在工种选择界面按下相对应的按钮反馈给系统。这里涉及到多个信号与槽的映射,其信号与槽连接抽象图如图7所示。
图7 信号与槽连接抽象图
3.2.3编写窗体函数
Qt/Embedded应用程序应包含一个主函数,这是应用程序的入口点。当系统切换窗体后,就会执行窗体对应的*.cpp代码。根据需求编写函数,篇幅有限,不做详细阐述。
3.2.4编译生成可执行文件
应用程序通常对应一个工程文件,用命令qmake?╞project产生一个工程项目文件,用命令qmake处理这个工程文件,生成一个Makefile文件。成功生成Makefile文件后,执行命令make,就可以生成可执行文件[6]。
4 系统测试
系统主界面见图8。测试表面该采集系统的软硬件运行十分稳定、可靠,能够将所采集的数据实时的在LCD上显示,以供操作人员查看分析,具有良好的交互,使用起来十分方便,并且支持无线的数据传输避免了现场布线等问题。
图8 系统主界面
5 结论
文中提出的基于S3C2440和Linux3.4.2的的压铸企业数据采集系统已经投入到压铸行业使用,实现了对压铸车间进行数据采集和分析功能,通过以太网技术把数据传输到后台服务器。通过实际应用表明,本系统使现场信息统计及生产调度的工作量减少了2/3,显著提高企业的生产效率,每年可以为企业节省几十万管理成本。而且本系统相比于传统单片机数据采集系统,具有性能强,成本低,体积小,更可靠等优点,在后PC时代的今天具有广阔的市场价值。
[1]付海严,韩山,郭云.ARM微处理器应用开发技术详解与实例分析[M].北京:清华大学出版社,2007.
[2]邹思轶.嵌入式Linux设计与应用[M].北京:清华大学出版社,2002.
[3]韦东山.嵌入式Linux应用开发完全手册[M].北京.人民邮电出版社,2008.
[4]刘淼.嵌入式系统接口设计与Linux驱动程序开发[M].北京:北京航空航天大学出版社,2006.
[5]周明天,汪文勇.TCP/IP网络原理与技术[M].北京:清华大学出版社,1998.
[6]Jasmin Blanchette,Mark Summerfield.C++GUI QT4编程[M].2版.北京:电子工业出版社,2008.
Design of data acquisition system based on S3C2440 and Linux3.4.2 for Die casting enterprise
GUAN Yi-fan1,GU Gang1,WANG Zhi-ping2
(1.College of automation,Guangdong University of Technology,Guangzhou 510006,China;2.Automation Research Institute of Guangdong Province,Guangzhou 510070,China)
Aiming at some problems in the domestic die-casting industry which the monitoring of the productive process and the investigation into quality problems are difficult,and the utilization rate of production equipment is low,data acquisition system based on ARM9 processor and embedded Linux OS is designed in this paper.The system uses Samsung S3C2440 processor as the core and transplants Linux kernel 3.4.2 as the software platform.Its UI development is completed by QTEmbedded.And it implements the Socket network applications.The application of the system in the ie-casting enterprises shows that the work of the enterprise production scheduling is reduced by 50%,the utilization rate of production equipment is increased by 37%,and the cost of the die-casting enterprise is saved by 13%each year.The system can improve the management level,reduce the labor cost,and increase the production efficiency.
ARM;Linux;QT-Embedded;data acquisition;die casting industry
TN702
A
1674-6236(2016)12-0190-04
2015-06-29稿件编号:201506243
2014年广东省科学院青年科学研究基金(qnjj201408);2014年广东省自动化研究所所长基金(A201404);2014年广州市对外合作项目(2014J450002)
关一帆(1990—),男,广东罗定人,硕士研究生。研究方向:嵌入式系统、计算机测控。