周涛,项嵘,李浩,徐文涛
(1.南京航空航天大学电子信息工程学院,江苏南京211106;2.南京航空航天大学理学院,江苏南京211100)
基于嵌入式LlnuX的工业控制系统设计与实现
周涛1,项嵘1,李浩1,徐文涛2
(1.南京航空航天大学电子信息工程学院,江苏南京211106;2.南京航空航天大学理学院,江苏南京211100)
摘要:针对传统PLC工业控制器效率比较低,可靠性比较差的缺点,利用ARM9嵌入式开发平台,结合嵌入式Ljnux的优势,研究并设计用于工业生产环境的智能监测与控制系统。完成了工业控制器的硬件电路设计,并开发出基于嵌入式Ljnux的控制软件。实际运行结果表明,该工业控制系统的整体性能良好,触摸屏为用户提供友善的人机交互界面,提高操作平台的易用性,网络摄像头对工业环境进行集中监控。本系统软件具有兼容性强,高可扩展性和开发周期短的特点,极大的减小了控制系统的维护成本和难度,能够满足当今社会对工业自动化越来越高的要求。
关键词:ARM微处理器;工业控制系统;Ljnux系统;网络摄像头;嵌入式系统
工业自动化控制在生产过程中发挥着重要作用,嵌入式系统在工业控制领域中的典型应用为过程控制。过程控制首先通过监测分析工业环境中各部分工作状态,然后由控制系统发出指令进行针对性的实时控制[1]。
传统工业控制手段主要采用可编程逻辑器件(Programmab1e Logjc Contro11er,PLC)技术,生产过程的复杂性使得PLC技术显露出许多不足。首先,各种PLC开发工具软件和硬件之间存在兼容性问题;其次,工业控制领域的人机接口软件一般通过手工或委托第三方进行编写,这种开发模式的缺点是所用的时间长,效率比较低,可靠性比较差;最后,传统控制采用分布式控制手段,用户需要到生产现场对设备进行点对点的数据采集或控制,从而降低了生产效率。针对这些问题,本文设计基于嵌入式Ljnux的工业控制系统,并开展实验验证。基于嵌入式Ljnux的工业控制系统具有成本低、功耗低、易开发和性能好等特点,能使开发者生产出相对于给定的功率预算而言的较佳性能工控系统[2]。
以嵌入式技术为核心,实现通用工业控制系统,其基本目标是通过完成逻辑控制从而控制工业设备,通过工业控制系统与工业设备进行通信以及网络摄像头和温度传感器对工业环境进行监测,从而达到监测与控制各个设备结点的目的。本系统的设计不仅从硬件上考虑系统的可靠性、可扩展性以及系统成本等因素,还考虑软件系统的易用性,实时性等因素。整个系统由工业控制器和工业控制软件平台组成。本系统的总体结构如图1所示。
图1 系统总体结构图
本系统的硬件系统总体框图如图2所示。为了保证系统功能的完整性,在以ARM9为核心的嵌入式平台上扩展了存储模块、网络摄像头模块、以太网通信模块[4]、人机接口模块以及温度测量模块。这些模块的协同合作实现整个工业监测和控制系统。其中,存储系统包括了2片64 MB的SDRAM和一片64 MB的NAND F1ash,人机接口主要包括LCD和触摸屏。
图2 系统硬件结构图
基于嵌入式Ljnux的工业控制系统的硬件设计是以搭载ARM9处理器的嵌入式平台为核心,通过在外围扩展功能模块实现系统总体功能。S3C2440是三星公司生产的一种16/ 32位RISC结构微处理器芯片,具有先进的ARM920T内核,可提供一套通用的外设接口,无需再额外扩充外围器件,其功耗低,简单,方便,且全静态设计,特别适合于要求稳定性高、功耗低的嵌入式工业控制系统[3]。S3C2440还提供丰富的片上资源,集成LCD专用DMA的LCD控制器,3路UART,2路SPI,IIC总线接口,4路拥有外部请求引脚的DMA控制器。依靠核心芯片可以方便地在外围添加人机接口模块,网络摄像头模块,以太网通信模块,以满足工业控制器的需求。
嵌入式工业控制系统底层温度传感器选用DS18B20作为数据采集装置,实现温度数据的实时采集。DS18B20是Da11as公司生产的数字温度传感器,具有体积小、适用电压宽、经济灵活等特点。
3.1系统软件架构设计
整个控制器软件包含Boot1oader引导程序,Ljnux操作系统,根文件系统以及应用程序。
图3 系统软件设计结构图
采用Uboot开源项目作为Boot1oader,其作用为引导操作系统。Uboot支持多种架构的处理器,需要移植Uboot使之能够整个软件的单板[6]。它的具体工作是将Ljnux从NAND f1ash中复制到RAM中,传递启动参数给Ljnux,最后调用Ljnux内核,直到Ljnux启动成功。
Ljnux2.6内核对S3C24xx系列的ARM9处理器已经完全支持。通过make menuconfjg配置Ljnux选项,选择支持Smdk2440单板的Confjg配置使之支持单板,选择UVC摄像头的驱动支持,这样所有满足UVC标准的USB摄像头就能够被Ljnux系统自动识别。最后为内核打上yaffs的文件补丁,重新配置Ljnux内核,使之能够支持yaffs文件系统。此外,我们编写了基于Ljnux设备驱动框架的LCD,Touchscreen,DM9000网卡以及DS18B20的设备驱动程序,它们是整个软件系统的核心。
采用Busybox制作根文件系统。首先使用交叉编译器编译Busybox,然后将编译好的文件复制到我们创建的根文件系统文件夹中。增加/etc /dev/ /1jb等目录,在/etc/目录下构建基本的配置文件,复制动态链接库到/1jb文件下,至此最简单的Ljnux根文件系统构建完毕[7]。
应用软件通过编写相应的底层驱动程序,实现对各个硬件模块的数据交互。本工业控制器系统实现了视频数据采集、温度检测与报警以及工业设备状态信息检测与控制3个功能。
3.2系统主程序设计
系统主程序执行过程如图4所示,Ljnux系统启动以后,执行目录/etc/jnjt.d下的脚本rcs,通过脚本命令打开MJPG-streamer程序,让其在后台运行。它以流的形式通过局域网传输到上位机监控平台。
图4 软件设计流程图
系统启动完成之后,工业控制软件初始化所有的外围设备,通过Ljnux系统提供的open系统调用打开我们所需的设备文件,例如DS18B20,串口,LED设备等,初始化Modbus工业总线库,如果有设备打开不成功,或者函数库初始化失败,则在Qt应用程序界面上显示相应的错误信息。
系统主程序由两个线程构成,其作用分别是接收串口发来的信息和定时采集DS18B20温度传感器的数值。其中串口线程负责接收Modbus消息,比如控制器的启动,停止,发脉冲,停止脉冲等消息,工业控制器一旦接收到这些消息,就完成相应的响应,在界面上显示相关的信息。温度采集线程定时地采集外界的温度信息,如果采集到的温度信息在正常的范围之内,则不做任何处理,否则就通过蜂鸣器立马报警,直到外界解除这种危险状态。
工业控制设备以工业控制领域中常用的横切机为例。创建线程完毕后,进入Qt应用程序的大循环中,应用程序可以接受触摸屏的事件响应,使用Qt的信号与槽的消息相应机制,将工业控制器软件界面上每一个按钮,对应一个消息处理函数。例如:当用户点击”开始”按钮时,“开始”按钮对应的消息相应函数Start-Machjne()就会被执行,它通过Modbus总线发送“开始”命令,启动连接的其他工业设备,这些工业设备接收到命令后就开始工作。其它的工业设备类似,本工业控制系统可以针对不用功能的工业设备,在线程中创建不同功能按钮,具备非常强的拓展性,便于二次开发。
为了使得整个工业系统的监控功能更加强大完善,方便用户对自己的工业环境进行检测,开发了一款基于安卓的APP应用,它可以获取摄像头的视频数据,并在手机上显示。
设计完成后进行了一系列的测试验证预期的设计目标:
1)网络视频监控测试[9]。测试将USB摄像头通过USB接口连接到ARM开发核心板上,PC端和手机移动客户端可以通过连入无线路由器实现视频信息的获取,实现了对工业环境远程监控,同步性能良好,画面实时性好,可辨度高,能够真实的反映复杂的工业环境。
2)触摸屏对工业环境温度的检测与横切机的控制。通过良好的人机界面,可以在界面中读出车间的温度与横切机的状态,并且通过触摸屏的操作实现对横切机的控制,实现简便的宏观控制,界面清晰易懂,操作简便[10]。
测试表明,本系统成功地完成预期功能,视频监控的清晰度和实时性都很理想,通过网络通信,成功的完成PC端与手机移动端的同步;通过友好的人机界面实现了对工业环境的检测与控制。测试结果如图5、图6所示。
图5 视频监控画面(手机客户端)
图6 触摸屏界面
本文介绍了采用嵌入式Ljnux实现工业控制系统,该系统包括工业环境监测与控制2部分。触摸屏作为用户进行现场控制的操作平台,提供友好的人际交互。手机客户端软件可以使用户实现对现场工业环境的远程监控。在本工业控制系统中,以ARM9为核心,拓展了网络摄像头模块,以太网通信模块,人机接口模块以及温度测量模块,保证了系统功能的完整性,体现了嵌入式Ljnux在工控环境中应用的优越性,为工业生产过程自动化,智能化,模块化提供了一个新的实现方法。
参考文献:
[1]张义磊.基于S3C2410嵌入式工业控制器的关键技术研究[D].长春:中国科学院长春光学精密机械与物理研究所,2004.
[2]叶鹏,马俊,王威.基于ARM的RFID智能物流管理系统设计与实现[J].计算机工程与设计,2013,34(10):75-79.
[3]冯明亮.基于ARM&Ljnux的嵌入式网络控制系统的研究与设计[D].西安:西安科技大学,2011.
[4]范学领.基于ARM的工业级嵌入式以太网络接口实现[J].测控技术,2005,24(4):36-38.
[5]姚飞昭,丁金华,宋鹏.嵌入式Ljnux操作系统下的串行通信[J].大连工业大学学报,2008,(03):270-273.
[6]聂和平,邱晓辉.基于ARM9的嵌入式Ljnux系统移植与驱动开发[D].南京:南京邮电大学,2013.
[7]Fernandze RO,Peres.Remote monjtorjng and contro1 of e1ectronjc nutrunners wjth embedded jnternet[J]. Industrja1 E1ectronjcs Socjety Vo1ume,2002,34(3):53-58.
[8]姚聪,方勇,汪敏.基于ARM的嵌入式图像采集处理系统及其无线传输[J].电子技术,2003,(11):31-34.
[9]杨永侠,何波.一种新型网络视频监控系统的设计与实现[J].西安工业大学学报,2011,31(1):78.
[10]郭云飞,梁云,黄凤.基于信息通信融合的电力业务模型研究[J].电力信息与通信技术,2015,13(2):1-4.
Deslgn and lmPlementatlon of lndustrlal control system based on embedded LlnuX
ZHOU Tao1,XIANG Rong1,LI Hao1,XU Wen-tao2
(1.Nanjing University of Aeronautics and Astronautics,Electronics and Information Engineering,Nanjing 211106,China;2.Nanjing University of Aeronautics and Astronautics,College of Science,Nanjing 211100,China)
Abstract:Ajmjng at the re1atjve1y 1ow effjcjency and poor re1jabj1jty of the tradjtjona1 PLC jndustrja1 contro11ers,jnte11jgent monjtorjng and contro1 system for jndustrja1 envjronments js studjed and desjgned jn thjs paper. It js based on ARM9 embedded deve1opment p1atform,and takes the advantages of embedded Ljnux. The hardware desjgn of jndustrja1 contro11ers and Ljnux-based embedded contro1 software js descrjbed. Actua1 operatjng resu1ts showed a good overa11 performance of the jndustrja1 contro1 system. The touch screen can provjde users wjth a frjend1y jnteractjve jnterface,jmprovjng the user experjence. The webcam can provjde centra1jzed monjtorjng of jndustrja1 envjronment. The system software has advantages of compatjbj1jty,hjgh sca1abj1jty and features short deve1opment cyc1e,great1y reducjng the cost and djffjcu1ty of majntajnjng contro1 systems,bejng ab1e to meet today's jncreasjng demands of jndustrja1 automatjon.
Key words:ARM mjcroprocessor;jndustrja1 contro1 systems;Ljnux systems;webcam;embedded systems
中图分类号:TN7
文献标识码:A
文章编号:1674-6236(2016)07-0023-03
收稿日期:2015-05-22稿件编号:201505206
作者简介:周涛(1994—),男,湖南衡阳人。研究方向:信号与信息处理,嵌入式系统。