摘 要:本文介紹了工業以太網中網絡控制器的一種新型的通訊機制和控制策略,同時論述了硬件和軟件需要作出的變化。
關鍵詞:網絡控制器; 通訊機制; DSP
近些年來,現場總線技術被廣泛地應用于工業過程控制領域。它具有實時性好、布線簡單、可靠性高的特點,比較適合工業環境。但是,它也有自己的缺點,如標準不統一,各個廠商各自為政;傳輸速率低,無法傳輸圖像和語音信息;網絡互連困難,無法直接與互聯網相連。這些缺點的存在,嚴重制約了現場總線技術的發展[1]。
當現場總線的發展遇到阻礙時,以太網技術卻得到了迅猛的發展,如今,在Internet和辦公自動化領域,以太網可以說是無處不在。如果能將以太網技術成功應用于工業控制底層網絡,就可以打破傳統的工業控制網絡體系,實現工業控制網絡和辦公自動化網絡的無縫連接,實現真正意義上的管控一體化。本文結合現場總線與以太網的各自的優點,提出一種新型的網絡流量控制算法,開發出與此相配套的網絡控制器。
1 通訊機制
新型的通訊機制在網絡拓撲上采用總線型,所有的發送都是在樞紐控制器的控制下進行。只有得到命令幀的指定站點才可以啟動數據發送。系統設定一個循環周期T,控制節點按照優先級從低到高輪詢各個站點,當輪詢時間大于T時,控制將停止這一周期的輪詢,直接進入下一個周期。需要注意的是:
1. 對高優先級的數據包,不管隊列中有多少個未發數據,都要確保發送完畢,即使周期超過T也要如此。
2. 對于中優先級和低優先級的數據包,只有在上一優先級的數據發送完全的情況下才能啟動發送,并且是限制型發送,一次只能發送隊列的前rp個數據。
利用Matlab仿真的結果表明,即使在網絡負荷超載的情況下,網絡控制算法仍舊可以保證高優先級的控制幀的發送,因此這個網絡控制算法是可行的。
2 功能原理
網絡樞紐控制器是整個網絡體系的核心,它主要有以下兩個功能:一是網絡控制功能,即協調整個網絡的通訊步調,避免沖突的發生,保證重要信息的實時性。二是作為通訊網關,與內部網絡設備共享IP地址,提供內部網絡設備與外部Internet的接口。
2.1實現控制功能所需要的設定
1. 優先權的等級分類。利用IP數據格式[1]中TOS字段前3bit作為標志。
2. IP編址。假設所有的控制設備都處在一個內部網絡中,他們共享一個Internet公網地址202.114.101.58,而內部網絡是以192.168.0.開頭的一系列內部地址。
3. 控制幀格式。控制幀是網絡樞紐控制器控制整個網絡步調的數據幀,所有網絡節點都應該能收到這個數據幀,并且在它的指令下進行通訊。因此,控制幀必須是一個廣播幀,它的目標地址是局域網中的所有網絡設備。
在具體實現中,將控制指令封裝在一個UDP廣播數據包中。它的格式如圖1所示:
[align=center]

圖1控制幀格式[/align]
命令:網絡樞紐控制器對網絡節點的發送的命令代碼,其中包括通訊復位,發送數據等。
設備編號:接收命令網絡設備的編號,它與內部IP地址相對應,如192.168.0.2表示2號設備,192.168.0.n表示n號設備。如果是對所有設備發送的命令,則置為0xff。
數據優先級:如果命令表項表示允許發送命令,那么數據優先級表項就表示對應網絡設備應該從對應的優先級隊列中取出一幀數據發送。
為了保證控制幀正常發送,還需要在上層協議中設置如下表項:
1. 將Ethernet幀的目的地址設為0xff 0xff 0xff 0xff 0xff 0xff,確保本以太網內的所有網卡都能接收到這幀數據。
2. 將IP幀中的目的IP地址設為192.168.0.255,表示這是一個廣播幀。
3. 填充TOS為0x94,表示這是一個要求最高可靠性的控制幀。
2.2 轉換表以及與商業以太網轉換表的區別
網絡樞紐控制器作為內部工業以太網與外部Internet的橋梁,它的兩個網絡接口分別連接外部Internet和內部網絡。網絡樞紐控制器不但要有轉發功能,而且還要內嵌NAT[2](網絡地址轉換)功能,因此必須附帶地址轉換表。
這里不能采用商業以太網的動態轉換表模式,這是由工業以太網的特性決定的。首先,在工業以太網中,大部分的通訊請求都是從外部網絡發起的(如從外部監控工業現場的參數),因此,采用動態轉換表就無法建立連接;其次,如果表項是動態的,它的可靠性就很難得到保證,如果分配算法有漏洞(例如UDP連接,由于沒有握手協議,所以很難知道它什么時候開始,什么時候中止),這樣有可能會誤刪除正在連接的表項,使得通訊無法正常進行。所以在實際的實現中,采用靜態的轉換表,為每個可能的連接建立一個靜態表項,對于這個靜態的轉換表,是用專用的配置軟件在PC機上設置好,然后通過網絡下載到網絡樞紐控制器中,這樣網絡樞紐控制器就可以按照轉換表實現網關功能了。
3 硬件實現
圖2是硬件的結構圖。整個網絡都在網絡樞紐控制器協調的步調下運作,它的反應速度越快,則網絡的空閑時間越短,網絡的吞吐量越大。因此,在這里選用TI的TMS320VC5402[3]作為它的核心處理器。
以太網接口芯片選用Realtek公司的RTL8019AS,這是一款市場上ISA網卡中選用率很高的接口芯片。一共使用了兩片這樣的芯片,一片用于和內部網絡通訊,另一片則用于與外部Internet相連。
[align=center]

圖2網絡樞紐控制器硬件框圖[/align]
RTL8019AS有三種工作方式:即插即用方式,跳線方式和免跳線方式。為了減少資源占用,這里選擇跳線方式。此時,RTL8019AS的IO地址由IOS0-IOS3腳決定。地址總線的SA5-SA19中除SA8和SA9接高電平外,其余都接低電平,SA0-SA7與DSP的地址總線的A8-A15相連,這樣,訪問DSP的相應IO空間地址就相當于訪問兩塊以太網接口芯片中對應的寄存器,于是DSP的IO地址就和兩片RTL8019AS能建立地址映射關系。至此,通過訪問這些寄存器,就可以控制RTL8019AS發送或接收數據。
此外,擴展一片片外隨機存儲器ISSI61LV6416,它是用來做通訊緩沖區,暫時存放來不及處理的數據包。由于TMS320VC5402內部沒有集成Flash或EPROM,因此,它不能自舉運行。于是采用HPI接口引導DSP,程序存放在單片機78E54B上。當系統上電時,78E54B通過HPI接口將程序寫入到TMS320VC5402的片內RAM中,然后啟動它,這樣DSP就開始工作了。
4 軟件編寫
實現網絡控制功能要求反應速度一定要快,因此這部分程序放在中斷中完成。在硬件設計中,把第一片RTL8019AS的中斷與DSP的INT0相連,把第二片的與INT1相連。因為第一片與內部網絡相連,所以,實現網絡控制控制功能的程序主要在INT0中完成。圖3是INT0中斷響應程序的框圖。
[align=center]

圖3 INT0中斷響應程序[/align]
系統共有兩片轉發緩沖區,緩沖區1用來暫存從內部對外的轉發數據,而緩沖區2用來暫存從外部對內部的數據轉發,一塊發送數據的同時,另一塊填裝數據,提高了效率。
為了保證網絡控制功能的實時性,防止中斷沖突,簡化程序結構,網關功能的這部分程序就用查詢方式實現。框圖如圖4所示:
[align=center]

圖4網關程序框圖[/align]
需要特別注意的是,在重定向IP地址之后,一定要重新計算校驗和。因為不論是IP頭還是TCP和 UDP,IP地址都在他們的校驗項之內。如果改變了IP地址,那么校驗和就要重新計算,否則,接收到這些數據包的設備就會認為校驗錯誤,從而拒絕接受。
5 結論
網絡控制器雖然是最核心的設備,但是其功能的發揮還有賴于工業以太網上相關控制設備針對整體的控制策略作出相應的改變。工業以太網中為了生產,執行任務的控制設備,要在網絡樞紐控制器的協調下完成通訊功能,包括數據采集前端、輸出前端、PID前端、執行機構前端等。這需要它們速度達到一定的要求,因為當它收到控制節點的發送指令后,就要迅速將數據包送出,此時它的任何遲延都是整個網絡的遲延。
本文作者創新點:提出了一種新型的工業以太網實時控制算法,并且根據這個算法的特點,針對性的改進了相關協議和設置、硬件選型、程序流程。
參考文獻
[1] 邢國文,虞哲明,實時控制協議在工業以太網中的應用[J],微計算機信息,2006,1;1-3.
[2] (美)史蒂文斯(W. Richard Stevens)著, 范建華等譯, TCP/IP詳解[M]. 北京: 機械工業出版社, 2000.4, P1-268.
[3] Kjeld Borch Egevang, Paul Francis. The IP Network Address Translator. Internet RFC/STD/FYI/BCP Archives.
[4] Texas Instruments Incorporated. TMS320VC5402 Fix-Point Digital Signal Processor. www.ti.com, 2002.8, P1-57.