工控網(wǎng)中基于Linux的嵌入式HTTP服務器設計
發(fā)布時間:2007/4/23 0:00:00 訪問次數(shù):525
關(guān)鍵詞:嵌入式HTTP服務器 Linux 控制網(wǎng)絡
引言
控制網(wǎng)絡一般指以控制“事物對象”為特征的計算機網(wǎng)絡系統(tǒng),簡稱Infranet(infrastructure network),它處在企業(yè)網(wǎng)(Intranet)的底層,構(gòu)成了整個企業(yè)網(wǎng)的基礎。近些年來,在控制網(wǎng)絡中采用了現(xiàn)場總線(Field Bus)和工業(yè)以太網(wǎng)(Ethernet)兩種技術(shù)。出現(xiàn)這種情況主要有兩個原因:第一,目前存在多種現(xiàn)場總線標準,不同的標準采用完全不同的通信協(xié)議,也就是說現(xiàn)場總線的開放性不夠;第二,以太網(wǎng)雖然能夠解決開放性的問題,并具備成本低廉、技術(shù)成熟等優(yōu)點,但由于以太網(wǎng)最初是被設計用于以資源共享為目的的計算機局域網(wǎng),因此在實時性和可靠性上暫時還不能完全滿足工業(yè)控制的要求。事實上,目前一個較大規(guī)模的控制網(wǎng)絡往往綜合采用了這兩種技術(shù)。在現(xiàn)場層,由于強調(diào)實時性、可靠性和安全性,常采用現(xiàn)場總線技術(shù);在監(jiān)控管理層,考慮到采用不同標準的控制網(wǎng)段之間的集成以及與高層企業(yè)信息網(wǎng)絡的集成,一般采用以太網(wǎng)技術(shù)。現(xiàn)場層的現(xiàn)場總線控制系統(tǒng)FCS(Field Control System)或其它設備級輕質(zhì)網(wǎng)絡通過網(wǎng)關(guān)或嵌入式HTTP服務器與高層以太網(wǎng)相連。這樣,不僅采用不同協(xié)議的控制網(wǎng)段能夠?qū)崿F(xiàn)互聯(lián),而且各個控制網(wǎng)段能方便地與高層企業(yè)信息網(wǎng)互通,從而最終實現(xiàn)企業(yè)網(wǎng)的管控一體化和對現(xiàn)場設備的Internet遠程監(jiān)控。通過以上分析可以看出,控制網(wǎng)絡中的網(wǎng)關(guān)或嵌入式HTTP服務器起著連接現(xiàn)場層和監(jiān)迭管理層的作用,因此它是整個控制網(wǎng)絡的關(guān)鍵設備。
網(wǎng)關(guān)或嵌入式HTTP服務器與傳統(tǒng)的嵌入式系統(tǒng)相比,有一些不同的特性。傳統(tǒng)的嵌入式系統(tǒng)是面向應用、有一些不同的特性。傳統(tǒng)的嵌入式系統(tǒng)是面向應用、面向產(chǎn)品的,強調(diào)成本和高效設計系統(tǒng),因此本質(zhì)上不具備通用性和可移植性。網(wǎng)關(guān)或嵌入式HTTP服務器由于處在現(xiàn)場層和監(jiān)控管理層的中間,因此它與具體應用和產(chǎn)品是一種弱耦合的關(guān)系。同時,技術(shù)發(fā)展的趨勢是:硬件成本越來越低,功能越來越強,越來越多的芯片和板卡具備“平臺”的特點,適用于多種應用場合。嵌入式實時操作系統(tǒng)(Embedded Real Time Operationg System)的發(fā)展更是為嵌入式軟件提供了一個通用的軟件平臺。綜上所述,在網(wǎng)關(guān)或嵌入式HTTP服務器設計中,考慮通過選用適合的硬件和嵌入式實時操作系統(tǒng),使整個系統(tǒng)具備相當?shù)耐ㄓ眯院涂梢浦残。對于連接不同的設備級輕質(zhì)網(wǎng)絡或不同的應用,只需要通過更換硬件模塊和對代碼作最小的修改即可實現(xiàn)。
1 基于Linux的嵌入式HTTP服務器的結(jié)構(gòu)
為了實現(xiàn)設計目標,嵌入式HTTP服務器一般應采用功能較強的能用PC、工業(yè)PC、或高檔MPU作為硬件平臺,嵌入式實時操作系統(tǒng)作為軟件平臺進行平發(fā)。硬件平臺應具備以太網(wǎng)口和一個或多個通信模塊,比如RS232、RS485、CAN通信卡等。嵌入式實時操作系統(tǒng)實現(xiàn)了TCP/IP等網(wǎng)絡協(xié)議,并提供實時任務、進程管理、內(nèi)存管理、文件系統(tǒng)、API等功能。
Linux操作系統(tǒng)是一種多進程,多用戶的通用操作。由于它具備免費、源碼公開、內(nèi)核可裁減、支持多線程、網(wǎng)絡功能強大、設計精巧、性能穩(wěn)定的特點,因此近年它也被廣泛用到嵌入式系統(tǒng)的設計中。一個應用于嵌入式系統(tǒng)的Linux經(jīng)過裁減和重新編譯后只包括進程管理、內(nèi)存管理、文件系統(tǒng)、若干個驅(qū)動程序和實用的函數(shù)等。
下面以本人參與的轉(zhuǎn)子秤控制系統(tǒng)為例來說明一個基于Linux的嵌入式HTTP服務器的結(jié)構(gòu)。轉(zhuǎn)子秤是水泥工業(yè)中的關(guān)鍵計量喂料設備,一條大型的生產(chǎn)線需要許多臺轉(zhuǎn)子秤,對轉(zhuǎn)子秤的控制涉及到重量、轉(zhuǎn)速、溫度、一氧化碳含量等若干個參量。由于現(xiàn)場環(huán)境的高噪聲、高粉塵、高電磁干擾,無法在現(xiàn)場配備鍵盤、顯示器、觸摸屏等人機交互設備,無法在現(xiàn)場實現(xiàn)對設備的監(jiān)控和維護。同時,一條生產(chǎn)線有多臺轉(zhuǎn)子秤,為每臺轉(zhuǎn)子秤配備人機交互設備也是不經(jīng)濟的。為此,考慮為整個系統(tǒng)設計一個嵌入式HTTP服務器,各轉(zhuǎn)子秤控制器與嵌入式HTTP服務器用CAN總線相連。通過嵌入式HTTP服務器實現(xiàn)對整個系統(tǒng)的在線監(jiān)控和遠程監(jiān)控。在嵌入式HTTP服務器的設計中,選用研祥公司PC104總線的486X嵌入式CPU卡作為硬件平臺,該板卡是具有128MB的在板ROM、CF卡接口和以太網(wǎng)接口等。選擇該板卡的原因是PC104總線的功能擴展模塊非常豐富,通過選擇不同的模塊很容易就支持多種總線。軟件平臺方面,選用Linux2.0內(nèi)核并對它作適當裁減。整個嵌入式HTTP服務器的結(jié)構(gòu)簡圖如圖1所示
關(guān)鍵詞:嵌入式HTTP服務器 Linux 控制網(wǎng)絡
引言
控制網(wǎng)絡一般指以控制“事物對象”為特征的計算機網(wǎng)絡系統(tǒng),簡稱Infranet(infrastructure network),它處在企業(yè)網(wǎng)(Intranet)的底層,構(gòu)成了整個企業(yè)網(wǎng)的基礎。近些年來,在控制網(wǎng)絡中采用了現(xiàn)場總線(Field Bus)和工業(yè)以太網(wǎng)(Ethernet)兩種技術(shù)。出現(xiàn)這種情況主要有兩個原因:第一,目前存在多種現(xiàn)場總線標準,不同的標準采用完全不同的通信協(xié)議,也就是說現(xiàn)場總線的開放性不夠;第二,以太網(wǎng)雖然能夠解決開放性的問題,并具備成本低廉、技術(shù)成熟等優(yōu)點,但由于以太網(wǎng)最初是被設計用于以資源共享為目的的計算機局域網(wǎng),因此在實時性和可靠性上暫時還不能完全滿足工業(yè)控制的要求。事實上,目前一個較大規(guī)模的控制網(wǎng)絡往往綜合采用了這兩種技術(shù)。在現(xiàn)場層,由于強調(diào)實時性、可靠性和安全性,常采用現(xiàn)場總線技術(shù);在監(jiān)控管理層,考慮到采用不同標準的控制網(wǎng)段之間的集成以及與高層企業(yè)信息網(wǎng)絡的集成,一般采用以太網(wǎng)技術(shù),F(xiàn)場層的現(xiàn)場總線控制系統(tǒng)FCS(Field Control System)或其它設備級輕質(zhì)網(wǎng)絡通過網(wǎng)關(guān)或嵌入式HTTP服務器與高層以太網(wǎng)相連。這樣,不僅采用不同協(xié)議的控制網(wǎng)段能夠?qū)崿F(xiàn)互聯(lián),而且各個控制網(wǎng)段能方便地與高層企業(yè)信息網(wǎng)互通,從而最終實現(xiàn)企業(yè)網(wǎng)的管控一體化和對現(xiàn)場設備的Internet遠程監(jiān)控。通過以上分析可以看出,控制網(wǎng)絡中的網(wǎng)關(guān)或嵌入式HTTP服務器起著連接現(xiàn)場層和監(jiān)迭管理層的作用,因此它是整個控制網(wǎng)絡的關(guān)鍵設備。
網(wǎng)關(guān)或嵌入式HTTP服務器與傳統(tǒng)的嵌入式系統(tǒng)相比,有一些不同的特性。傳統(tǒng)的嵌入式系統(tǒng)是面向應用、有一些不同的特性。傳統(tǒng)的嵌入式系統(tǒng)是面向應用、面向產(chǎn)品的,強調(diào)成本和高效設計系統(tǒng),因此本質(zhì)上不具備通用性和可移植性。網(wǎng)關(guān)或嵌入式HTTP服務器由于處在現(xiàn)場層和監(jiān)控管理層的中間,因此它與具體應用和產(chǎn)品是一種弱耦合的關(guān)系。同時,技術(shù)發(fā)展的趨勢是:硬件成本越來越低,功能越來越強,越來越多的芯片和板卡具備“平臺”的特點,適用于多種應用場合。嵌入式實時操作系統(tǒng)(Embedded Real Time Operationg System)的發(fā)展更是為嵌入式軟件提供了一個通用的軟件平臺。綜上所述,在網(wǎng)關(guān)或嵌入式HTTP服務器設計中,考慮通過選用適合的硬件和嵌入式實時操作系統(tǒng),使整個系統(tǒng)具備相當?shù)耐ㄓ眯院涂梢浦残浴τ谶B接不同的設備級輕質(zhì)網(wǎng)絡或不同的應用,只需要通過更換硬件模塊和對代碼作最小的修改即可實現(xiàn)。
1 基于Linux的嵌入式HTTP服務器的結(jié)構(gòu)
為了實現(xiàn)設計目標,嵌入式HTTP服務器一般應采用功能較強的能用PC、工業(yè)PC、或高檔MPU作為硬件平臺,嵌入式實時操作系統(tǒng)作為軟件平臺進行平發(fā)。硬件平臺應具備以太網(wǎng)口和一個或多個通信模塊,比如RS232、RS485、CAN通信卡等。嵌入式實時操作系統(tǒng)實現(xiàn)了TCP/IP等網(wǎng)絡協(xié)議,并提供實時任務、進程管理、內(nèi)存管理、文件系統(tǒng)、API等功能。
Linux操作系統(tǒng)是一種多進程,多用戶的通用操作。由于它具備免費、源碼公開、內(nèi)核可裁減、支持多線程、網(wǎng)絡功能強大、設計精巧、性能穩(wěn)定的特點,因此近年它也被廣泛用到嵌入式系統(tǒng)的設計中。一個應用于嵌入式系統(tǒng)的Linux經(jīng)過裁減和重新編譯后只包括進程管理、內(nèi)存管理、文件系統(tǒng)、若干個驅(qū)動程序和實用的函數(shù)等。
下面以本人參與的轉(zhuǎn)子秤控制系統(tǒng)為例來說明一個基于Linux的嵌入式HTTP服務器的結(jié)構(gòu)。轉(zhuǎn)子秤是水泥工業(yè)中的關(guān)鍵計量喂料設備,一條大型的生產(chǎn)線需要許多臺轉(zhuǎn)子秤,對轉(zhuǎn)子秤的控制涉及到重量、轉(zhuǎn)速、溫度、一氧化碳含量等若干個參量。由于現(xiàn)場環(huán)境的高噪聲、高粉塵、高電磁干擾,無法在現(xiàn)場配備鍵盤、顯示器、觸摸屏等人機交互設備,無法在現(xiàn)場實現(xiàn)對設備的監(jiān)控和維護。同時,一條生產(chǎn)線有多臺轉(zhuǎn)子秤,為每臺轉(zhuǎn)子秤配備人機交互設備也是不經(jīng)濟的。為此,考慮為整個系統(tǒng)設計一個嵌入式HTTP服務器,各轉(zhuǎn)子秤控制器與嵌入式HTTP服務器用CAN總線相連。通過嵌入式HTTP服務器實現(xiàn)對整個系統(tǒng)的在線監(jiān)控和遠程監(jiān)控。在嵌入式HTTP服務器的設計中,選用研祥公司PC104總線的486X嵌入式CPU卡作為硬件平臺,該板卡是具有128MB的在板ROM、CF卡接口和以太網(wǎng)接口等。選擇該板卡的原因是PC104總線的功能擴展模塊非常豐富,通過選擇不同的模塊很容易就支持多種總線。軟件平臺方面,選用Linux2.0內(nèi)核并對它作適當裁減。整個嵌入式HTTP服務器的結(jié)構(gòu)簡圖如圖1所示