核心提示:LonWorks網絡技術作為一種典型的控制網絡,其互操作性的實現獨具特色。網絡變量是LonWorks網絡技術專有的特征,了解網絡變量是如何定義、如何應用的對掌握LON控制網絡技術至關重要。
關鍵詞:LonWorks,網絡變量,LON節點,LonWorks產品,網絡管理工具,報文診斷,以太網適配器,LonTalk協議,現場總線
一、概述
LON控制網絡的互操作性體現在多個方面,網絡變量即是其中的一個重要方面。使用網絡變量是LonWorks網絡節點間通訊的最簡單、最常用、最直接的方法。
網絡變量通過提供節點相互之間明確的網絡接口而極大地提高了節點產品的適應性,不同產品可以應用于同一個系統。網絡變量使得系統的組態編程和節點的安裝運行非常方便,并且能有效地節省用戶程序存儲空間,還可以將用戶從通訊程序的編寫中解放出來,專用于具體的應用。目前LonWorks應用在多數情況下均使用網絡變量。
二、LonWorks網絡變量定義
LonWorks現場總線提出了節點連接的“對象”概念,即網絡變量(NV-Network Variable)。一個網絡變量即是節點的一個對象,LonWorks網絡節點之間的聯系主要是通過網絡變量的聯系實現的。
每個LonWorks節點可以定義62至4096個網絡變量。網絡變量可以定義為輸出或者輸入類型。當輸出網絡變量被節點應用賦值后,LonTalk協議將此修改后的新值自動加上地址信息,構成隱式報文,透明地傳遞到與之共享數據的其它節點(賦值給節點上的輸入網絡變量),所以網絡變量又稱隱式消息。節點利用網絡變量進行隱式通訊時,報文的實際建造和發送發生在后臺,它包含3個層次的軟件:應用層、網絡層和介質訪問控制層(MAC)。這些軟件層與LonTalk協議相對應,并且由Neuron芯片上不同的處理器處理。
當一個節點向一個輸出網絡變量賦值時,實際上是應用程序向網絡變量寫入一個新值,然后調度程序構建一個網絡變量報文并傳送到網絡層,網絡層將地址信息加入該報文再傳送至MAC層。MAC層將更復雜的信息加入此報文,并通過物理通信通道發送該報文。接收節點接收到這個報文后,首先由MAC層使該報文生效,然后網絡層檢查包含在報文中的地址信息,看地址是否匹配。若匹配則將網絡變量信息傳給調度,再由調度程序允許應用程序使用新值;若地址不匹配則擯棄此報文。
三、LonWorks網絡變量的綁定方式
LonWorks節點網絡層和MAC層軟件存于LonWorks固件中,對于用戶而言是隱型的,節點間的數據通信可以理解為應用層數據的通信。用戶應用程序無須考慮發送和接收問題,網絡變量的傳遞不經過應用層,用戶所要做的僅僅是使用網絡變量綁定器連接需要共享數據的節點。各個應用節點可以獨立定義,然后通過簡單地連接或者斷開已存在的某些連接,構成新的LonWorks應用。這使得開發LonWorks網絡應用非常簡單,同時節省開發周期。
網絡變量可以是整數、布爾數或字符串等,用戶可以完全自由地在應用程序中定義各種類型的網絡變量。只有數據類型相同的網絡變量之間才能建立輸入和輸出的連接。為增加網絡的互操作性,LonTalk協議預先定義了標準網絡變量(SNVT)。目前已經定義的標準網絡變量有200種以上,覆蓋了各種應用領域,用戶應盡量選用標準網絡變量以利于互操作。
網絡變量的連接由網管工具的綁定器來實現。該綁定器可以是LonBuilder網管工具中的一部分,也可以是LonMaker安裝工具或其它網絡管理工具的一部分。綁定器首先辨別節點輸入、輸出網絡變量的類型,然后找到具有共享網絡變量的所有節點,再對這些節點的相應網絡變量的網絡變量配置表及地址表進行修改,即確定信息流的正確流向,從而完成網絡變量的綁定。
四、LonWorks網絡管理工具的應用
設計網絡管理工具的軟硬件架構,不僅需要考慮基本的功能需求,還應易于實現且費用低廉。一般計算機與LonWorks網絡的連接可以通過多種途徑實現:ISA卡、PCI卡、PC卡(PCMCIA卡)、RS232串行口、RS485串行口、USB口、以太網口等。
以太網通訊速率高,LON網絡以太網適配器在工業測控網絡中應用前景廣闊。LON控制網絡以太網適配器作為網絡管理工具,一般僅在網絡需要配置時、配置需要改變時、或者節點發生故障時,才與網絡進行通訊。在系統正常工作之后,網管工具可以從系統中摘除,而不影響系統的運行及性能。
LON網絡RS232適配器、LON網絡RS485適配器、LON網絡USB適配器等網管工具,同樣能完成網管工具的所有功能。主機通過串口發送指令到適配器,觸發其網管內核的相應網管功能,然后由適配器將網管報文發送至LonWorks網絡;從LonWorks網絡返回的信息,再由適配器通過串口傳回主機。
五、LonWorks網絡管理與報文診斷
LonWorks網絡管理工具中的網管內核利用網絡管理與報文診斷實現。LonTalk協議預先定義了47種網絡管理及診斷消息類型,能夠實現完善的網絡管理與診斷服務,用于節點的安裝配置、軟件的下載及網絡的診斷等。利用這些消息報文,可以較為容易地開發出適用于中小系統的LonWorks網絡管理軟件,實現諸如搜索與查詢網絡節點、查詢設置節點狀態、查詢設置節點地址表信息及網絡變量配置表信息、查詢設置節點域地址、查詢節點的網絡變量值、綁定網絡變量等各項網絡管理功能。
利用網絡管理和報文診斷實現的網絡管理診斷工具,不僅易于開發,節省開發時間和成本,并且能較好地融合不同生產廠商的不同產品。這些網絡管理與診斷報文的接收過程無需經過節點應用層,響應報文的構建同樣在網絡層實現。這一方面提高了報文響應速度,另一方面使得不同廠商產品融匯于一個系統時,能夠對其進行統一管理。不管節點產品的具體應用代碼和應用領域,只要是LonWorks節點,都能響應網絡管理和診斷報文。
網絡管理和診斷報文的傳輸服務可以是請求/響應模式,對于無需返回數據的報文,也可使用確認、非確認或重發服務。
構造網絡變量的監視器時用到的網管報文主要是網絡變量取出(Network Variable Fetch)管理報文。而實現網絡變量綁定器則需要更新網絡變量配置(Update Net Variable Config)和更新地址(Update Address)網絡管理報文。
六、網絡變量綁定器的實現方式
網絡變量綁定器的內核構建主要是利用更新網絡變量配置(Update Net Variable Contig)和更新地址(Update Address)這兩種網絡管理報文。
上層軟件需要一個用于維護網絡上節點信息的數據庫LM—MDB。其中的網絡變量連接表(nvlkinfo)包括了網絡變量連接使用的所有信息:網絡變量連接索引、名稱、節點地址、網絡變量索引、網絡變量選擇器、地址表索引、地址類型、組大小、網絡變量域地址等基本信息。
網絡變量的連接定義為一個輸出網絡變量與一個或多個輸入網絡變量的集合。一個網絡變量在nvlkinfo表中占據一個記錄單元,記錄字段描述了該網絡變量的詳盡信息。連接成功后,該次連接的所有網絡變量信息追加人nvlkinfo表。連接前需要進行約束關系檢查,即檢查nvlkinfo表中的網絡變量是否與新連接的網絡變量存在連接沖突。如果存在連接沖突則報告錯誤并終止網絡變量的綁定過程。
節點間網絡變量的綁定過程即是網絡變量配置表和地址表信息的設置過程。網絡變量配置表主要設置網絡變量選擇器的值,以及網絡變量優先級、方向、使用的服務類型、是否是自綁定網絡變量、是否需要認證、使用的地址表索引等。地址表主要設置地址類型、組大小、節點ID或組成員ID、節點子網或組ID、各種定時器值及重發次數等。這些信息的確定需要結合nvlkinfo表進行,以免發生選擇器重復等錯誤。
七、如何實現對網絡變量的監視
LonWorks節點的固定只讀數據結構(read-0nly-data)中有一個單元nv-fixed,是nv-fixed-strnct類型指針。該指針指向節點第一個網絡變量固定結構,此結構包括網絡變量字節長度及網絡變量在內存中的地址信息。用戶可以通過此地址間接得到網絡變量的數值。但更簡單直接的方法是:用戶使用網絡變量存取報文(Network Variable Fetch)讀取網絡上任何一個節點的任何網絡變量。
所有LonWorks節點均有一個外部接口文件(XIF文件)。XIF文件中明確了節點網絡變量及顯式報文標簽的所有信息。對于網絡變量,這些信息包括名稱、索引、數組大小、是否可綁定、方向、服務類型、認證、優先級、數據類型、元素數目及各元素的詳細信息等。通過此信息可以對取回的網絡變量字節數組進行轉換,從而得到網絡變量的具體工程值。
除使用網絡管理報文實現網絡變量監視器外,用戶還可以通過網絡變量類型報文實現此功能,前提是用戶需要明確該節點的網絡變量配置表中的網絡變量選擇器值,這種方法的使用需要更多的了解神經元芯片的低層知識。