本文研究的課題就是利用Web瀏覽器監製USS協議變頻器。要實現這些功能,就要在硬體上開發一個小型的Web伺服器,需要在硬體平臺上完成TCP/IP的裁剪和移植。Web伺服器完成對網絡數據的處理,根據用戶提交的命令來對USS變頻器進行相應的控制。在瀏覽器端,如果用戶監控網頁的網址,就會向伺服器發送HTTP請求,伺服器把監控網頁的HTML代碼發送到瀏覽器端。伺服器裡有相應的程序來接收和發送USS報文,實現對西門子變頻器的控制。
本文引用地址:http://www.eepw.com.cn/article/151984.htm基於TCP/IP協議的乙太網已成為工業標準,隨著乙太網的發展,以及嵌入式Web伺服器發展為網絡中的越來越小的網絡節點,為嵌人式web在工業中的應用提供了機會。
1 系統的軟硬體平臺
1.1 EasyARM8962教學實驗平臺
EasyARM8962教學實驗平臺採用了LuminaryMicro公司生產的Stellaris系列微控制器LM3S8962處理器,具有JTAG調試等功能。該晶片內部具有:UART,SSI,I2C,以及256 KB FLASH和64 KBSRAM。該處理器內部集成了網絡控制器,具有強大的網絡功能。硬體系統結構如圖1所示。
1.2 μC/OS-Ⅱ的移植與嵌入式TCP/IP協議棧
μC/OS-Ⅱ是近年來發展迅速的開放源碼實時作業系統,具有可移植性好、可裁減、可固化的優點。將μC/OS-Ⅱ引入嵌入式網絡系統,既可以實現系統的實時性要求,又可以提高系統的可靠性。周立功公司提供的移植代碼為使用μC/OS-Ⅱ做好了鋪墊工作,與處理器類型有關的文件OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。本文採用最新版本的μC/OS-ⅡV2.52。
本設計採用周立功公司的ZLG/IP協議棧。ZLG/IP協議棧代碼量小,是面向嵌人式系統開發的基於μC/OS-Ⅱ的小型TCP/IP協議棧,它支持TCP,UCP,IP,ICMP,ARP。
基於ZLG/IP「用戶可配置和裁剪」的特點,為了進一步提高代碼的運行速度,根據實際項目應用需要可對ZLG/IP協議棧進行裁剪。對ZLG/IP協議棧的配置是通過修改軟體棧下的cfg_net.h來實現的。在此文件裡設置使用的MAC地址、子網掩碼、IP位址和本地網關。設置的子網掩碼應與客戶機的相同、IP位址要設置成與客戶機同一網段內,網關地址可以設置為客戶機的IP位址。
2 USS協議及MM440變頻器的設置
要利用USS協議實現對西門子MM440變頻器的遠程控制,必須對其進行相應的設置。對本設計而言,具體設置如下:
P0700[0]=5(設定命令給定源為COM鏈路的USS報文命令);
P1000[0]=5(設置頻率給定源為COM鏈路的USS報文);
P2009[0]=0(USS標稱化);
P2010[0]=6(設定USS、通信的波特率為9 600 b/s);
P2011[0]=0(設定變頻器的惟一地址,取值範圍為0~31,這裡給定地址為0);
P2012[0]=2(定義USS報文的PZD部分中16位字的數量,即USS PZD長度);
P2013[0]=127(定義USS報文的PKW部分中16位字的數量,即USS PKW長度。127是最有用的設定,此設定下PKW應答長度視所需的信息量而變);
P0971=1(在設定為1時,從RAM向E2PROM傳送參數值)。
3 HTTP協議和嵌入式Web伺服器的實現
3.1 HTTP協議
HTTP協議是基於請求/響應模式的。一個客戶機與伺服器建立連接後,發送一個請求給伺服器。伺服器接到請求後,給予相應的響應信息。在Internet上,HTTP通信通常發生在TCP/IP連接之上,預設埠是TCP80。
Web瀏覽器利用HTTP協議和伺服器進行通信。瀏覽器向伺服器發送請求之後,伺服器會將所請求的網頁發送到瀏覽器,伺服器也可以根據HTTP請求所提交的信息運行相關程序。要從Web伺服器獲得網頁,必須輸入Web伺服器的IP位址,例如:
http://210.31.192.70
瀏覽器定位IP位址然後打開TCP連接的伺服器埠80,之後利用HTTP協議發送由GET行組成的請求:GET/HTTP/1.0。GET方法是獲取Web文檔的一種HTTP方法。如果伺服器響應HTTP/1.0 200OK表示連接成功,然後Web網頁就可以發送。GET方法把參數數據隊列加到提交表單的ACTION屬性所指的URL(統一資源定位符)中,值和表單內各個欄位一一對應,在URL中可以看到。GET請求的數據會附在URL之後,以「?」分割URL和傳輸數據,參數之間以「」相連。如果數據是英文字母/數字,原樣發送,如果是空格,轉換為「+」。慮到本系統提交的信息的特點,使用GET方法來設計Web伺服器。
3.2 Web伺服器的設計與實現
在μCO/S-II作業系統中,根據儘量減少任務數以提高CPU利用率的原則,本設計建立了四個任務。這四個任務是:taskstart(啟動任務)、taskC(接收TCP信號量任務)、taskE(TCP數據處理任務)、taskF(接收和發送USS報文任務)。四個任務之間的關係,各自的優先級設置及任務間的通信機制如圖2所示。
Web伺服器應用任務完成TCP通信,在此任務中網頁信息以HTML格式存儲於一個全局變量的Web[]數組中,這些信息通過HTTP協議沿TCP連接發送到瀏覽器,以HTML文本格式定義的全局變量Web[]數組如下:
tcp/ip相關文章:tcp/ip是什麼