樓俊君,程啟明
(上海電力學院 電力與自動化工程學院,上海 200090)
現場總線技術因其開放性、分散性和低成本已廣泛應用于自動控制領域。LonWorks作為一種典型的現場總線標準,具有開放的網絡操作體系、標準的網絡通信協議、支持多種介質之間相互通信等優點。本文主要介紹一個基于LonWorks現場總線的網絡控制實驗平臺的開發與應用,系統主要由上位計算機、路由器、智能神經元節點等組成,具有平臺界面友好、通信實時可靠等優點。
現場總線;節點;控制
現場總線技術將專用微處理器嵌入傳統的測量控制儀表,使它們具有數字計算和數字通信能力,從而使單個分散的測量控制設備變成網絡節點,再通過現場總線將各網絡節點相互連接成網絡系統,并按公開、規范的通信協議進行數據傳輸和信息交換,共同完成特定的自控任務。它實現了徹底的分散控制,提高了系統的可靠性、自治性和柔性,可方便地進行重組和擴建[1~4]。
現場總線溝通了生產過程現場控制設備之間及其與更高控制管理層網絡之間的聯系,它將一對一的模擬信號傳輸方式變為一對多的數字信號傳輸方式,大大節約了模擬信號傳輸過程中的大量A/D、D/A轉換裝置和布線安裝成本,提高了信號的傳輸精度和抗干擾能力,它的出現開辟了控制系統的變革。
LonWorks作為現場總線的一種,支持國際標準化組織ISO定義的開放系統互連OSI全部7層協議的現場總線標準,具有開放的網絡操作體系、標準的網絡通信協議、豐富的介質接口模板、支持多種介質之間的相互通信等特點, 在國際和國內都得到廣泛的應用。
目前LonWorks現場總線技術主要應用在樓宇自動化方面,包括建筑物監控系統的所有領域,如電梯和能源管理、消防/救生/安全、照明、供暖通風、保安等,但在工業控制方面應用很少。由于LonWorks控制網絡有布線簡單、通訊實時、控制分散的優點,所以很多廠商開始致力于LonWorks技術在工業控制領域的開發。本文介紹一個基于LonWorks現場總線的網絡控制實驗平臺的開發,包括該平臺的總體設計思想、各部分實現及其在三級串聯水箱液位控制中的應用。
在工業控制系統中,用于監控的上位計算機通常是工業控制計算機,而分布在現場的控制裝置一般是單回路控制器或智能儀表。在基于LonWorks現場總線的控制系統中,控制裝置已改由集控制、通信和I/O為一體的Neuron多處理器芯片和LonTalk通信協議組成的智能節點控制器承擔[5,6]。這樣,各智能節點不僅能獨立完成數據采集、處理和控制任務,而且能依賴其嵌入的LonTalk通信協議,實現與其他智能節點的數據通信,通過分布在現場的路由器,實現與監控上位計算機的連接,以便上位計算機對現場數據進行各種處理,實現真正意義上的集中監控、優化與控制。
本網絡控制系統作為一個綜合的監視控制網絡,采用現場控制級與上層監控級的兩層全分布式體系結構,如圖1所示。系統主要由智能神經元節點、路由器和插有PCNSS網卡的上位計算機組成,各部分作用如下所述。

圖1 系統結構圖
智能神經元節點以Neuron 芯片為核心,節點內部具有實現其特定的功能用Neuron C語言編寫的軟件程序,各智能節點負責對現場信號的采集、狀態檢測和實時控制,并利用LonWorks技術提供的通信服務,與其他節點和路由器進行雙向數據通信。
路由器是監控系統的神經中樞,可連接不同通訊介質和波特率的網絡,承擔神經元節點與監控上位計算機間的數據傳輸。
上位機通過PCNSS網卡與路由器相連,由于大部分控制功能已由在現場的智能神經元節點完成,所以上位計算機主要基于各個節點信息進行節點組態、網絡通訊、信息處理和動態監控。
智能網絡控制節點主要由8通道模擬量輸入/輸出模塊、4通道開關量輸入/輸出模塊和FTT-10A通信模塊組成,每通道模擬量輸入范圍為1~5V,模擬量輸出范圍為4~20mA,并帶光電隔離。節點最大尋址I/O模塊數為255,用戶可根據需要靈活配置。該節點上電后可自動識別I/O模塊,具有即插即用功能。其硬件結構示意圖如圖2所示。外部信號經AI調理通道、DI調理通道引至神經元芯片MC143150的I/O引腳,當用戶通過上位機對該節點進行組態下裝時,神經元芯片會自動執行寫入EPROM的應用程序,將輸入通道的數據讀入,經計算后把控制量由AO、DO調理通道輸出,并通過FTT-10A通訊模塊與其他節點通信。
神經元芯片MC143150是節點的控制和核心,它內部有介質訪問控制處理器、網絡處理器和應用處理器,有強大的網絡通訊功能。3150的通訊端口CP0、CP1與FTT-10A通訊模塊相連,配合工作在單端模式,完成網絡通訊功能。NVRAM與EPROM共同構成本節點的片外存儲器。Service pin單元用于節點和網絡的安裝和維護。為使節點硬件產品具有“柔性”,用可編程組合邏輯器件GAL16V8譯碼選通存儲器芯片和輸入/輸出通道地址。
LonWorks現場總線通信有兩種方式,一種是通過網絡變量進行通信,另一種是通過顯示報文來進行。網絡變量是一個節點中的一個對象,從通信的角度分為輸入和輸出兩種類型,一個輸入的網絡變量可以和其他節點的多個輸出網絡變量相連,一個輸出的網絡變量也可以和其他節點的多個輸入的網絡變量相連。無論何時,一個節點的網絡變量更新,則所有與之相連的網絡變量也相應地更新[7]。網絡變量屬于高層通訊方式,實現簡單,但其通訊數據域大小固定(31byte)。一般將現場信號如被測點溫度、壓力、流量等定義為網絡變量,從而簡化系統開發和安裝過程。
顯示報文屬于一種低層通訊方式,其實現相對復雜,功能卻很靈活。顯示報文通信數據域大小可變,只要在228byte范圍即可。對于用戶組態程序下裝這一通訊任務,考慮到組態程序只要使用了3個以上的功能塊,下裝通信數據域的大小就會超過網絡變量31byte的限制,且不同用戶的組態程序大小不一,下裝次數不定,因此組態程序下裝通信必須使用顯式報文方式。

圖2 節點硬件示意圖
在此,采用主從應答通信服務模式和分幀技術,分幀是指將來自應用層的控制組態程序消息轉化為小包或幀,通信規程的制定遵循CAI方式,其中C(Code)表命令碼,A(Address)表地址碼,I(Information)表信息碼。具體幀格式的定義如圖3所示,其中Code為報文碼,“0”表示上位下裝包,“1”表是下位響應包;NodeAddr為下裝節點地址,對應著下裝的節點地址;Cmd為命令碼,“1”表示組態參數包,“2”表示運行命令包;PacketNo為包號,在響應包中“255”表示未正確接收發送包;Data為控制組態程序信息碼;Check為校驗碼,為前面除Code外所有字節的異或。

圖3 幀格式定義示意圖
用戶組態程序下裝至下位節點的存儲器后,下位節點會自動運行由開發人員用Neuron C編制的程序,從而使下位節點執行相應控制功能。
Neuron C程序設計思路為:首先判斷報文消息是否發送本節點,若是再通過消息包相應標志位判斷消息包為組態參數包還是命令運行包,根據參數包類型執行不同的操作。
本網絡控制平臺的軟件模塊由兩部分組成:一部分為節點內部數據采集與處理程序模塊,另一部分為上位計算機監控軟件模塊。前一部分由節點開發軟件NodeBuilder、節點映象軟件LonManager Profile和網絡安裝維護軟件LonMaker實現;后一部分由我們自行開發的上位組態監控軟件VCSC(Visual Control and Superviser Configuration)結合網絡通信軟件LonManager DDE Server[8]實現。
上位組態監控軟件VCSC的設計思想為:在VB環境下利用ActiveX控件制作各可視功能塊,每個功能塊看作帶有輸入/輸出接口和組態參數設置接口的封裝體,當用戶將自己編制的組態程序下裝時,即將程序里功能塊的參數按一定的格式存放后分幀打包,通過LonManager DDE Server與下位節點通訊,將程序寫入下位節點的程序存儲器中。
本實驗室三級串聯水箱液位系統實驗原理圖見圖4,它由三個串聯的水箱裝置本身、兩路進水管道及其上的手動閥V1~V6、兩臺電/氣轉換器、氣閉式氣動閥Vc1和Vc2、以及三臺液位變送器組成。其中,電氣轉換器的輸入控制信號4~20mA對應輸出蒸汽壓力20~100Kpa(蒸汽源0.12Mpa),相應氣閉式氣動閥的開度為100%~0%,液位變送器的輸入液位信號0~10 cm對應輸出電壓信號1~5V。控制目標:初始狀態三個水箱水位全空時,閥Vc1打開,1#水箱進水;一旦1#水箱液位上升至目標高度,閥Vc1關閉,1#水箱停止進水;當1#水箱排水至全空時,閥Vc2打開,2#水箱進水;一旦2#水箱液位上升至目標高度,閥Vc2關閉,2#水箱停止進水;當三個水箱水位都排空時,實驗結束;液位的目標高度為水壓允許條件下的最大高度。

圖4 液位系統實驗原理圖
1)實驗方法:三個神經元節點分別控制三個水箱對象,節點從A/D通道分別采集對應某一個水箱液位高度的液位變送器電壓信號,它們所需要的其他水箱的液位高度信號則通過LonWorks現場總線網絡以網絡變量這一網絡對象的形式從其它節點上獲取,然后節點1、2分別根據自身的專家規則推理判斷后,從各自D/A通道分別輸出控制信號u1和u2控制對應1#和2#水箱進水管道的氣動閥門開度。
2)組態方法:操作員通過主機的上位組態監控平臺對三個節點進行組態下裝。節點1組態如圖5所示,節點2組態如圖6所示,節點3組態如圖7所示。使用SCB比例偏置功能塊確定控制目標水箱液位高度,用PT兩位控制功能塊及OR或功能塊實現控制策略,用輸出功能塊進行控制量輸出。
3)實驗運行效果:設定水箱液位目標高度為6cm,運行結果為1#、2#水箱分別經過9s和25s左右到達目標高度,較好完成控制任務。

圖5 節點1組態圖

圖6 節點2組態圖

圖7 節點3組態圖
本文介紹了一個基于LonWorks現場總線的網絡控制平臺,它由上位機、路由器和智能神經元節點組成,并介紹了系統實現及其在三水箱液位控制系統中的應用。該控制平臺經實驗證明有組態界面友好、運行實時可靠、節點開發簡單、安裝方式靈活多樣等優點。
[1]戴慧江,盧航遠.LonMaker 軟件在LonWorks 總線控制項目中的實戰部署[J].金華職業技術學院學報,2011,11(3): 58-62.
[2]李云.基于LonWorks技術的城市智能小區OPCServe網絡平臺設計與實現[J].湖南城市學院學報,2011,19(4):64-66.
[3]成建生,楊帥,薛嵐.電力線通信模式的LON控制器的設計[J].電測與儀表,2011,25(4): 80-85.
[4]魏立明.LonWorks總線技術在智能住宅小區遠程自動抄表系統中的應用[J].電氣應用.2011,14(6): 33-35.
[5]薛嵐,楊帥,成建生.LonWorks總線技術在實驗室數字化建設中的應用[J].化工自動化及儀表,2011,21(7): 48-51.
[6]陽憲惠.現代總線技術及其應用[M].北京: 清華大學出版社: 2版,2008: 281-347.
[7]Shardul Kazi.TMPN3150B1AF Neuron Chip[M].California: TOSHIBA America Electronic Component Press,2010: 29-32.
[8]Mike Markkula.LonWorks技術介紹[M].California:Echelon Corporation Press: 2 版,2008: 9-14.