張科威,楊春艷,于中華
(中國船舶重工集團(tuán)第七二二研究所,湖北武漢 430074)
GoAhead WebServer在雕刻控制系統(tǒng)中的應(yīng)用
張科威,楊春艷,于中華
(中國船舶重工集團(tuán)第七二二研究所,湖北武漢 430074)
通過在基于VxWorks的嵌入式平臺上架構(gòu)了一個WebServer服務(wù)器,并將Web服務(wù)器應(yīng)用于雕刻控制系統(tǒng)中實(shí)現(xiàn)了遠(yuǎn)程操作控制。試驗(yàn)結(jié)果表明:該方案具有成本低、開發(fā)效率高和易于移植等特點(diǎn),為工業(yè)控制領(lǐng)域的遠(yuǎn)程控制提供了一種行之有效的方法。
VxWorks;Web服務(wù)器;遠(yuǎn)程控制;雕刻控制系統(tǒng)
隨著工業(yè)技術(shù)的發(fā)展和嵌入式應(yīng)用領(lǐng)域越來越廣泛,應(yīng)用嵌入式技術(shù)開發(fā)雕刻控制系統(tǒng)技術(shù)已非常成熟,而將Web技術(shù)運(yùn)用到雕刻控制系統(tǒng)進(jìn)行遠(yuǎn)程控制的卻很少。采用Web+嵌入式技術(shù)來實(shí)現(xiàn)雕刻機(jī)控制系統(tǒng)的遠(yuǎn)程控制,用戶或操作人員只需通過客戶機(jī)遠(yuǎn)程登錄瀏覽器就可以進(jìn)行系統(tǒng)的控制與操作,這樣可以將操作人員從惡劣的環(huán)境中解脫出來,實(shí)現(xiàn)雕刻控制系統(tǒng)的遠(yuǎn)程控制操作。
采用三星公司基于ARM1176ZJF內(nèi)核的S3C6410作為處理器芯片。S3C6410微處理器具有豐富的片內(nèi)外設(shè),可根據(jù)系統(tǒng)需要進(jìn)行外圍電路的擴(kuò)展,減少了開發(fā)難度和開發(fā)成本,后續(xù)軟件的設(shè)計(jì)與實(shí)現(xiàn)都是基于此硬件平臺的??刂葡到y(tǒng)的硬件結(jié)構(gòu)圖如圖1所示。
圖1 控制系統(tǒng)硬件結(jié)構(gòu)圖
(1)系統(tǒng)的硬件平臺以三星公司的ARMS3C6410為核心芯片,擴(kuò)展FLASH、SDRAM存儲器、SD卡、串口、USB端口、網(wǎng)絡(luò)接口等外圍功能。
(2)ARM與FPGA之間通過地址總線和數(shù)據(jù)總線進(jìn)行地址和數(shù)據(jù)的交互。
(3)FPGA主要是對各運(yùn)動軸的速度和方向進(jìn)行控制,接收ARM傳送過來的信號并將其轉(zhuǎn)化為方向脈沖和速度脈沖[1],通過FPGA轉(zhuǎn)化為脈沖可以提高系統(tǒng)控制精度。
在嵌入式控制系統(tǒng)的硬件平臺搭建與調(diào)試通過之后進(jìn)行軟件的開發(fā)與移植工作,此系統(tǒng)的開發(fā)流程是:先進(jìn)行嵌入式操作系統(tǒng)VxWorks在硬件平臺上的移植,再將GoAhead WebServer成功移植到嵌入式操作系統(tǒng)上,最后進(jìn)行應(yīng)用程序功能的開發(fā),以Web瀏覽器的形式對系統(tǒng)的功能進(jìn)行操作。其系統(tǒng)結(jié)構(gòu)圖如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)圖
VxWorks是一種功能強(qiáng)大、在目標(biāo)機(jī)上高性能、可裁剪的嵌入式實(shí)時操作系統(tǒng)。其微內(nèi)核設(shè)計(jì)結(jié)構(gòu)節(jié)省內(nèi)存空間、保證了對外部事件的快速反應(yīng),可靠性高和實(shí)時性強(qiáng)的特點(diǎn)使其廣泛應(yīng)用到工業(yè)控制、通信技術(shù)領(lǐng)域。
在硬件平臺上移植VxWorks操作系統(tǒng),首先獲取硬件的板級支持包,定制一個VxWorks內(nèi)核,在內(nèi)核啟動成功后,再添加相應(yīng)的網(wǎng)絡(luò)組件、定時器等相關(guān)組件,將編寫好的設(shè)備驅(qū)動程序添加進(jìn)入。
GoAhead是嵌入式操作系統(tǒng)的一個比較專用的Web服務(wù)器,其構(gòu)建在設(shè)備管理框架之上,操作者能夠根據(jù)WebServices的標(biāo)準(zhǔn)來部署應(yīng)用,其很小的內(nèi)存消耗、支持認(rèn)證功能、獨(dú)特的URL分析器等特點(diǎn)使之應(yīng)用非常普遍。GoAhead的大部分功能都在服務(wù)它自己提供的goform功能,GoAhead是跨平臺的服務(wù)器軟件,可以穩(wěn)定地運(yùn)行在 Windows、VxWorks、Linux、MacOSX等操作系統(tǒng)上,GoAhead在VxWorks操作系統(tǒng)上的移植過程主要有以下幾個步驟:
(1)GoAhead源碼添加到應(yīng)用工程
在WindRiver應(yīng)用工程中添加GoAhead源代碼,同時去掉webSSL.h,webSSL.c,webComp.c文件。
(2)添加預(yù)編譯宏
在工程的編譯—>屬性—>編譯宏框中添-DWEBS,-DUEMP,-DOS= “VxWorks”, -DVXWORKS宏,在屬性框中定義這些宏相當(dāng)于在預(yù)編譯的每個文件中都定義這樣的宏。
(3)初始化設(shè)置
在main.c文件中需要進(jìn)行一些更改配置,文件系統(tǒng)的設(shè)備名為/tffs0,需要將定義宏改為#define ROOT_DIR T(“/tffs0”);網(wǎng)頁存放在 “/tffs0/web”目錄下,需將根路徑改為static char_t*rootweb=T(“web”);開啟web瀏覽器的初始頁面設(shè)定為log-in.htm,則需將initWebs()函數(shù)中web定向函數(shù)改為 websRedirect(wp,T(“l(fā)ogin.htm”))。
(4)登錄WebServer服務(wù)器
在系統(tǒng)提供的用戶應(yīng)用程序初始化函數(shù)usrAppinit()中啟動websvxmain()函數(shù),則通過taskS-pawn()函數(shù)創(chuàng)建一個任務(wù)taskSpawn(“websvxmain”,“110”,0,1024*100,websvxmain,0,0,0,0,0,0,0,0,0,0)。將編譯生成的 goahead.out文件加載到嵌入式操作系統(tǒng)中。
在瀏覽器中輸入目標(biāo)機(jī)的IP地址,就可以訪問目標(biāo)機(jī)文件系統(tǒng)下/tffs0/web文件夾下設(shè)定的登錄網(wǎng)頁login.htm,輸入正確的用戶名和密碼就可以進(jìn)行遠(yuǎn)程登錄操作控制。
應(yīng)用程序主要采用C語言和HTML語言進(jìn)行表單設(shè)計(jì),用這兩種語言設(shè)計(jì)具有良好的平臺獨(dú)立性和服務(wù)器獨(dú)立性,程序可以不經(jīng)修改運(yùn)行在不同的硬件平臺、不同的操作系統(tǒng)軟件平臺上、具有相同操作系統(tǒng)的服務(wù)性[2]。遠(yuǎn)程操作機(jī)通過瀏覽器瀏覽到某個頁面,用戶在進(jìn)行操作時通過點(diǎn)擊sumbit類型的按鈕給服務(wù)器發(fā)送一個CGI程序的URL請求以后,服務(wù)器知道所請求的URL是一個CGI程序,并找到相應(yīng)的CGI程序的入口地址,在入口地址中進(jìn)行功能函數(shù)的實(shí)現(xiàn)。
下面以雕刻控制系統(tǒng)的X軸的直線行駛作為Go-Ahead WebServer的實(shí)例進(jìn)行說明。其表單界面如圖3所示。
圖3 htm表單界面
圖3是用戶通過瀏覽器訪問的htm頁面,其實(shí)現(xiàn)方式是以HTML語言實(shí)現(xiàn)的[3],在表單中顯示了運(yùn)動軸X、Y、Z軸的速度和位移,其主要實(shí)現(xiàn)語句如下:
圖4 加工文件程序調(diào)用流程圖
一個HTML表單的<form>標(biāo)識中必須包含有一個action屬性元素,action屬性用來指定要接收表單數(shù)據(jù)的資源的URL,這個資源是Web服務(wù)器上的一個可執(zhí)行程序,這個可執(zhí)行程序主要負(fù)責(zé)處理表單數(shù)據(jù)和對所提交數(shù)據(jù)的響應(yīng)[4]。在表單界面中,當(dāng)用戶點(diǎn)擊OK按鈕以后,將通過 action=“/cgi-bin/process.cgi”將處理信息提交給服務(wù)器,進(jìn)入入口處在process_cgientry()函數(shù)中執(zhí)行文件的加工,加工文件程序的調(diào)用流程圖如圖4所示。
進(jìn)入process_cgientry()函數(shù)中執(zhí)行加工文件時,一直判斷文件是否加工完成,在未完成的情況下系統(tǒng)實(shí)時向客戶端返回各運(yùn)動控制軸的速度、位移等信息,這樣實(shí)現(xiàn)了客戶端與服務(wù)器信息的交互。
該控制系統(tǒng)是通過將嵌入式Web服務(wù)器技術(shù)和B/S架構(gòu)結(jié)合應(yīng)用在嵌入式實(shí)時操作系統(tǒng)VxWorks中,嵌入式Web服務(wù)器GoAhead Webserver具有體積小、功能強(qiáng)大、源碼開放的技術(shù)特點(diǎn),將其移植到VxWorks嵌入式實(shí)時操作系統(tǒng)中,并基于此實(shí)現(xiàn)了遠(yuǎn)程實(shí)時控制。該方案在原有的嵌入式雕刻控制系統(tǒng)只不過移植了開源、免費(fèi)的嵌入式Web服務(wù)器GoAhead WebServer就能實(shí)現(xiàn)遠(yuǎn)程控制,大大節(jié)省了資金、縮短了開發(fā)周期、改善了操作人員的工作環(huán)境。該技術(shù)對嵌入式雕刻控制系統(tǒng)或工業(yè)控制系統(tǒng)的遠(yuǎn)程控制具有實(shí)際使用價值和借鑒意義。
[1]甘明,張科威,陳小亮.基于ARM的嵌入式廣告雕刻系統(tǒng)設(shè)計(jì)[J].機(jī)床與液壓,2012,40(3):119-121.
[2]蔡奇玉,連振漢,張志強(qiáng).CGI編程指南[M].北京:機(jī)械工業(yè)出版社,1997.
[3]羅博烏斯基.Web表單設(shè)計(jì):點(diǎn)石成金的藝術(shù)[M].北京:清華大學(xué)出版社,2010.
[4]趙慶磊,韓誠山,文明,等.GoAhead嵌入式服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(4):67 -69.
App lication of GoAhead WebServer in Carving Control System
ZHANG Kewei,YANG Chunyan,YU Zhonghua
(722 Institute,China Shipbuilding Industry Corporation,Wuhan Hubei320074,China)
Based on VxWorks embedded platform,aWebServer server was built.TheWeb serverwas applied to carving control system to realize remote operation control.The test results show that this scheme hasmany advantages,such as low cost,high development efficiency and easy to transplant.It provides an effectivemethod for remote control in industrial control field.
VxWorks;Web server;Remote control;Carving control system
TP21/27
B
1001-3881(2014)10-182-2
10.3969/j.issn.1001 -3881.2014.10.055
2013-04-30
張科威 (1986—),男,碩士,助理工程師,主要研究方向?yàn)榭刂萍皺z測技術(shù)。E-mail:zhangkewei_2009@163.com。