STEC2000控制器與LonWorks總線的通訊介紹
1 引 言
隨著總線技術(shù)和通信技術(shù)的飛速發(fā)展,各種計(jì)量儀器都具備了智能通信功能,控制器與智能儀表的通信也逐漸成為工程中不可缺少的一部分。
當(dāng)前流行的現(xiàn)場總線主要有Modbus,Profibus,CAN,LonWorks等。由于各個(gè)總線的接口技術(shù)以及通信協(xié)議的差異,使得其傳輸介質(zhì)也不同,例如常見的Modbus接口采用了RS 485,所以通過分極性的雙絞線傳輸數(shù)據(jù)。上世紀(jì)80年代后期,美國埃施朗公司(Echelon)開始開發(fā)LonWorks技術(shù)平臺(tái),確信他將成為控制網(wǎng)的通用標(biāo)準(zhǔn)。
2 LonWorks總線簡介
LonWorks控制網(wǎng)在某些方面相似于被稱為局域網(wǎng)或LAN的數(shù)據(jù)網(wǎng)。數(shù)據(jù)網(wǎng)由結(jié)合各種通信介質(zhì)以路由器連接的計(jì)算機(jī)組成,他們使用公用協(xié)議相互通信。控制網(wǎng)包含類似的控制的成本、規(guī)模、性能和響應(yīng)特征優(yōu)化的部件。
實(shí)現(xiàn)理想的控制功能的專用網(wǎng)絡(luò)就叫局部操作網(wǎng)絡(luò)1ΩN(Local Operating Network)。他的特征使網(wǎng)絡(luò)系統(tǒng)能擴(kuò)展到數(shù)據(jù)組網(wǎng)技術(shù)無能為力的一類應(yīng)用中,控制系統(tǒng)和裝置的制造商能通過在他們產(chǎn)品中組合LonWorks的設(shè)計(jì)縮短開發(fā)和設(shè)計(jì)的時(shí)間。LonWorks控制網(wǎng)的復(fù)雜程度不一樣,可以由幾個(gè)節(jié)點(diǎn)的機(jī)器內(nèi)裝小網(wǎng)到幾千個(gè)節(jié)點(diǎn)的樓宇控制系統(tǒng)。
LonTalk通信協(xié)議是LonWorks技術(shù)的核心。該協(xié)議提供一套通信服務(wù),使裝置中的應(yīng)用程序能在網(wǎng)絡(luò)中對(duì)其他裝置接受或發(fā)送數(shù)據(jù)而無需知道網(wǎng)絡(luò)拓?fù)?、名稱、地址或其他裝置的功能[1]。該協(xié)議能有選擇地提供端對(duì)端的報(bào)文確認(rèn)、報(bào)文證實(shí)和優(yōu)先級(jí)確認(rèn),是一個(gè)分層的以數(shù)據(jù)包為基礎(chǔ)的對(duì)等的通信協(xié)議,使用類似于以太網(wǎng)所用的"CSMA"算法來處理網(wǎng)上報(bào)文沖突。
LonTalk控制網(wǎng)中每個(gè)節(jié)點(diǎn)都分配有自己的邏輯地址,該地址由兩部分組成,第一部分是指定域的域ID,第二部分是節(jié)點(diǎn)地址。節(jié)點(diǎn)和節(jié)點(diǎn)之間的通信首先要知道邏輯地址,然后通過綁定的網(wǎng)絡(luò)變量來實(shí)現(xiàn)。網(wǎng)絡(luò)變量(NV)是任何數(shù)據(jù)項(xiàng)(溫度、壓力或者調(diào)節(jié)閥開度給定等),他們是一個(gè)特定裝置的應(yīng)用程序期望從網(wǎng)上其他裝置得到的(輸入NV)或者提供給其他裝置的(輸出NV)。裝置中應(yīng)用程序根本不用知道輸入NV來自何處或者輸出NV走向何處,因?yàn)樵诰W(wǎng)絡(luò)設(shè)計(jì)和安裝期問會(huì)有一個(gè)變量"捆綁"的過程,這樣在一個(gè)裝置的輸入NV和另一個(gè)裝置的輸出NV之間建立了邏輯連接,可以理解成為建立了"虛擬線路"。邏輯地址和每個(gè)節(jié)點(diǎn)提供的網(wǎng)絡(luò)變量都固化在神經(jīng)元芯片中。
LonTalk協(xié)議在設(shè)計(jì)上是獨(dú)立于介質(zhì)的,這使LonWorks系統(tǒng)可以在任何物理傳輸介質(zhì)上通信。常用的信道類型有TP/XF一1250,TP/XF-78,TP/FL-10,PL一2X(電力線)等,傳輸?shù)淖畲笏俾士蛇_(dá)1.25 Mb/s。
3 STEC2000控制器簡介
STEC2000控制器足北京碩人時(shí)代科技有限公司自主研發(fā)的嵌入式控制器,是以嵌入式技術(shù)為基礎(chǔ),采用Motorola 32位高速CPU和嵌入式實(shí)時(shí)Linux操作系統(tǒng).集現(xiàn)場采集、顯示操作、控制、通訊為一體,可廣泛應(yīng)用于市政(熱力、自來水、煤氣等)、樓宇自動(dòng)化(空調(diào)、安防等)等領(lǐng)域。STEC2000控制器采用模塊化體系結(jié)構(gòu),可根據(jù)需求靈活組配幾個(gè)點(diǎn)到上百個(gè)點(diǎn)的現(xiàn)場控制設(shè)備。
CPU主控模塊采用32位主頻為66 MHz的CPU,內(nèi)部嵌入公司自主裁減的實(shí)時(shí)Linux操作系統(tǒng),并且?guī)в? MB的FLASH 芯片,以及16 MB的電子盤,在背扳上帶有8個(gè)擴(kuò)展槽.可根據(jù)需要配置不同的I/O模塊;模擬輸入(AI)模塊帶有8路模擬量輸入通道,每一通道采用差分輸入電路,可有效地抑制共模干擾,可接受電流4~20 mA,電壓0~l0 V等多種常用的模擬輸入信號(hào);模擬輸出(AO)模塊帶有4路模擬量輸出通道,可以通過跳線選擇輸出電流或者電壓信號(hào),來控制現(xiàn)場的各種設(shè)備;數(shù)字輸人(DI)模塊帶有1 2路數(shù)字量輸入通道,接受現(xiàn)場的干結(jié)點(diǎn)開關(guān)狀態(tài),其中前3路可以當(dāng)作脈沖計(jì)數(shù)器;數(shù)字輸出(DO)模塊帶有8路繼電器輸出通道,繼電器容量130 V AC/l A,125 V DC/1 A;液晶和鍵盤操作模塊帶有5寸256色液晶顯示器以及薄膜鍵盤,用于現(xiàn)場人機(jī)交互。
3.1 測量功能
STEC2000控制器采集溫度、壓力、熱量等一次儀表參數(shù)并進(jìn)行壞數(shù)過濾。本控制器支持按用戶定義的方式將采集的電流電壓數(shù)據(jù)變換為相應(yīng)物理量。數(shù)據(jù)掃描周期可以在0.05~2 s之間進(jìn)行設(shè)定。
3.2存儲(chǔ)功能
物理量數(shù)據(jù)每隔一段時(shí)間如1 min(可組態(tài)設(shè)定)保存一次,掉電后不會(huì)丟失。具有不小于8 MB的存儲(chǔ)空間。
3.3 顯示功能
STEC2000控制器支持一個(gè)5寸的彩色液晶屏。用戶可以其對(duì)顯示畫面和參數(shù)進(jìn)行自由組態(tài)。
3.4通訊功能
STEC2000控制器內(nèi)置Socket Server、標(biāo)準(zhǔn)串口(9針)、RJ45以太網(wǎng)接口、RJ11電話接口等硬件設(shè)施??刂破髦С諸CP/IP,Modbus,PPP等協(xié)議,Soket連接、232/484通訊、以太網(wǎng)通訊、電話撥號(hào)通訊及無線通訊連接(GSM、GPRS等)。
3.5 自檢功能
STEC2000控制器上電后,自動(dòng)檢查主板、外圍設(shè)備和I/O設(shè)備是否正常,如有異常給出報(bào)警。
3.6 控制功能
STEC2000控制器支持PID控制、邏輯控制、模糊控制等多種控制方式,可通過簡單的組態(tài)進(jìn)行選擇??刂破鬟€支持用戶以腳本語言方式進(jìn)行二次開發(fā)。 控制掃描周期小于200 ms(可定義掃描周期)。
3.7故障報(bào)警
發(fā)生報(bào)警事件時(shí),STEC2000控制器會(huì)通過相應(yīng)的通訊方式向上位機(jī)報(bào)警直至收到上位機(jī)的確認(rèn)信息,報(bào)警內(nèi)容包括:故障發(fā)生時(shí)間、故障內(nèi)容、故障參數(shù)值(或狀態(tài))等信息。同時(shí)會(huì)在液晶的報(bào)警信息欄顯示此故障信息,當(dāng)多個(gè)報(bào)警存在時(shí),報(bào)警信息會(huì)滾動(dòng)顯示。
3.8人機(jī)交互
用戶可以通過STEC2000控制器的鍵盤進(jìn)行人機(jī)交互:選擇控制方式,設(shè)定參數(shù)值,取消報(bào)警等。
3.9 Web訪問
STEC2000控制器內(nèi)置Web Server對(duì)控制器運(yùn)行狀態(tài)進(jìn)行網(wǎng)頁發(fā)布,用戶可從任何地方通過電話線或以太網(wǎng)等方式登陸瀏覽網(wǎng)頁以了解控制器運(yùn)行情況。本功能受用戶密碼保護(hù)。
3.10 遠(yuǎn)程配置
STEC2000控制器支持遠(yuǎn)程配置更新和程序控制。例如,用戶可以通過電話、以太網(wǎng)等方式與控制器建立連接,然后就如同本地一樣對(duì)控制器進(jìn)行組態(tài)。本功能受用戶密碼保護(hù)。
3.11靈活配置
1個(gè)CPU主控模塊最多可以支持8個(gè)擴(kuò)展模塊,用戶可以根據(jù)所要采集數(shù)據(jù)的類型自由配置I/O模塊。
3.12 完善的組態(tài)功能
STEC2000控制器提供Windows操作平臺(tái)下運(yùn)行的可視化圖形組態(tài)環(huán)境以支持?jǐn)?shù)據(jù)、控制程序、顯示操作、報(bào)警、通訊管理、數(shù)據(jù)存儲(chǔ)等各種功能的組態(tài)。
4 燃?xì)忮仩t監(jiān)控
寧夏哈納斯天燃?xì)鉄犭娪邢薰驹阢y川市內(nèi)興建60座天燃?xì)忮仩t房,為了實(shí)現(xiàn)無人值守,需在每一個(gè)鍋爐房內(nèi)建立本地控制室,并建立一座中心主控機(jī)房,對(duì)這60個(gè)本地控制室進(jìn)行集中監(jiān)控。
為了實(shí)現(xiàn)集中監(jiān)控,除了現(xiàn)場的溫度、壓力以及各個(gè)水泵的控制外,需要同燃?xì)饬髁坑?jì)以及鍋爐控制器進(jìn)行通訊。燃?xì)饬髁坑?jì)采用了浙江天信儀表,具體的通信協(xié)議同廠家聯(lián)系,這里不再贅述。鍋爐采用德國菲斯曼的鍋爐,鍋爐控制器是Victronic 333,采用LonWorks通訊總線,STEC2000沒有那個(gè)神經(jīng)元芯片,所以要想辦法轉(zhuǎn)換總線接口,現(xiàn)把實(shí)現(xiàn)方法介紹如下:
Modbus是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議控制器之間、控制器經(jīng)由網(wǎng)絡(luò)(如以太網(wǎng))和其他設(shè)備之間可以相互通信。他已經(jīng)成為一種通用工業(yè)標(biāo)準(zhǔn)[2],所以可以用一個(gè)網(wǎng)關(guān)實(shí)現(xiàn)LonWorks總線與Modbus總線的轉(zhuǎn)換。網(wǎng)關(guān)里面嵌人神經(jīng)元芯片,使用專門的軟件可以實(shí)現(xiàn)鍋爐控制器與網(wǎng)關(guān)變量的綁定,比如說室外溫度可以綁定在網(wǎng)關(guān)中的第25,26個(gè)字節(jié),系統(tǒng)供水溫度綁定在第7,8個(gè)字節(jié)等,網(wǎng)關(guān)的另外一個(gè)接口是RS 485接口,可以實(shí)現(xiàn)與STEC2000的通訊。具體的編碼如下所示:
標(biāo)準(zhǔn)的Modbus協(xié)議使用RS 232C兼容串行接口,他定義了連接口的針腳、電纜、信號(hào)位、傳輸波特率、奇偶校驗(yàn)等[2]。而實(shí)際工程中由于距離的因素,大多采用傳輸距離可以達(dá)到1 200 m的RS 485接口??刂破魍ㄐ挪捎弥饕粡募夹g(shù),也就是主控制器"問",從控制器"答",如上述編碼中send Ox01……就是要求從控制器回傳現(xiàn)場的所有物理量的實(shí)際值,主控制器recv(29)表示要接受29個(gè)字節(jié),接下來就是根據(jù)廠家提供的通信協(xié)議對(duì)這29個(gè)字節(jié)進(jìn)行解碼,并把所得的數(shù)值逐個(gè)賦值給變量,從而進(jìn)行顯示。
鍋爐的控制數(shù)據(jù)采集到STEC2000控制器后,經(jīng)過寬帶送到監(jiān)控中心的上位機(jī)軟件,實(shí)現(xiàn)遠(yuǎn)程監(jiān)控鍋爐。
5 結(jié) 語
STEC2000控制器支持多種通訊方式,可以應(yīng)用于不同的環(huán)境中,實(shí)現(xiàn)與多種總線的通訊,并且通訊腳本開發(fā)簡單,得到了使用方技術(shù)人員的認(rèn)可。有了與LonWorks總線的穩(wěn)定通訊,再加上原有的熱網(wǎng)監(jiān)控經(jīng)驗(yàn),比較完美地實(shí)現(xiàn)了使用方的要求。