鑒于LonWorks網絡技術的先進性及入門技術的高門檻,海思的客戶經常咨詢LonWorks監控系統建設中的組態軟件應用開發事宜。本文提供一些此方面的相關知識,供大家參考。
1、組態控制軟件概念
在建設計算機監控系統時通常需要用到組態軟件,亦即組態控制軟件。組態控制軟件是一種可實現各種控制功能的、具有配置性質的軟件程序。通過組態就可以建立并實現預定的控制方案,使用戶在不需要編代碼程序的情況生成適合自己需求的應用系統。
下面介紹一種基于LonWorks網絡控制來實現對組態軟件的開發方法。
2、LonWorks智能節點
LON網絡上的每個智能設備稱為LonWorks節點,它包括一片神經元(Neuron)芯片、收發器、傳感器和控制設備和電源。Neuron芯片是節點的核心部分,內部固化了一套完整的LonTalk通信協議,確保了節點間使用可靠的通訊標準進行互操作。因為Neuron芯片可以直接與它所監視的傳感器和控制設備相連,所以一個Neuron芯片可以傳輸傳感器或控制設備的狀態、執行控制算法,并與其它Neuron芯片進行數據交換等。使用Neuron芯片,開發人員可以集中精力設計并開發出更好的應用對象而無需耗費太多的時間去設計通訊協議、通訊的軟件和硬件,這樣減少了開發的工作量,節省了大量的開發時間。
LonWorks節點編程采用的是Neuron C 語言,程序要經過編譯和燒錄后才能載入節點中運行,也有一些節點經過編譯可以直接下載到節點運行。在此我們把組態的思想引入組態控制軟件中,為控制網絡預先提供豐富的控制功能模塊,通過改變網絡節點之間的邏輯關系來達到改變網絡控制功能的目的。
3、組態控制的優點
(1)用戶只要根據實際需要進行適合自己的組態配置,不需要用Neuron C語言編程。
(2)方便用戶實現各種控制功能。
(3)LonWorks拓撲結構靈活,組網方便,神經元芯片自帶通信協議。
4、LonWorks系統組態控制
有的組態軟件將控制功能模塊稱為“軟PLC或Soft PLC”,也有的稱“軟邏輯”。組態控制軟件編程工具采用圖形化編程語言,只需用鼠標點擊、拖動就可以建立一個可重復使用的控制方案。一個應用程序中可以有很多控制模塊。開發人員利用Neuron C 語言編制通用控制程序。通用控制程序由許多基本功能模塊組成,各個模塊可以實現不同的控制功能。基本功能模塊有若干個輸入和輸出,每個輸入和輸出管腳都有唯一的名稱,不同種類的功能塊其每個管腳的意義、取值范圍也不相同。
控制模塊基本功能塊包括:數學運算模塊(實現數的加、減、乘、除、乘方、開方等基本運算);邏輯運算模塊(實現邏輯的與、或、非、延時、選擇開關等功能);變量模塊(提供運算的操作數并存放最終的運算結果)以及常用的控制算法模塊(例如PID控制等)。
組態控制軟件存盤時自動對程序進行編譯、檢查語法錯誤,同時生成一定格式的消息包,準備傳遞給Neuron芯片。這些特定格式的數據包有:控制模塊綜合描述(例如所含的控制模塊總個數,參數總個數,中間變量總個數等),各模塊的描述(例如該模塊的模塊數,參數個數,中間變量等),各模塊的參數表,各模塊代碼表,各模塊的中間變量存放順序表等。
組態Neuron節點通過顯式消息與PC機進行通訊,接收模塊消息包。該節點中存有與基本功能模塊相應的執行模塊代碼,將數學模塊、邏輯模塊、變量模塊和控制算法模塊等分別寫成單獨的函數,可按照組態軟件生成的消息包被調用,并可將執行結果傳送給PC機或其它 Neuron節點。假如組態中某個功能塊的參數發生了改變,則重新編譯程序并將最新生成的模塊消息包發給 Neuron芯片,使之總是執行最新的功能塊,實現組態的在線編譯與控制。組態Neuron節點在接收消息時,根據消息標簽將消息數據賦給該節點定義的不同的數據結構。只有當組態軟件生成的所有相關消息被收到后,功能塊才可以執行。
LonWorks節點之間通過網絡變量進行通訊。在組態 LonWorks節點中,預定義一定數量的網絡變量,既有輸入類型,也有輸出類型。其總個數不超過Neuron C 語言中允許定義的網絡變量的總個數。
5、LonWorks網絡變量
LonWorks技術中,網絡變量(Network Variables)的使用極大的簡化了開發和安裝分散系統的處理過程,各節點可以獨自定義,然后簡單地連接在一起或斷開某幾個連接,以構成新的LonWorks應用,大大增加了系統的靈活性,開放性。網絡變量通過給節點相互之間明確的網絡接口而極大地提高了節點產品的互操作性。互操作性帶來得好處是:節點能很方便地安裝到不同類型的網絡中,并保持節點應用的網絡配置獨立性。節點可以安裝到網絡中并且只要網絡變量數據類型匹配,就可以邏輯建立地與網絡上的其它節點的連接。
一個網絡變量NV是節點的一個對象,它可以定義為輸入網絡變量或輸出網絡變量。當一個網絡變量在一個節點的應用程序中被賦值后,LonTalk協議將修改了的輸出網絡變量新值構成隱式消息,透明的傳送到可與之共享數據的其它節點或PC機。這里的網絡變量其實為隱式消息。
由于每個網絡變量的數據長度一經確定就不能改變,且最多只有31B,所以限制了它的使用范圍。為此,可考慮同時使用了Neuron C 提供的顯示消息這一數據類型。顯式消息的長度是可變的,且最長可以是228B。顯式消息必須使用一個預定的對象來構造,然后使用顯式函數以及預定事件來處理這些顯式消息。用預定事件msg_arrives來接收消息。
(本文僅供學習參考,不代表本網站贊同其觀點及方法)
海思支持WEB功能的LonWorks智能網絡服務器