塑料挤出机控制系统实现与运行
- 格式:docx
- 大小:2.31 MB
- 文档页数:24
塑料挤出机控制系统实现与运行本文对塑料挤出机专家控制系统的实现做详细地介绍,主要包括开发环境的搭建、系统开发、系统运行和系统测试与分析四个部分。
1开发环境搭建开发环境的搭建是开发系统的首要条件,本文开发的系统是要运行在ARM嵌入式开发板中的,开发板中运行的是Linux系统,由此可知环境搭建的工作内容。
1.1编程环境搭建(1)PC虚拟机与嵌入式开发板的通信本文系统软件开发过程中,将不断地对系统界面和功能进行测试与修改,从而完善功能,这些是需要在开发板的Linux系统中运行才能测试的,而每一次的修改都要修改开发板的文件系统和重新编译内核,这太繁琐,本文采用将虚拟机中的文件系统通过NFS服务器挂载到嵌入式内核中的方式,实现二者文件系统的共享。
(2)PC机与虚拟机文件共享在Linux系统中对文件进行编辑一般使用的是vim文本编辑器,它的使用操作很复杂,需要对应的执行命令来实现文本的修改,它是基于命令的文本编辑器,这很大的限制了开发效率。
在PC端Windows 操作系统有一些好用基于图形的本文编辑程序如U1traEdit,可是虚拟机中的Linux文件系统和PC机并不能直接访问,需要通过samba服务器来实现PC机与虚拟机文件系统的共享。
如图1所示。
图1PC与虚拟机Linux系统共享目录1.2相关程序移植本文开发所需要用到的程序都是可以在Linux下运行的,但是ARM开发板中的Linux系统和PC中Linux系统的编译器是不同的,所以就需要将程序重新编译、移植到ARM开发板中去,包括Boa服务器、CGIC库和S QLite数据库的移植。
(1)Boa服务器移植a)配置编译Boa:下载源码解压后,需要修改makefile文件中的编译工具链,把其中变量CC的值改成arm-linux-gcc,LD改成arm-linux-ld,然后make就可以生成Boa应用程序了。
将Boa程序、生成的库文件和服务器的配置文件放入到开发板的文件系统中相应的文件目录中去。
b)修改boa.conf配置文件:其中,日志路径和错误日志路径分别存放的是服务器正常执行和出错信息的文件地址;web根目录路径和CGI脚本目录路径分别表示的是服务器执行中寻找web界面和CGI程序的路径;默认首页则是用户访问服务器出现的首页界面。
c)测试,为了确保Boa的正常运行,利用简单的测试程序测试Boa 的运行情况.在web根目录下建立index.html文档(默认首页),其内容为:<HTML><BODY>This is boa</BODY></HTML>在开发板中运行BOA服务器,通过IE浏览器输入开发板的IP地址连接到运行Boa的嵌入式系统,若页面显示This is boa,说明Boa移植成功。
(2)CGIC库移植本文编写CGI程序使用的是C语言,因此将对CGIC库进行移植,过程如下:a)从CGIC站点上下载cgic205.tar.gz软件包;b)在虚拟机中执行tar zxvf cgic205.tar.gz命令将软软件包解压到当前文件目录;c)执行cd cgic205命令进入解压后的文件目录中,修改M akefile文件,找到CC=gcc,将其改成CC=arm-linux-gcc,找到AR=arm,将其改成AR=arm-linux-ar,找到RANLIB=ranlib,将其改成RANLIB=arm-linux-ranlib,执行make命令进行编译,将得到的libcgic.a库文件拷贝到开发板的lib/(库文件目录)中。
d)测试,在虚拟机中写一个简单的C程序,主要是输出一个简单的HTML页面,在虚拟机中利用编译好的CGIC库和交叉工具链编译这个程序,命令行如下:arm-linux一gcc-L/cgic205/-lcgic-I./cgic205/test.c-o test.cgi将得到的test.cgi程序拷贝到开发板中文件系统中服务器设置好的CGI脚本目录C cgi-bin)中去,在IE浏览器中输入192.168.1.135/cgi-bin/test.cgi,若输出的界面正确,则移植成功。
(3)S qlite数据库移植(a)在S QLite官网中下载sqlite-3.6.16.tar.gz软件包,在虚拟机Linux系统中进行解压;(b)进入解压后的文件目录中,修改编译配置文件中的交叉工具链(arm-linux)和编译后存放的目录(/usr/local/Sqlite)。
(c)接着执行make和make install命令即可完成程序的重新编译。
在/usr/local/Sqlite目录下生成bin,lib,include目录;(d)将编译好的程序和库文件拷贝到开发板中,具体为将bin目录下的sqlite3拷贝到开发板文件系统/bin目录下,将lib目录下所有文件拷贝到开发板文件系统//lib目录下;(e)测试:在开发板中执行命令行sqlite3test.db,查看运行情况。
如果出现如图2所示的结果,则说明移植成功。
图2Sqlite3移植测试结果2系统开发本节将对系统各个部分的功能进行开发实现。
2.1接口实现本文接口也就是网页界面设计开发,使用的是HTML,CSS和JavaScript语言,它们都可以使用普通的编辑器进行编写,只需要将文件的后缀名改为“.html”和.js”即可。
实现了开发板文件系统与虚拟机中文件目录的共享、PC机与虚拟机Linux文件系统目录共享,即可以通过PC机直接进入嵌入式开发板的文件系统中去。
因此我们可以在Boa服务器设置的根目录(/web/目录)下面新建一些.html和.js文件,如图3所示,通过进行网页编写和接口功能的实现,如图4所示。
图3Boa服务器根目录图4ultraedit编辑器代码编写界面(1)登录界面实现在编写代码之前应该从实现界面基本功能和页面优化两方面对登录界面的布局进行整体设计。
从功能考虑,需要设计的是一个登录界面,它要实现账号输入、密码输入、登录、注册账号的功能,同时,本页面也应该有本系统的标志,可以通过系统名文字显示来显式的表明,这些功能的实现分别对应着HTML中不同的标签。
从页面优化考虑,系统名应该放在较突出的位置,比如说页面的首部,为了让页面看起来比较有整体感,可以同时设定一个页脚,将登录界面的各个功能标签放在页首和页脚之间,居中显示。
用HTML编写出的标签实现了基本功能,可是对于每个标签的背景、字体格式、字体大小等都是通过CSS来标记的,可以将各个标签将要用到的格式(CSS样式表)放到HTML的<head>标签中,在具体页面编写时直接调用即可,这样有利于后期的维护升级。
点击登录按钮时,会将我们的账号密码以表单的POST方式提交给Boa服务器中的CGI程序,程序会将提交的数据以标准输入的方式提取出来,再和数据库中普通用户数据表和工程师用户数据表中的的账号、密码对比,如果错误,则提示密码错误,请重新输入,并返回到初始登录界面;如果正确则进入相应的菜单页面(普通用户和工程师的页面是不同的)。
当用户没有账号的时候,就需要点击“注册账号”超链接,可以进入到注册界面。
(2)注册界面实现注册界面的实现基本和登录界面的相同,只是分为了两个部分,一个是普通用户的注册,直接输入用户名和密码;二是工程师注册,需要验证码,因为工程师用户的账号是直接对知识库进行修改的,必须谨慎。
当点击登录按钮时,一样是以POST表单方式提交到CGI程序中,程序根据用户类型在数据库中建立普通用户和工程师用户的账号数据表。
当注册密码和确认密码不匹配或者工程师注册验证码不对时会提示出错,并返回注册界面。
最后完成注册后可以点击页脚的“返回登录界面”超链接进入登录界面。
(3)密码修改界面实现密码修改界面的实现和注册、登录的界面是类似的,只有功能的不同。
它的功能就是提供给用户一个修改账户密码的接口,首先要通过原始密码的验证,证明是本人操作,以防止别人通过其他方式进入此页面篡改密码,再输入新的密码,保存修改即可。
点击“保存修改”按钮,就会将表单内的原始密码、新设密码以及确认密码的数据提交给数据库的CGI程序,程序提取出数据后先判断新设密码与确认密码是否匹配,如果不匹配就显示“新设密码和确认密码不匹配”的错误信息,并返回密码修改界面。
再将原始密码与数据库中的密码比对,若找不到符合的数据项就显示“原始密码错误”并返回密码修改界面,如果找到符合的数据项则进行密码的修改操作,再跳转回到菜单界面,以待用户即进行其它的操作。
(4)菜单界面实现如同登录界面的实现一样,也需要先布局,再编写实现。
从功能上看,菜单的功能是进行系统的导航作用,是进入各个功能的接口。
根据前面内容的设计可以知道对于普通用户来说包括五个功能模块:生产目标设定模块、工艺参数推理模块、参数推理解释模块、一键启动机组模块和密码修改模块;对于工程师来说包括两个模块:知识库更新和密码修改模块。
而且这些功能模块的导航需要在每个模块的部分都有,以便在各个模块界面间灵活的跳转。
再将登录界面的页头和页脚加入进来,可以在页脚中加入登录界面的超链接,以便让用户可以直接返回登录界面。
当鼠标指向导航中各个模块界面的按钮时,会变色,点击后就会跳转到其它各个模块的界面了。
(5)生产目标设定界面的实现生产目标设定界面的功能是为用户提供系统生产目标设定的接口,用户可以通过它来设置需要生产优化的塑料挤出机组的机型、物料、最大挤出量、片材厚度和片材宽度。
整体的页面结构与前面的界面类似,只是功能标签的不同,这里不再赘述。
由于每个机型适用的材料、最大挤出量、片材的宽度和厚度是有限制的,为了便于用户填写生产目标,专门设计了一个表单,用于用户查询机型的基本信息。
第二个表单就是所设定的生产目标了,它还是包括那五项:机型、材料、片材的宽度和厚度。
界面显示效果在后面系统运行小节中,如图10所示。
首先,用户可以在第一个表单中选择机型,点击查询按钮后会将机型信息提交给服务器中相应的CGI程序,CGI程序访问数据库进行查询,将得到的机型信息输出到新的界面,返回到浏览器中。
然后用户在第二个表单中根据不同机型的特点,选择机型、材料,填写最大挤出量和片材的厚度、宽度,最后点击保存设定按钮,就将这些信息提交到服务器中相应的CGI程序进行推理。
CGI程序得到生产目标后就会进行推理操作,将推理结果和推理过程存储在各个缓存数据表中,以待后面用户咨询所用。
(6)工艺参数推理界面实现工艺参数推理界面的功能是向用户显示推理得到30个工艺参数的具体数值,用户可以根据自己的需要对推理得到的参数值进行修改。
用户可以先点击“参数推理”按钮,会将表单提交给服务器中相应的CGI 程序,CGI检测到输入的表单为空,就会查询参数推理缓存数据表,将其中的参数一个一个的取出输出到工艺参数推理界面对应的位置上去。