馬新軍,胥布工
1 引言
現場總線技術的興起,改變了控制系統的結構,使其向著網絡化的方向發展,形成控制網絡。由于現場總線技術適應了控制系統向智能化、網絡化、分散化發展的趨勢,因而顯示出強大的生命力,成為控制領域的熱點技術。LonWorks是美國 Echelon公司 1990年推出的一種現場總線系統,它采用了 ISO/ OSI模型的全部七層通信協議和面向對象事件驅動的設計方法(When()語句),物理層支持雙絞線、同軸電纜、光纖、紅外線、電力線等多種通信介質。近幾年來,在許多領域被廣泛應用,特別是在現代樓宇控制、智能家居中具有突出的地位和優勢。本文在基于LonWorks技術的基礎上,設計和開發了樓宇空調控制器。并且在分析了普通樓宇控制空調對象后,給出了符合LonMark互操作性協議的空調控制器軟件實現的途徑和方法。
2 LonMark規范簡介
LonWorks技術使得在一起工作形成控制網的新一代智能控制產品成為可能;使得使用不同生產商提供的產品來設計增強的控制系統柔性成為可能。Neuron(神經元)芯片中的LonTalk協議是LonWorks互操作性的基石。LonMark互操作性規范為怎樣設計一個基于LonWorks技術可互操作的產品提供了詳細的說明和技術闡述。對配置、管理和與在LonWorks網絡上的產品進行通訊,LonTalk協議應用層(第7層)提供了詳細的設計規范[1],而基于網絡變量的LonMark對象的使用是應用層互操作性的基礎。LonMark對象最大化地提供了在用于執行標準功能的網絡變量集合上一致的定義。LonMark對象充分的運用了能更好的支持互操作性的一套預定義的標準網絡變量類型[2](SNVT)和標準配置參數類型[3] (SCPT),使得不同提供商提供的不同產品很容易的滿足可互操作的、友好的通訊接口。
LonMark對象有5種類型,節點對象-對象0,它允許節點內的對象的功能受到監視。傳感器對象,它是可用于任意傳感器類型的通用對象,可為執行器和在一個控制器對象內的控制回路提供數據。傳感器對象包括有對象1-開環傳感器對象:適用于檢測絕對值和不要求反饋信息用于校正操作的傳感器設備;對象2-閉環傳感器對象:包含有反饋特點使他適用于多個傳感器控制同一個執行器,同時使傳感器和執行器的實際狀態與預定狀態保持同步。執行器對象包括有對象3-開環執行器對象:適用于執行器不提供反饋信息的應用場合;對象4-閉環執行器對象:具有的反饋特點使他適用于多個傳感器設備與多個執行器綁定的場合,反饋可同步多個傳感器設備與多個執行器的實際狀態和預定狀態。控制器對象-對象5:它在數據引入對象(例如傳感器對象)和數據消費對象(例如執行器對象)之間引入控制算法。
3 空調控制對象分析
空調機用于控制樓宇內工作空間的溫度,是樓宇控制中能源消耗的主要設備之一,因而空調機控制的要求和合理性等方面需仔細考慮。本文主要以較普通的一種空調機為例(見圖1)來分析設計空調機的控制策略。
控制需求分析:① 送風溫度檢測;空調機的工作狀態及故障狀態;空氣濾網的堵塞狀態及報警;根據檢測溫度與設定溫度的比較,調節冷水(暖氣)管電動閥的開度;控制規律采用PI(比例積分),因室內溫度的調節是一個大滯后、大慣性環節,PI控制是可行的;過程變量為送風溫度,控制變量為冷水(暖氣)閥閥門開度。② 每臺風機都安排每天啟動和關機的時序控制,時序表存放在上位機程序中,可以修改并下載。③ 可改變空調機的運行模式:制冷模式,加熱模式,通風模式和旁路模式(缺省)。
圖1 空調機控制圖
4 程序接口設置
空調機的程序為模塊化設計,有對外的網絡變量接口,接口設計為標準的符合LonMark互操作性規范。模塊化的設計使得實際的功能實現可以根據需要進行組態和鏈接,增強了各模塊使用的靈活性,使模塊可復用性強,并且在保持外部接口的穩定條件下,可改進控制的算法,提高可升級性。同時,模塊化的設計使得程序的可維護性和調試的方便性大大的提高。
表1是各控制模塊的接口變量設計的安排,共有PI控制、時序控制、邏輯控制三個功能模塊。各模塊均使用了LonMark對象類型,限于篇幅,對以下介紹的控制模塊僅列出了部分變量,并且省去了變量名,變量初值的說明。LonMark對象定義為:
表1
PI控制模塊(PID)―LonMark對象5 | ||||||
變量功能 |
備注 | |||||
PI算法的輸出結果 |
SNVT_lev_percent |
0%~100% | ||||
采樣溫度 |
SNVT_temp_p |
攝氏度 | ||||
空調機運行狀態 |
SNVT_lev_disc |
|||||
溫度設定值 |
SNVT_temp_p |
攝氏度 | ||||
死區范圍 |
SNVT_temp_p |
攝氏度 | ||||
空調機運行模式 |
SNVT_hvac_mode |
枚舉型 | ||||
開機固定輸出值 |
SNVT_lev_percent |
50% | ||||
開機恒定開度時間 |
SNVT_time_sec |
秒 | ||||
比例系數 |
SNVT_count |
|||||
積分系數 |
SNVT_count |
|||||
PI周期 |
SNVT_time_sec |
秒 | ||||
時序控制模塊(Schedule)―LonMark對象5 | ||||||
變量的功能 |
變量類型 |
備注 | ||||
時序模塊控制結果 |
SNVT_lev_disc |
|||||
當前時間 |
SNVT_time_stamp |
來自時鐘模塊 | ||||
當前星期 |
SNVT_date_day |
來自時鐘模塊 | ||||
用戶定義的時序段 |
BA_Timezone |
見軟件設計部分 | ||||
邏輯控制器(logic)―LonMark對象5 | ||||||
邏輯控制結果 |
SNVT_switch |
State:空調運行態 Value:閥門開度 | ||||
手、自動方式 |
SNVT_lev_disc |
|||||
時序控制信號 |
SNVT_lev_disc |
|||||
PI控制結果 |
SNVT_lev_percent |
來自PI控制模塊 | ||||
上位機控制信號 |
SNVT_lev_disc |
直接控制空調機啟停(非時序控制) | ||||
過濾網壓差報警 |
SNVT_lev_disc |
|||||
空氣質量報警 |
SNVT_lev_disc |
|||||
空調機故障報警 |
SNVT_lev_disc |
|||||
時序選擇控制 |
SNVT_lev_disc |
#pragma set_node_sd_string &3.0@0,1DI,1TEMP AI,5PI,5SCHEDULE,3CONTROLDOAO,5LOGIC,
1CONFIG, FOR AIR CONTIONING.
5 軟件設計
5.1 PI函數的功能
SNVT_count PI( SNVT_temp_p Setpoint, SNVT _temp_p Spacetemp,
SNVT_temp_p OutDoortemp, SNVT_temp_p DeadBand,
SNVT_hvac_mode Mode, SNVT_lev_disc FanState,
SNVT_time_sec ByPassT, SNVT_lev_percent ByPassV,
SNVT_count PIDPropor-tion, SNVT_count PIDIntegral,
SNVT_count PIDInterval)
PI函數的返回值是nvoPidOut的數值。
PI函數內部實現的功能包括:
(1) 制冷狀態下和加熱狀態下的控制算法。
(2) 采樣周期和PI周期的關系是:采樣周期是PI周期的十分之一,經過十次采樣后求出采樣的平均值,再進行PI運算。
(3) PI輸出:輸出是百分比。在開機時,先固定閥門開度一定時間,然后再進行PI控制。
5.2 SCHEDULE函數
SNVT_lev_disc SCHEDULE(BA_timezone *Timezone; SNVT_time_stamp *Time;
SNVT_date_day Week; )
SCHEDULE函數的返回值:nvoSchEnable。函數實現一年中可設7個節假日,一天中可設兩個工作時間段(由BA_Timezone定義)。每星期可選擇工作日,在工作時間外可自動關閉空調,在工作時間內可自動打開空調。
5.3 邏輯函數
邏輯控制模塊是最終處理輸出的控制器。所有的信號均傳遞給邏輯控制器,然后決定控制的輸出。整個軟件的控制流程如圖2所示:
圖2 邏輯控制流程圖
6 結語
LonWorks現場控制總線的應用使得空調控制變得簡單,功能實現靈活,多樣化。控制算法集成在智能節點設備中,適應了樓宇的控制對象分散的特點。與傳統控制相比,組態、調試和維護十分方便。本文對樓宇的主要對象空調機進行分析設計,重點討論了空調控制器的實現。在實現過程中關鍵在于對對象的全面了解后設計其模塊化的外部接口。本文討論的控制器設計已經在實際的工程應用中得到了應用和檢驗,實踐證明控制器的性能是可靠的,穩定的。此外,本方法可以擴展后應用于各種實際場合中。
參考文獻:
[1] LonMark Layers 1-6 Interoperability Guidelines, Version 3.1. LonMark Interoperability Association. Echelon Corporation.
[2] SNVT Master List and Programmer’s Guide, Echelon Corporation,May 1997.
[3] SCPT Master List and Programmer’s Guide, Echelon Corporation,May 1997.
[4] Neuron C Programmer’s Guide, Revision 4, Echelon Corporation.
[5] 楊育紅. LON 網絡控制技術及應用. 西安電子科技大學, 1999.