淮阴工学院数控技术论文报告选题名称:数控机床嵌入式远程测控系统设计与实现系(院):计算机工程学院专业:计算机科学与技术(嵌入式系统软件设计)班级:姓名:学号:指导教师:学年学期:2010~2011学年第1学期2010年12月10日数控技术论文报告摘要:为了满足数控机床远程测控的要求,提出一种基于JAVA和CGI相结合的嵌入式远程测控系统的全新设计方案,从硬件和软件方面进行了论述。在机床远程控制中采用了CGI模式,可以快速响应用户的WEB请求;针对嵌入式系统特点,在数据测试、处理中采用了Javaapple的瘦服务器解决方案,与其他的嵌入式网络测控系统相比,该系统继承了典型的B/S模型的优点,可以减轻嵌入式WEB服务器的负担,以创建更为直观、丰富的用户界面(GUI)。同时该系统能更好地动态刷新。测试结果表明方案可行、实用。关键词:数控机床;嵌入式系统;远程测控;Java;CGI数控技术论文报告引言:目前,国内一些数控系统还处于发展巩固时期,迫切需要一种能综合检测各种数控系统主要性能指标的检测装置,而国内目前尚没有这种测试装置。将嵌入式系统应用于网络测控系统,可大大提高测控系统的性能,降低成本和功耗,体积也大大减小。由于数控机床的测试数据需要进行大量分析处理,且控制量也较多,系统设计了全新的数控机床网络测控系统,它是基于S3C2410CPU和ARMlinux嵌入式操作系统,采用基于嵌入式WEB服务器的CGI+Javaapplet瘦服务器解决方案,此方案中Javaapplet瘦服务器模式实现对机床测试的大量数据进行分析、处理,在浏览器上绘图并实时刷新,CGI实现给机床发出实时的控制信号。与传统的B/S模式的实时动态网络测控系统相比,由于采用了Javaapplet瘦服务器模式可以减小嵌入式WEB服务器的负担,因为在该系统中,数据分析、处理、绘图应用程序通过服务器下载到客户端运行,同时数据刷新不需要整个网页刷新,数据更新更实时,利用Java技术提供了一个类库,可以在浏览器上显示更为直观、丰富的用户界面(GUI)。与传统的C/S模式相比,客户端不需要安装专用的客户端软件,方便系统软件升级,升级时不需要每台客户机重新安装,减少其维护和升级成本。1硬件系统设计系统设计的全新硬件平台如图1所示,CPU选用S3C2410,它主要完成系统管理和WEB服务器的作用。它包含一个16/32bit的RISC(ARM920T)的CPU内核,主频为200Hz,内部含有8通道10位A/D转换器和大量的I/O口,LCD控制器等接口,能运行UCOSII、ARMlinux和WINCE嵌入式操作系统。DM9000是10M/100M以太网接口控制芯片。通过CAN总线能够实现S3C2410对节点的数控系统的测试数据收集和控制。8位单片机89C55实现实时数据采集和控制。由于该系统主要实现对数控机床的运行状态的测试分析,需要准确测试伺服电机编码器的信号,选用集成度较高的LS7266R1计数芯片。LS7266R1是24位双轴正交信号鉴相器,在采样滤波、鉴相倍频、抗干扰性等方面极具优势。一片LS7266R1可同时输入2组信号,即可以检测2个伺服电机。系统硬件系统结构简单、成本低,不仅可以实现单台机床测控,还可以实现多台机床同时测控,不需要PC机就可直接接入Interne.t在客户机上用标准浏览器通过Internet就可以和嵌入式Web服务器通信,成功取代了1台专用PC服务器(插有专用的接口卡和以太网接口卡)或专用的通信芯片。实现了多点嵌入式设备与Internel的直接互联互通。数控技术论文报告图1硬件系统框图2软件设计系统体软件设计中,嵌入式操作系统是整个嵌入式系统的核心,选ARMlinux系统。由于嵌入式系统的存储容量很小,因此要把ARMLinux操作系统装入有限的存储容内,就要对它进行裁剪。对于数控机床的远程测控采取了CGI+Java全新的模式,既能实现远程测控,又能减轻嵌入式系统的负担,同时软件设计变得简单。体系结构如图2所示。图2系统结构2.1嵌入式WEB服务器设计嵌入式WEB服务器设计是系统设计的关键。系统通过修改和移植成熟的Web服务器BOA实现的。嵌入式linux的WebServer主要有3个:HTTPD、THTTPD和BOA.其中BOA是一个单任务的小型HTTP服务器,源代码开放、性能优秀,特别适合应用在嵌入式系统中。要实现测控功能,必须对BAO进行修改和移植,详细过程如下:2.1.1修改BOA在boa/src/boa.c中加入Javaapplet数据通信线程,为了保证数据的实时性和通信可靠,给它指定一个端口号。系统使用的是1414端口。Javaapplet数据通信线程的主要功能是侦听客服端1414端口,客服端有请求,立刻把从CAN总线采集的数控机床数据发送到客服端。2.1.2修改boa/src/Makefile里面的编译器CC=/opt/host/armv4l/bin/armv4l-unknown-linux-gccCPP=/opt/host/armv4l/bin/armv4l-unknown-linux-g++然后直接在boa/src目录下执行make即可生成BOA可执行文件,将其复制到ramdisk加载mount的目录的bin里面,然后等一同加入后面的配置文件和HTML/CGI文件后,重做ramdisk即可。数控技术论文报告2.1.3编制配置文件boa.confLINUX下的应用程序的配置都是以配置文件的形式提供的,一般都放在目标板/etc/目录下或者/etc/config目录下,但BOA的配置文件boa.conf一般都放置在目标板/home/httpd/目录下。系统的boa.conf文件编写如下:ServerNameSAMSUNG-ARMDocumentRoot/home/httpd/htmlScriptAlias/cgi-bin//home/httpd/cgi-bin/ScriptAlias/index.html/home/httpd/html/index.html它指定了HTML页面index.html必须放到/home/httpd/html目录下,cgi可执行文件必须放到/home/httpd/cgi-bin目录下。2.2远程数据动态测试实现远程数据动态测试使用的模型是Javaapplet的瘦服务器,就是B/S和C/S相结合,通过B/S模式的浏览后下载一个嵌入在浏览器中的应用程序,建立一个类似C/S模型的结构。用Javaapplet实现机床测试数据的处理分析、动态画图。先在PC机上把Javaapplet编译成可执行文件,与BOA一起烧写到测控系统的flash中,通过http协议把Javaapplet下载到客服端,下载完后立刻运行,这时Javaapplet就和BOA服务器中自己加入的数据通信线程的1414端口建立连接,进行数据传送,如图3所示。图3工作流程2.2.1网页编写当用户需要数控机机床运行状态,只需在客户端点击网页,就可实时以图形显示,该网页采用html语言,html语言中必须有Applet标签,其关键原代码如下,其中Draw1.class为javaapplet:Appletcode=Draw1.classwidth=600height=4002.2.2JavaApplet程序设计JavaApplet是用Java语言编写的一些小应用程序,这些程序直接嵌入到页面中,由支数控技术论文报告持Java的浏览器(IE或Nescape)解释执行能够产生特殊效果的程序。现在大多数网络浏览器都支持Java.Applet运行于浏览器上,可以生成生动的页面,进行友好的人机交互,同时还能处理图像、声音、动画等多媒体数据。它可以大大提高Web页面的交互能力和动态执行能力。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。当用户访问这样的网页时,Applet被下载到用户的计算机上执行。由于Applet是在用户的计算机上执行的,所以它的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地通过Applet来实现信息数据的传输和产生美妙的多媒体效果。设计的功能结构先是浏览器处理applet标签,再将applet程序装入并创建applet对象,接着就是执行applet程序,不过因为程序中使用了Runnable接口来实现数据更新线程,所以applet程序第一次执行时不会执行Runnable接口的start()方法,而是applet程序结构默认的start()方法,再执行绘图模块,最后回调Runnable接口的start()方法来建立数据更新线程,数据更新后再绘图并回调,这样就实现了不断更新数据和图形。其流程如图4所示。功能模块及实现函数:publicvoidinit():实现对客户端程序中某些变量的初始化。publicvoidstart():由于要不断的对图形的更新,所以需要重启applet程序并建立新线程。publicvoidrun():通过线程建立socket连接来获取新数据。publicvoidupdate(Graphicsg):将当前获取的最新的数据重新绘制成所需要的图形。图4JavaApplet流程图2.3CGI技术实现数控机床远程控制为了实现对数控机床的起停、行程等控制,当用户在客服端打开浏览器,用户通过操作数控技术论文报告控制界面来调用相应的CGI程序,CGI程序获取用户的请求,通过CAN驱动程序传递给各节点机床控制程序,其流程如图5所示。图5数控机床控制流程其中CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量,可以用C、C++以及SHELL等语言。3测试及结果该系统重点是研究嵌入式远程测试技术及其应用,数控系统精度测试是测控对象,用户可以在Internet或Intranet上通过网络从测试仪获取数据。Web用户通过浏览器打开服务器所在的主页,进入相应的测试系统平台,提出所期望的服务请求,通过动态请求机制CGI把命令请求传给Web服务器。测试前首先建立好基于S3C2410嵌入式开发环境,把编译好的Booloader、嵌入式linux内核和ramdisk烧入FLASH中,WEB服务器和Javaapplet放在在同一个目录。运行时先起动BOA服务器,动态加载相关驱动,在PC机的浏览器上输入嵌入式系统的IP地址,采集的数据就可以动态显示在网页上,用户可以点击浏览器上的控制界面控制设备。图6是基于CGI的控制界面,图7是Javaapplet把测试数据在客服端进行处理后画的,效果非常好。数控技术论文报告4结束语系统实现了数控机床嵌入式网络测控系统,给出了全新的硬件和软件平台设计。在硬件平台上首次采用LS7266R1、CAN总线以及ARM嵌入式CPU相结合。它可以不需要PC机就能实现多点分布式远程测控。在软件设计上首次成功地实现了基于ARMlinux嵌入式操作系统和BOA嵌入式WEB服务器的CGI+Javaapplet的瘦服务器相结合解决方案。该方案充分利用嵌入式WEB服务器的特点,把传统的B/S与C/S模式完美结合,采集的数据能够以图形形式在浏览器上实时刷新。该平台具有一般通用性能,有一定的应用推广价值。参考文献:[1]肖继学,黎亚元,陈廷成.数控机床运行状态综合测试系统的分布式开发.西华大学学报,2005(5):18-21.[2]黄天戍,余智欣.新型嵌入式Web服务器系统的设计与研究.计算机工程,2005(11):179.