09LON和LonWorks技術(shù)_第1頁
09LON和LonWorks技術(shù)_第2頁
09LON和LonWorks技術(shù)_第3頁
09LON和LonWorks技術(shù)_第4頁
09LON和LonWorks技術(shù)_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第九章LON和和LonWorks技術(shù)技術(shù)第九章 LON和LonWorks技術(shù)lLON(Local Operating Networks)是Echelon公司開發(fā)的現(xiàn)場(chǎng)總線,并開發(fā)了配套的LonWorks技術(shù)。l開放的總線平臺(tái)技術(shù),該技術(shù)給各種控制網(wǎng)絡(luò)應(yīng)用提供端到端的解決方案。lLON和LonWorks技術(shù)可以應(yīng)用于工業(yè)控制、交通控制、樓宇自動(dòng)化等領(lǐng)域。主要內(nèi)容l第一節(jié) 總體概述 l第二節(jié) LonTalk協(xié)議l第三節(jié) 神經(jīng)元芯片l第四節(jié) Neuron C編程第一節(jié) 總體概述一、LonWorks技術(shù)特點(diǎn)1、支持OSI七層模型的LonTalk通信協(xié)議lLonTalk通信協(xié)議支持OSIRM的所有七層模

2、型,是直接面向?qū)ο蟮木W(wǎng)絡(luò)協(xié)議。lLonTalk協(xié)議通過神經(jīng)元芯片實(shí)現(xiàn),不僅提供介質(zhì)存取、事務(wù)確認(rèn)和點(diǎn)對(duì)點(diǎn)通信服務(wù);還提供一些如認(rèn)證、優(yōu)先級(jí)傳輸、廣播組播消息等高級(jí)服務(wù)。2、神經(jīng)元芯片l神經(jīng)元芯片是LonWorks技術(shù)的核心,它不僅是LON總線的通信處理器,而且是具有I/O和控制的通用處理器。神經(jīng)元芯片已提供了LonTalk協(xié)議的第1-6層,開發(fā)者只需用Neuron C語言開發(fā)。l神經(jīng)元芯片包括3個(gè)8位CPU、RAM、ROM、通信接口和I/O接口。ROM中存儲(chǔ)操作系統(tǒng)、LonTalk協(xié)議和I/O函數(shù)庫;RAM用于存儲(chǔ)從網(wǎng)絡(luò)上下載的配置數(shù)據(jù)和應(yīng)用程序。3、基于LNS(LonWorks Networ

3、k Operating System)的軟件工具lLonWorks技術(shù)有多種基于LNS的工具,用于LON網(wǎng)絡(luò)的維護(hù)和組態(tài)。lLonMaker是圖形化工具,用于圖形繪制、系統(tǒng)調(diào)試和網(wǎng)絡(luò)的維修保養(yǎng);l節(jié)點(diǎn)開發(fā)工具NodeBuilder;l節(jié)點(diǎn)和網(wǎng)絡(luò)安裝工具LonBilder;l網(wǎng)絡(luò)管理工具LonManage以及客戶服務(wù)器網(wǎng)絡(luò)構(gòu)架LNS技術(shù)。 4、開放性lLonWorks技術(shù)提供了開放系統(tǒng)設(shè)計(jì)平臺(tái),使不同公司生產(chǎn)的同類LonWorks產(chǎn)品可以互操互換。LonWorks產(chǎn)品的互操作標(biāo)準(zhǔn)由LonMark協(xié)會(huì)制定。二.LON總線系統(tǒng)的開發(fā)lLON總線系統(tǒng)的開發(fā)有兩種途徑:a.基于開發(fā)工具LonBuilde

4、r或NodeBuilder,使用Neuron C語言編程,即針對(duì)具體控制系統(tǒng)的要求編寫應(yīng)用代碼,然后經(jīng)過編譯與通信協(xié)議代碼連接生成總的目標(biāo)代碼,一起燒錄到節(jié)點(diǎn)的存儲(chǔ)器中;b.基于圖形方式的軟件開發(fā)工具Visual Control,通過組態(tài)構(gòu)成控制系統(tǒng),自動(dòng)編譯生成總的目標(biāo)代碼,直接下載到節(jié)點(diǎn)的Flash ROM中。對(duì)復(fù)雜系統(tǒng),需編制自定義模塊。 第二節(jié) LonTalk協(xié)議l一、LonTalk協(xié)議簡(jiǎn)介lLonTalk協(xié)議是LON總線的專用協(xié)議,是LonWorks技術(shù)的核心。它符合1SO/OSI參考模型的七層體系結(jié)構(gòu),即含有物理層、鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層。lLonTalk協(xié)

5、議提供一系列通信服務(wù),可使一臺(tái)設(shè)備的應(yīng)用程序可以在不了解網(wǎng)絡(luò)拓?fù)?、名稱、地址或其他設(shè)備功能的情況下發(fā)送和接收網(wǎng)絡(luò)上其他設(shè)備的報(bào)文。還提供端到端的報(bào)文確認(rèn)、報(bào)文認(rèn)證、打包業(yè)務(wù)和優(yōu)先傳送服務(wù),支持網(wǎng)絡(luò)管理服務(wù),允許遠(yuǎn)程網(wǎng)絡(luò)管理工具與網(wǎng)絡(luò)設(shè)備進(jìn)行交互。l采用神經(jīng)元芯片的網(wǎng)絡(luò)節(jié)點(diǎn)含有LonTalk協(xié)議固件,使網(wǎng)絡(luò)節(jié)點(diǎn)可以可靠地通信。l網(wǎng)絡(luò)節(jié)點(diǎn)是相互獨(dú)立的,任一節(jié)點(diǎn)發(fā)生故障時(shí),不影響整個(gè)網(wǎng)絡(luò)工作,提高了系統(tǒng)的可靠性和可維護(hù)性。l各節(jié)點(diǎn)具有本地存儲(chǔ)和處理能力,系統(tǒng)的安全性很高,能在系統(tǒng)規(guī)模大時(shí)避免網(wǎng)絡(luò)通信的沖突和網(wǎng)絡(luò)速度的局限性。采用分級(jí)編制方式,即域、子網(wǎng)和節(jié)點(diǎn)地址。支持多種通信介質(zhì),如雙絞線、電力線、

6、同軸電纜、無線電和紅外線、光纖傳輸介質(zhì)等。支持多點(diǎn)通信,互操作性強(qiáng),網(wǎng)絡(luò)上任一節(jié)點(diǎn)可對(duì)其他節(jié)點(diǎn)進(jìn)行操作,傳輸控制信息。發(fā)生報(bào)文是很短的數(shù)據(jù)(通常幾個(gè)到幾十個(gè)字節(jié)),通信帶寬不高(幾kbit/s到2Mbit/s),響應(yīng)時(shí)間快,通信安全可靠。網(wǎng)絡(luò)節(jié)點(diǎn)是低成本、低維護(hù)的單片機(jī)。1.LonTalk協(xié)議特點(diǎn)2.LonTalk的七層協(xié)議l物理層:定義通信信道上位流的傳輸,它確保源設(shè)備發(fā)送的位流準(zhǔn)確地被目的設(shè)備接收。l數(shù)據(jù)鏈路層:定義介質(zhì)訪問方法和單一信道的數(shù)據(jù)編碼。l網(wǎng)絡(luò)層:定義設(shè)備名稱和地址,源設(shè)備的報(bào)文如何選擇路由到達(dá)一臺(tái)或多臺(tái)目的設(shè)備,以及當(dāng)源設(shè)備和目的設(shè)備不在同一信道上時(shí),如何確定報(bào)文路由。l傳輸

7、層:確??煽康膱?bào)文傳輸。l會(huì)話層:對(duì)較低層數(shù)據(jù)交換加以控制。l表示層:定義報(bào)文數(shù)據(jù)的編碼。l應(yīng)用層:定義一種低層交換數(shù)據(jù)的公共語義解釋,使不同應(yīng)用程序中的網(wǎng)絡(luò)變量改變時(shí),均能自動(dòng)將更新的網(wǎng)絡(luò)變量值下傳(發(fā)送)或上傳(接收)。應(yīng)用層還定義了一個(gè)文件傳輸協(xié)議,用來傳輸應(yīng)用程序間的傳輸流。二、LonTalk各層協(xié)議及功能 1.物理層lLonTalk協(xié)議支持一種或多種不同傳輸介質(zhì)構(gòu)成的網(wǎng)絡(luò)l傳輸介質(zhì):雙絞線(twisted-pair)、電力線(powerline)、無線射頻(radio-frequency)、紅外線(infrared)、同軸電纜(coaxial cable)和光纖(fiber),甚至是

8、用戶自定義的通信介質(zhì)。l不同介質(zhì)的傳輸距離、傳輸速率、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)以及所使用的收發(fā)器均不相同,為支持各種傳輸介質(zhì),物理層協(xié)議支持多種通信協(xié)議。l收發(fā)器是神經(jīng)元芯片與信道的接口,LonTalk協(xié)議支持在通信介質(zhì)上的硬件碰撞檢測(cè),可自動(dòng)地將正在發(fā)生碰撞的報(bào)文取消,重新再發(fā)。(1)MAC子層l介質(zhì)訪問控制(MAC,Media Access Control)層是數(shù)據(jù)鏈路層的一部分。為使數(shù)據(jù)幀傳輸獨(dú)立于所采用的物理介質(zhì)和介質(zhì)訪問的控制方法,將數(shù)據(jù)鏈路層分為兩個(gè)子層:邏輯鏈路控制(LLC,Logical Link Control)和介質(zhì)訪問控制(MAC)。lLLC與介質(zhì)無關(guān),MAC則依賴于介質(zhì)。MAC協(xié)議

9、是確定設(shè)備安全地傳送數(shù)據(jù)包,減少?zèng)_突的控制算法。它使用OSI標(biāo)準(zhǔn)接口和鏈路層的其他部分進(jìn)行通信,如圖9-1所示。2.鏈路層lLonTalk的MAC協(xié)議是CSMA(載波信號(hào)多路偵聽)協(xié)議的一種改進(jìn):帶預(yù)測(cè)的P-堅(jiān)持CSMA (Predictive P-presistent CSMA)。其MPDU如圖9-2所示。l圖9-3為帶預(yù)測(cè)的P-堅(jiān)持CSMA概念示意圖。當(dāng)一個(gè)節(jié)點(diǎn)信息需要發(fā)送而試圖占用通道時(shí),首先在Beta 1周期檢測(cè)通道有沒有通信發(fā)送,以確定網(wǎng)絡(luò)空閑。若空閑,節(jié)點(diǎn)產(chǎn)生一個(gè)隨機(jī)等待T,T為0W個(gè)時(shí)間片Beta 2中的一個(gè),當(dāng)延時(shí)結(jié)束時(shí),網(wǎng)絡(luò)仍為空閑,節(jié)點(diǎn)發(fā)送報(bào)文。l在MAC層中,為提高緊急事

10、件的響應(yīng)時(shí)間,提供了一個(gè)可選擇的優(yōu)先級(jí)的機(jī)制。如圖9-4所示為優(yōu)先級(jí)帶預(yù)測(cè)的P堅(jiān)持CSMA概念示意圖。lLonWorks的MAC子層的優(yōu)點(diǎn):l支持多介質(zhì)的通信,支持低速率的網(wǎng)絡(luò),可以在重負(fù)載的情況下保持網(wǎng)絡(luò)性能,保證在過載情況下不會(huì)因?yàn)闆_突而降低吞吐量。當(dāng)使用支持硬件沖突檢測(cè)的傳輸介質(zhì)(如雙絞線)時(shí),一旦收發(fā)器檢測(cè)到?jīng)_突,LonTalk協(xié)議就可以有選擇地取消報(bào)文的發(fā)送,這使節(jié)點(diǎn)可以馬上重新發(fā)送并使沖突不再重發(fā),有效地避免了碰撞。(2)鏈路層(邏輯鏈路控制)l鏈路層確保鏈路層數(shù)據(jù)單元(Link Protocol Data Unit,LPDU)的數(shù)據(jù)在子網(wǎng)內(nèi)順序無響應(yīng)傳輸。它提供錯(cuò)誤檢測(cè),但不提供

11、錯(cuò)誤恢復(fù),當(dāng)一幀數(shù)據(jù)CRC效驗(yàn)錯(cuò),該幀被丟掉。l在直接互連模式下,物理層和鏈路層接口的編碼是曼側(cè)斯特編碼。在專用模式下根據(jù)不同的電氣接口采用不同的編碼方案。CRC效驗(yàn)碼加在網(wǎng)絡(luò)層數(shù)據(jù)單元(NPDU,Network Protocol Data Unit)幀的最后。l在網(wǎng)絡(luò)層,LonTalk協(xié)議提供給用戶一個(gè)簡(jiǎn)單的通信接口,定義了如何接收、發(fā)送、響應(yīng)等,在網(wǎng)絡(luò)管理上有網(wǎng)絡(luò)地址分配、出錯(cuò)處理、網(wǎng)絡(luò)認(rèn)證、流量控制、路由器機(jī)制。(1)LonTalk協(xié)議的網(wǎng)絡(luò)地址結(jié)構(gòu) lLonTalk地址唯一地確定一個(gè)LonTalk數(shù)據(jù)包的源節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn),路由器則利用這些地址在信道之間選擇數(shù)據(jù)包的傳輸路徑。為了簡(jiǎn)化路由

12、選擇,LonTalk協(xié)議定義了分級(jí)的網(wǎng)絡(luò)地址形式:域(Domain)、子網(wǎng)(Subnet)、節(jié)點(diǎn)(Node)地址、組地址。3.網(wǎng)絡(luò)層1)域(domain)地址l域是一個(gè)信道或多個(gè)信道上的節(jié)點(diǎn)的邏輯集合。一個(gè)域就是一個(gè)實(shí)際意義上的網(wǎng)絡(luò),通信只能在同一域中配置的節(jié)點(diǎn)之間進(jìn)行。l多個(gè)域可以占用同一個(gè)信道,所以,域地址可以用來隔離不同網(wǎng)絡(luò)上的節(jié)點(diǎn)。域的結(jié)構(gòu)可以保證在不同的域中通信是彼此獨(dú)立的。l域標(biāo)識(shí)符是唯一的。2)子網(wǎng)(Subnet)地址l一個(gè)子網(wǎng)是在同一域中節(jié)點(diǎn)的邏輯集合,是一個(gè)或多個(gè)通道的邏輯分組。一個(gè)子網(wǎng)最多可有127個(gè)節(jié)點(diǎn),一個(gè)域最多可有255個(gè)子網(wǎng)。一種子網(wǎng)層的智能路由器產(chǎn)品可以實(shí)現(xiàn)子網(wǎng)間

13、的數(shù)據(jù)交換。子網(wǎng)中的所有節(jié)點(diǎn)必須在同一信道上,如果一個(gè)節(jié)點(diǎn)屬于兩個(gè)域,該節(jié)點(diǎn)必須屬于每個(gè)域中的一個(gè)子網(wǎng)。3)節(jié)點(diǎn)(Node)地址l節(jié)點(diǎn)地址是節(jié)點(diǎn)被賦予的所屬子網(wǎng)內(nèi)的唯一的節(jié)點(diǎn)標(biāo)識(shí)碼。節(jié)點(diǎn)的標(biāo)識(shí)碼為7位,所以每個(gè)子網(wǎng)最多可以有127個(gè)節(jié)點(diǎn)。一個(gè)域中最多可以有32385個(gè)節(jié)點(diǎn)(255127)。任一節(jié)點(diǎn)可以分屬一個(gè)或兩個(gè)域,容許一個(gè)節(jié)點(diǎn)作為兩個(gè)域之間的網(wǎng)關(guān)(gateway),也容許一個(gè)節(jié)點(diǎn)將采集來的數(shù)據(jù)分別發(fā)向兩個(gè)不同的域。4)組(Group)地址l組是一個(gè)域內(nèi)節(jié)點(diǎn)的邏輯集合。與子網(wǎng)不同,組不需要考慮節(jié)點(diǎn)的物理位置。組可以包括路由器,一個(gè)組可在一個(gè)域中跨越幾個(gè)子網(wǎng),或幾個(gè)通道。每一個(gè)組對(duì)于需應(yīng)答服務(wù)

14、的節(jié)點(diǎn)最多可包含64個(gè),而對(duì)無應(yīng)答服務(wù)的節(jié)點(diǎn)個(gè)數(shù)不限,一個(gè)節(jié)點(diǎn)最多可以屬于15個(gè)組,一個(gè)域最多可以有256個(gè)組。組地址的長(zhǎng)度為1個(gè)字節(jié)。分組結(jié)構(gòu)可以使一個(gè)報(bào)文同時(shí)為多個(gè)節(jié)點(diǎn)所接收。5)芯片地址(Neuron ID)l每一個(gè)神經(jīng)元芯片有一個(gè)獨(dú)一無二的48位ID地址,這個(gè)ID地址是在神經(jīng)元芯片出廠時(shí)由廠方規(guī)定的,這個(gè)ID碼是唯一的。一般只在網(wǎng)絡(luò)安裝和配置時(shí)使用,可以作為產(chǎn)品的序列號(hào)。節(jié)點(diǎn)也可以用Neuron ID尋址。(2)尋址格式l一個(gè)通道是指在物理上能獨(dú)立發(fā)送報(bào)文(不需要轉(zhuǎn)發(fā))的一段介質(zhì)。LonTalk規(guī)定一個(gè)通道至多有32385個(gè)節(jié)點(diǎn)。通道并不影響網(wǎng)絡(luò)的地址結(jié)構(gòu),域、子網(wǎng)和分組都可以跨越多個(gè)

15、通道,一個(gè)網(wǎng)絡(luò)可以由一個(gè)或多個(gè)通道組成。通道之間是通過橋接器(bridge)來連接的。這樣做不僅可以實(shí)現(xiàn)多介質(zhì)在同一網(wǎng)絡(luò)上的連接,而且可以使一個(gè)通道的網(wǎng)絡(luò)信道不致過于擁擠。l盡管Neuron ID也可以作為地址,但它不能作尋址的唯一方式,這是因?yàn)樵搶ぶ贩绞街恢С忠粚?duì)一的傳輸,使用其作為地址將需要過于龐大的節(jié)點(diǎn)路由表以優(yōu)化網(wǎng)絡(luò)流量。l節(jié)點(diǎn)有五種尋址方式。尋址格式確定了地址格式的字節(jié)數(shù)。lLonTalk協(xié)議的核心部分是傳輸層和會(huì)話層。一個(gè)傳輸控制子層管理著報(bào)文執(zhí)行的順序、報(bào)文的二次檢測(cè)。傳輸層是無連接的,它提供1對(duì)1節(jié)點(diǎn)、1對(duì)多節(jié)點(diǎn)的可靠傳輸。信息認(rèn)證(authentication)也是在這一層實(shí)

16、現(xiàn)的。l會(huì)話層主要提供了請(qǐng)求/響應(yīng)的機(jī)制,它通過節(jié)點(diǎn)的連接,來進(jìn)行遠(yuǎn)程數(shù)據(jù)服務(wù)(remote servers),因此使用該機(jī)制可以遙控實(shí)現(xiàn)遠(yuǎn)端節(jié)點(diǎn)的過程建立。LonTalk協(xié)議的網(wǎng)絡(luò)功能雖然是在應(yīng)用層來完成的,但實(shí)際上也是由提供會(huì)話層的請(qǐng)求/應(yīng)答機(jī)制來完成的。lLonTalk協(xié)議提供四種類型的報(bào)文服務(wù):應(yīng)答方式(acknowledge)、請(qǐng)求/響應(yīng)方式(request/response)、非應(yīng)答重發(fā)方式(unacknowledged repeated)、非應(yīng)答方式(unacknowledged),這些報(bào)文服務(wù)除請(qǐng)求/響應(yīng)是在會(huì)話層實(shí)現(xiàn)外,其他三種都在傳輸層實(shí)現(xiàn)。4.LonTalk協(xié)議的傳輸層和

17、會(huì)話層應(yīng)答方式(acknowledge),或者是端對(duì)端(End to End)的應(yīng)答服務(wù),這是最可靠的服務(wù)方式。當(dāng)一個(gè)節(jié)點(diǎn)發(fā)送報(bào)文到另一個(gè)節(jié)點(diǎn)或一個(gè)分組,每一個(gè)接收到報(bào)文的節(jié)點(diǎn)都分別向發(fā)送方應(yīng)答,如果發(fā)送方在應(yīng)答時(shí)間內(nèi)沒有全部收到應(yīng)答,發(fā)送方將重新發(fā)送該報(bào)文,重發(fā)次數(shù)和應(yīng)答時(shí)間都是可選的。報(bào)文應(yīng)答服務(wù)是由神經(jīng)元芯片的網(wǎng)絡(luò)處理器完成的,不必由應(yīng)用程序來干預(yù)。報(bào)文傳輸號(hào)用于跟蹤報(bào)文和應(yīng)答信號(hào),確保節(jié)點(diǎn)不會(huì)收到重復(fù)的報(bào)文。請(qǐng)求/響應(yīng)方式(request/response)與應(yīng)答方式有相同的可靠性,當(dāng)一個(gè)節(jié)點(diǎn)發(fā)送報(bào)文到另一個(gè)節(jié)點(diǎn)或一個(gè)分組,每一個(gè)接收到報(bào)文的節(jié)點(diǎn)都分別向發(fā)送方響應(yīng),如果發(fā)送方在相應(yīng)時(shí)間

18、內(nèi)沒有全部收到響應(yīng),發(fā)送方將重新發(fā)送該報(bào)文,重發(fā)次數(shù)和響應(yīng)時(shí)間都是可選的。報(bào)文相同應(yīng)服務(wù)可以包含數(shù)據(jù),是由應(yīng)用處理器完成的,適合遠(yuǎn)程過程調(diào)用和客戶服務(wù)器方式的應(yīng)用。非應(yīng)答重發(fā)方式(unacknowledged repeated)是一種比較可靠的方式,當(dāng)一個(gè)節(jié)點(diǎn)發(fā)送報(bào)文到另一個(gè)節(jié)點(diǎn)或一個(gè)分組時(shí),不需要每一個(gè)接收到報(bào)文的節(jié)點(diǎn)向發(fā)送方應(yīng)答或響應(yīng),而采用重復(fù)多次發(fā)送同一報(bào)文,使報(bào)文盡量可靠地被接收方收到。這種方式適合于節(jié)點(diǎn)較多的分組廣播發(fā)送,從而避免因節(jié)點(diǎn)響應(yīng)或應(yīng)答而使網(wǎng)絡(luò)過載。非應(yīng)答方式(unacknowledged)是最不可靠的一種方式,當(dāng)一個(gè)節(jié)點(diǎn)發(fā)送報(bào)文到另一個(gè)節(jié)點(diǎn)或一個(gè)分組時(shí),不需要每一個(gè)接收

19、到報(bào)文的節(jié)點(diǎn)向發(fā)送方應(yīng)答或響應(yīng),也不必重復(fù)多次發(fā)送同一報(bào)文,只發(fā)一次即可。這種方式適合對(duì)可靠性要求不高,對(duì)報(bào)文丟失不敏感,但需要速度較高、報(bào)文長(zhǎng)度較長(zhǎng)的應(yīng)用場(chǎng)合。lLonTalk協(xié)議采用面向數(shù)據(jù)的應(yīng)用協(xié)議。在這種方式下,節(jié)點(diǎn)間以標(biāo)準(zhǔn)工程單位或其它預(yù)定義的單位交換諸如溫度、壓力、狀態(tài)和文字串等應(yīng)用數(shù)據(jù),而命令語句封裝在接收節(jié)點(diǎn)的應(yīng)用程序中且不是將命令在網(wǎng)上傳送。以這種方式,同一工程量可送到多個(gè)節(jié)點(diǎn),然而每個(gè)節(jié)點(diǎn)對(duì)該數(shù)據(jù)有不同的應(yīng)用程序。lLonTalk協(xié)議的表示層和應(yīng)用層提供五類服務(wù):l網(wǎng)絡(luò)變量的服務(wù)l顯示報(bào)文的服務(wù)l網(wǎng)絡(luò)管理的服務(wù)l網(wǎng)絡(luò)跟蹤的服務(wù)l外來幀傳輸?shù)姆?wù)5.LonTalk協(xié)議的表示層

20、和應(yīng)用層(1)網(wǎng)絡(luò)變量的服務(wù) 網(wǎng)絡(luò)變量是LonTalk協(xié)議中表示層的數(shù)據(jù)項(xiàng),網(wǎng)絡(luò)變量可以是單個(gè)的數(shù)據(jù)項(xiàng)(Neuron C變量),也可以是一個(gè)數(shù)據(jù)結(jié)構(gòu)或數(shù)組,其最大長(zhǎng)度可達(dá)31個(gè)字節(jié)。網(wǎng)絡(luò)變量用關(guān)鍵字Network在應(yīng)用程序中定義,每一網(wǎng)絡(luò)變量都有其數(shù)據(jù)類型。對(duì)于基于神經(jīng)元芯片的節(jié)點(diǎn)來說,當(dāng)定義為輸出的網(wǎng)絡(luò)變量改變時(shí),能自動(dòng)地將網(wǎng)絡(luò)變量的值變成應(yīng)用層協(xié)議數(shù)據(jù)單元(APDU)下傳并發(fā)送,使所有把該變量定義為輸入的節(jié)點(diǎn)收到該網(wǎng)絡(luò)變量的改變。當(dāng)收到信息時(shí),能根據(jù)上傳的APDU判斷是否是網(wǎng)絡(luò)變量,以及是哪一個(gè)輸入網(wǎng)絡(luò)變量并激活相應(yīng)的處理進(jìn)程。(2)顯示報(bào)文的服務(wù) 將報(bào)文的目的地址、報(bào)文服務(wù)方式、數(shù)據(jù)長(zhǎng)度

21、和數(shù)據(jù)組成APDU下傳并發(fā)送,將發(fā)送結(jié)果上傳并激活相應(yīng)的發(fā)送結(jié)果處理進(jìn)程。當(dāng)收到信息時(shí),能根據(jù)上傳APDU判斷是否顯示報(bào)文,并根據(jù)報(bào)文代碼激活相應(yīng)的處理進(jìn)程。(3)網(wǎng)絡(luò)管理的服務(wù) 一個(gè)LonWorks網(wǎng)絡(luò)是否需要一個(gè)網(wǎng)絡(luò)管理節(jié)點(diǎn),取決于實(shí)際應(yīng)用的需求。一個(gè)網(wǎng)絡(luò)管理節(jié)點(diǎn)具有以下功能:分配所有節(jié)點(diǎn)的地址單元(包括域號(hào)、子網(wǎng)號(hào)、節(jié)點(diǎn)號(hào)以及所屬的組名和組員號(hào),值得注意的是Neuron ID是不能分配的),設(shè)置配置路由器的配置表。(4)網(wǎng)絡(luò)跟蹤的服務(wù) 網(wǎng)絡(luò)跟蹤提供對(duì)節(jié)點(diǎn)的查詢和測(cè)試。查詢節(jié)點(diǎn)的工作狀態(tài)以及一些網(wǎng)絡(luò)的通信的錯(cuò)誤統(tǒng)計(jì),包括通信CRC效驗(yàn)錯(cuò)、通信超時(shí)等;發(fā)送一些測(cè)試命令來對(duì)節(jié)點(diǎn)進(jìn)行測(cè)試。這些信

22、息被網(wǎng)絡(luò)管理初始化,測(cè)試網(wǎng)絡(luò)上所有的操作,記錄錯(cuò)誤信息和錯(cuò)誤點(diǎn)。(5)外來幀傳輸?shù)姆?wù) 該服務(wù)主要針對(duì)網(wǎng)關(guān)(Gateway),將LON總線外其他的網(wǎng)絡(luò)信息轉(zhuǎn)換成符合LonTalk協(xié)議的報(bào)文傳輸,或反之。三、LonTalk協(xié)議使用中注意的問題lLonTalk協(xié)議是LonWorks技術(shù)的靈魂,它固化于神經(jīng)元芯片中,是直接面向?qū)ο蟮木W(wǎng)絡(luò)協(xié)議。LonTalk支持OSIISO模型的七層協(xié)議,支持多種傳輸介質(zhì)和多種傳輸速度。其地址設(shè)置方法提供了巨大的尋址能力,提供了可靠的通信服務(wù),保證了數(shù)據(jù)的可靠傳輸。但在使用中注意以下幾個(gè)問題。1.LonTalk協(xié)議的網(wǎng)絡(luò)認(rèn)證lLonTalk協(xié)議支持報(bào)文認(rèn)證,即允許報(bào)文

23、的接收者確定報(bào)文的發(fā)送方是否有權(quán)發(fā)送。它用于防止未授權(quán)節(jié)點(diǎn)介入應(yīng)用。報(bào)文認(rèn)證的實(shí)現(xiàn)是在節(jié)點(diǎn)安裝時(shí)收發(fā)雙方約定一個(gè)6個(gè)字節(jié)認(rèn)證字,接收方在接收?qǐng)?bào)文時(shí)判斷是否經(jīng)發(fā)送方認(rèn)證的報(bào)文,只有經(jīng)過發(fā)送方認(rèn)證的報(bào)文方可接收。2.LonTalk協(xié)議的網(wǎng)絡(luò)接口協(xié)議lLonTalk協(xié)議包含一個(gè)可選擇的網(wǎng)絡(luò)接口協(xié)議,該協(xié)議支持在任一主處理器上運(yùn)行的LonWorks應(yīng)用程序。主處理器可以是微處理器、微控制器或PC機(jī)。主處理器管理LonTalk協(xié)議的第6和7層,并且使用LonTalk網(wǎng)絡(luò)接口管理協(xié)議的15層。LonTalk網(wǎng)絡(luò)接口定義網(wǎng)絡(luò)接口和主處理器之間的數(shù)據(jù)交換格式。l不同的網(wǎng)絡(luò)接口具有不同的網(wǎng)絡(luò)接口協(xié)議。在主處理器

24、上執(zhí)行的應(yīng)用程序通過網(wǎng)絡(luò)驅(qū)動(dòng)器與網(wǎng)絡(luò)接口通信,網(wǎng)絡(luò)驅(qū)動(dòng)器管理緩沖器分配,將來自或發(fā)往網(wǎng)絡(luò)接口的數(shù)據(jù)送入緩沖器并且在網(wǎng)絡(luò)接口層協(xié)議中屏蔽主機(jī)應(yīng)用的任何差異。LonTalk網(wǎng)絡(luò)驅(qū)動(dòng)器定義了主機(jī)應(yīng)用與網(wǎng)絡(luò)驅(qū)動(dòng)器之間的標(biāo)準(zhǔn)報(bào)文格式。3.LonTalk協(xié)議中的定時(shí)器l在使用LonTalk協(xié)議服務(wù)之前,需正確設(shè)置以下幾個(gè)定時(shí)器:l事務(wù)定時(shí)器(Tramsaction Timer)l重發(fā)定時(shí)器(Repeat Timer)l組接收定時(shí)器(Group Receive Timer)l非組接收定時(shí)器(Non-Group Receive Timer)l緩沖器釋放定時(shí)器(Free Buffer Wait Timer)4.

25、網(wǎng)絡(luò)效率l網(wǎng)絡(luò)的響應(yīng)時(shí)間、安全性和可靠性是相互關(guān)聯(lián)的。例如,應(yīng)答服務(wù)方式是最可靠的,但它與非應(yīng)答方式和非應(yīng)答重發(fā)方式相比需要較大的網(wǎng)絡(luò)帶寬;對(duì)具有優(yōu)先權(quán)的報(bào)文實(shí)時(shí)發(fā)送,對(duì)其它報(bào)文的發(fā)送是不利的;使用報(bào)文認(rèn)證服務(wù)可使安全性增加,但要傳送的報(bào)文數(shù)量將是無報(bào)文認(rèn)證服務(wù)的兩倍。 第三節(jié) 神經(jīng)元芯片一、概述l神經(jīng)元芯片是LonWorks技術(shù)的核心。神經(jīng)元芯片使用CMOS VISI技術(shù),主要包含MCI43150和MCI43120兩大序列。1.神經(jīng)元芯片的硬件結(jié)構(gòu)二、神經(jīng)元芯片的結(jié)構(gòu)2.神經(jīng)元芯片的處理單元l神經(jīng)元芯片內(nèi)部裝有三個(gè)微處理器:MAC通信處理器、網(wǎng)絡(luò)處理器和應(yīng)用處理器。圖9-6為三個(gè)處理器和存儲(chǔ)

26、器結(jié)構(gòu)的框圖。lMAC通信處理器完成介質(zhì)訪問控制,也就是ISO的OSI七層協(xié)議的第1和2層,這其中也包括碰撞回避算法。它和網(wǎng)絡(luò)CPU間通過使用網(wǎng)絡(luò)緩沖區(qū)達(dá)到數(shù)據(jù)的傳遞。l網(wǎng)絡(luò)處理器完成OSI的第36層網(wǎng)絡(luò)協(xié)議,它處理網(wǎng)絡(luò)變量、地址、認(rèn)證、后臺(tái)診斷、軟件定時(shí)器、網(wǎng)絡(luò)管理和路由等進(jìn)程。l應(yīng)用處理器完成用戶的編程,其中包括用戶程序?qū)Σ僮飨到y(tǒng)的服務(wù)調(diào)用。l在神經(jīng)元芯片中,每個(gè)CPU都有自身的寄存器組,但所有的CPU都可以通過使用存儲(chǔ)器和算術(shù)邏輯單元ALU共享數(shù)據(jù)。3.存儲(chǔ)器l神經(jīng)元芯片有四種類型的存儲(chǔ)器:(1)E2PROM 各種類型的神經(jīng)元芯片都有內(nèi)部E2PROM,其用于存儲(chǔ)網(wǎng)絡(luò)配置和尋址信息、唯一的

27、48位神經(jīng)芯片標(biāo)識(shí)碼、用戶應(yīng)用程序代碼和常用數(shù)據(jù)。E2PROM中的用戶代碼在程序控制下寫入和擦除,兩者的總時(shí)間是20ms/Byte,可以在數(shù)據(jù)不丟失情況下,向E2PROM寫入10000次。(2)RAM RAM用于存儲(chǔ)堆棧段應(yīng)用和系統(tǒng)數(shù)據(jù),以及LonTalk協(xié)議網(wǎng)絡(luò)緩沖區(qū)和應(yīng)用緩沖區(qū)數(shù)據(jù)。只要神經(jīng)元芯片維持加電狀態(tài),RAM狀態(tài)就會(huì)保持,當(dāng)芯片復(fù)位時(shí),RAM內(nèi)容清除。(3)ROM 所有3120神經(jīng)元芯片包括10kB的ROM,3150芯片無ROM。ROM用來存儲(chǔ)神經(jīng)元芯片固件,包括LonTalk協(xié)議、事件驅(qū)動(dòng)任務(wù)調(diào)度器、應(yīng)用數(shù)據(jù)庫。(4)外部存儲(chǔ)器 3150芯片不包括片上ROM,但可以允許尋址593

28、92個(gè)字節(jié)的外部存儲(chǔ)器。外部存儲(chǔ)器存儲(chǔ)應(yīng)用程序和數(shù)據(jù)(可多達(dá)43008個(gè)字節(jié)),神經(jīng)元芯片固件和保留空間(16384個(gè)字節(jié)),其中43008個(gè)字節(jié)中也可包括網(wǎng)絡(luò)緩沖區(qū)和應(yīng)用緩沖區(qū)。l3120芯片和3150芯片的存儲(chǔ)器結(jié)構(gòu)如圖9-7和9-8所示l圖9-9表示了3150神經(jīng)元芯片連接到一個(gè)ROM的例子。4.輸入/輸出l在一個(gè)控制單元中需要有采集和控制的功能,為此在神經(jīng)元芯片上特設(shè)置11個(gè)I/O口,即IO0IO10.這11個(gè)I/O口可根據(jù)不同的需求進(jìn)行靈活配置,便于同外圍設(shè)備進(jìn)行接口,如可配置成RS232、并口、定時(shí)/計(jì)數(shù)I/O、位I/O等。l根據(jù)不同外部設(shè)備I/O的要求,采用Neuron C語言,

29、編程人員可以定義一個(gè)或多個(gè)引腳作為輸入/輸出對(duì)象,靈活地配置輸入/輸出方式。用戶程序可通過“io_in()”和“io_out()”系統(tǒng)調(diào)用來訪問這些I/O對(duì)象,并在程序執(zhí)行期間完成輸入/輸出操作。5.通信端口l神經(jīng)元芯片可以支持多種通信介質(zhì)。使用最為廣泛的是雙絞線,其次是電力線,其他包括無線射頻、紅外線、光纖、同軸電纜等。表9-4列出了幾種典型的收發(fā)器類型。l神經(jīng)元芯片通信端口為適合不同的通信介質(zhì),可以將五個(gè)通信引腳配置成三種不同的接口模式,以適合不同的編碼方案和不同的波特率,見表9-5。這三種模式是:?jiǎn)味四J健⒉罘帜J?、專用模式。?)單端模式 單端模式是在LON總線中使用最廣泛的一種模式,

30、無線、紅外、光纖和同軸電纜都使用該模式。(2)差分模式 在差分模式下,神經(jīng)元芯片支持內(nèi)部的差分驅(qū)動(dòng)。采用差分模式類似于單端方式。區(qū)別是差分模式包括一個(gè)內(nèi)部差分驅(qū)動(dòng),同時(shí)不再包括睡眠輸出。(3)專用模式 在一些專用場(chǎng)合,需要神經(jīng)元芯片直接提供沒有編碼和不加同步頭的原始報(bào)文。在這種情況下,需要一個(gè)智能的收發(fā)器處理從網(wǎng)絡(luò)上或神經(jīng)元芯片上來的數(shù)據(jù)。發(fā)送的過程是,從神經(jīng)元芯片接收到這種原始報(bào)文,重新編碼,并插入同步頭;接收的過程是,從網(wǎng)絡(luò)上收到數(shù)據(jù),去掉同步頭,重新解碼,然后發(fā)送到神經(jīng)元芯片。6.定時(shí)/計(jì)數(shù)器l神經(jīng)元芯片帶有兩個(gè)片內(nèi)定時(shí)/計(jì)數(shù)器:多路選擇定時(shí)/計(jì)數(shù)器和專用定時(shí)/計(jì)數(shù)器。7.時(shí)鐘系統(tǒng)l神經(jīng)

31、元芯片中包括一個(gè)分頻器,通過外部的一個(gè)輸入晶振來輸入時(shí)鐘。神經(jīng)元芯片正常工作頻率為625kHz10MHz。8.睡眠/喚醒機(jī)制l神經(jīng)元芯片可以通過軟件設(shè)置進(jìn)入低電壓的睡眠狀態(tài)。在這種模式下,系統(tǒng)時(shí)鐘、使用的程序時(shí)鐘和計(jì)數(shù)器關(guān)閉,但是使用的狀態(tài)信息被保留。當(dāng)輸入有如下的轉(zhuǎn)換時(shí),如:I/O管腳的輸入(可屏蔽)、IO4IO7、Service管腳信號(hào)、通信信號(hào)(可屏蔽)、差分模式CP0或CP1、單端模式CP0、專用模式CP3,正常的系統(tǒng)操作被恢復(fù)。9.Service引腳lService引腳是神經(jīng)元芯片里的一個(gè)非常重要的引腳,在節(jié)點(diǎn)的配置、安裝和維護(hù)的時(shí)候都需要使用該引腳。該引腳既能輸入也能輸出。輸出時(shí),

32、Service引腳通過一個(gè)低電平來點(diǎn)亮外部的LED,LED保持為亮表示該節(jié)點(diǎn)沒有應(yīng)用代碼或芯片已壞;LED以1/2Hz的頻率閃爍表示該節(jié)點(diǎn)處于未配置狀態(tài)。輸入時(shí),一個(gè)邏輯低電平使神經(jīng)元芯片傳送一個(gè)包括該節(jié)點(diǎn)48位的Neuron ID的網(wǎng)絡(luò)管理信號(hào)。Service引腳電路如圖9-13所示。10.Watchdog定時(shí)器l神經(jīng)元芯片為防止軟件失效和存儲(chǔ)器錯(cuò)誤,包含三個(gè)Watchdog定時(shí)器(每個(gè)CPU一個(gè))。如果應(yīng)用軟件和系統(tǒng)沒有定時(shí)地刷新這些Watchdog定時(shí)器,整個(gè)神經(jīng)元芯片將自動(dòng)復(fù)位。神經(jīng)元芯片支持節(jié)點(diǎn)方式,在這種節(jié)點(diǎn)方式下系統(tǒng)時(shí)鐘和計(jì)數(shù)器關(guān)閉,但是狀態(tài)信息,包括RAM中的信息不會(huì)改變,一旦

33、I/O狀態(tài)變化,或網(wǎng)絡(luò)上信息有變,系統(tǒng)便會(huì)激活神經(jīng)元芯片。它的內(nèi)部還有一個(gè)最高1.25Mbit/s的獨(dú)立于介質(zhì)的收發(fā)器。三、神經(jīng)元芯片的應(yīng)用I/O接口l神經(jīng)元芯片通過11個(gè)引腳(IO0-IO10)連接到特定的應(yīng)用外部電路。其專用編程工具Neuron C允許程序員將一個(gè)或多個(gè)引腳定義為I/O對(duì)象,通過函數(shù)“io_in()”和“io_out()”對(duì)所定義的I/O進(jìn)行輸入輸出操作。l神經(jīng)元芯片的11個(gè)I/O有34種可選的工作方式,每種模式對(duì)應(yīng)特定的數(shù)據(jù)傳輸方式,稱為輸入輸出對(duì)象,可以有效地實(shí)現(xiàn)這11個(gè)I/O的測(cè)量、計(jì)時(shí)和控制等功能。 第四節(jié) Neuron C編程一、Neuron C概述lLON系統(tǒng)是

34、由神經(jīng)元芯片為核心的各種節(jié)點(diǎn)構(gòu)成的。LonWorks為產(chǎn)品開發(fā)者、系統(tǒng)集成商和最終用戶提供了用于研制、構(gòu)建、安裝和維護(hù)控制網(wǎng)絡(luò)所需要的所有支持,這種一步到位的解決方案十分有利于用戶將主要精力集中在所擅長(zhǎng)的應(yīng)用層的開發(fā)工作上。而應(yīng)用層的軟件可在Node Builder或Lon Builder開發(fā)系統(tǒng)下,采用一種專門的編程語言Neuron C。lNeuron C語言的主要特點(diǎn)包括:內(nèi)部多任務(wù)調(diào)度程序、Run_Time函數(shù)庫、I/O對(duì)象的定義、網(wǎng)絡(luò)變量的定義、“When”語句、顯示報(bào)文傳遞、針對(duì)ms和s計(jì)時(shí)器對(duì)象的語句。l利用Neuron C語言,可簡(jiǎn)易地開發(fā)基于網(wǎng)絡(luò)的應(yīng)用系統(tǒng)。例如,該語言對(duì)不同節(jié)

35、點(diǎn)所定義的變量都可簡(jiǎn)單地作為本地變量一樣使用,只需在系統(tǒng)聯(lián)調(diào)時(shí)給予互聯(lián)即可。lNeuron芯片的任務(wù)調(diào)度程序采用的是事件驅(qū)動(dòng)方式,當(dāng)給定的一個(gè)條件為真時(shí),與該條件相關(guān)聯(lián)的一段程序代碼將被執(zhí)行。因此Neuron C不再使用main()函數(shù)結(jié)構(gòu),而是代之以由When語句和函數(shù)組成的Neuron C程序的可執(zhí)行對(duì)象。l定義在When語句中的時(shí)間一般有預(yù)定義事件和用戶定義事件兩種類型。二、Neuron C編程模型lNeuron C是一種基于ANSI而為神經(jīng)元芯片專門設(shè)計(jì)的編程語言,它對(duì)ANSI C進(jìn)行了擴(kuò)展以直接支持Neuron芯片的固件例程,是編寫神經(jīng)元芯片程序的最為重要的工具。1.數(shù)據(jù)類型lNeu

36、ron C支持的數(shù)據(jù)類型有整型(int)、字符型(Char)、布爾型(boolean)、枚舉類型(enums)、數(shù)組類型(arrays)、指針類型(pointers)、結(jié)構(gòu)類型(structs)和聯(lián)合類型(unions)等。l值得注意的是Neuron C不支持ANSI C標(biāo)準(zhǔn)運(yùn)行庫的一些功能,如浮點(diǎn)運(yùn)算、文件I/O等;但可用一個(gè)擴(kuò)展的運(yùn)算函數(shù)庫運(yùn)行IEEE754浮點(diǎn)、32位定點(diǎn)和符號(hào)運(yùn)算。2.軟件定時(shí)器l在一個(gè)程序中,最多可以定義15個(gè)軟件定時(shí)器對(duì)象,這些軟件定時(shí)器可分為兩種:毫秒定時(shí)器和秒定時(shí)器。毫秒定時(shí)器是一個(gè)提供在164000ms時(shí)間范圍內(nèi)定時(shí)的定時(shí)器。秒定時(shí)器是一個(gè)提供在165535s

37、時(shí)間范圍內(nèi)定時(shí)的定時(shí)器。l這些定時(shí)器可重復(fù)遞減任選的時(shí)間間隔,并且定時(shí)器的計(jì)時(shí)運(yùn)行獨(dú)立于神經(jīng)元芯片的輸入時(shí)鐘。定時(shí)器計(jì)時(shí)結(jié)束引發(fā)一個(gè)稱為timer_expires的事件,該事件觸發(fā)用戶編寫的時(shí)鐘事件過程代碼,完成特定的任務(wù)。定時(shí)器變量的值可由應(yīng)用程序在任一時(shí)刻設(shè)置。3.網(wǎng)絡(luò)變量l應(yīng)用程序可以定義一個(gè)特殊的靜態(tài)對(duì)象類網(wǎng)絡(luò)變量。網(wǎng)絡(luò)變量的傳送是通過LonTalk協(xié)議來完成的,對(duì)用戶來說是透明的,網(wǎng)絡(luò)變量提供了一個(gè)非常靈活的由系統(tǒng)中節(jié)點(diǎn)操作分布數(shù)據(jù)的方法。l網(wǎng)絡(luò)變量可以是整型、字符型或結(jié)構(gòu)等類型。網(wǎng)絡(luò)變量可以與一個(gè)或多個(gè)其他節(jié)點(diǎn)的網(wǎng)絡(luò)變量互連。l節(jié)點(diǎn)的數(shù)據(jù)可以通過網(wǎng)絡(luò)變量進(jìn)行共享。l網(wǎng)絡(luò)變量需要一個(gè)

38、互聯(lián)(Binding)的過程將不同節(jié)點(diǎn)的同類型的網(wǎng)絡(luò)變量互連在一起。l一個(gè)節(jié)點(diǎn)最多可以定義62個(gè)網(wǎng)絡(luò)變量,在通常情況下,特別是以神經(jīng)元芯片為核心的小系統(tǒng)中,這并不是一個(gè)非常重要的限制,因?yàn)橐粋€(gè)輸入的網(wǎng)絡(luò)變量可以和無數(shù)個(gè)輸出的網(wǎng)絡(luò)變量互聯(lián),一個(gè)輸出的網(wǎng)絡(luò)變量可以和無數(shù)個(gè)輸入的網(wǎng)絡(luò)變量互聯(lián)。對(duì)于大系統(tǒng),若采用Host_Base方式可達(dá)4096個(gè)網(wǎng)絡(luò)變量。l網(wǎng)絡(luò)變量的長(zhǎng)度不能超過31個(gè)字節(jié),對(duì)于超過31個(gè)字節(jié)的數(shù)據(jù)可以使用顯示報(bào)文。l在程序中使用網(wǎng)絡(luò)變量,網(wǎng)絡(luò)變量消息的構(gòu)造以及發(fā)送在后臺(tái)進(jìn)行。所涉及的軟件層次有應(yīng)用層、網(wǎng)絡(luò)層以及MAC層。網(wǎng)絡(luò)變量的使用:l應(yīng)用程序首先對(duì)輸出網(wǎng)絡(luò)變量賦值,然后調(diào)度程序

39、構(gòu)造這個(gè)網(wǎng)絡(luò)變量并將該消息傳遞到網(wǎng)絡(luò)層,網(wǎng)絡(luò)層將地址信息附加到消息中后將消息傳遞到MAC層,MAC層再將該層的信息附加到網(wǎng)絡(luò)變量中,最后將消息發(fā)送到通道上。當(dāng)該網(wǎng)絡(luò)變量消息被網(wǎng)絡(luò)上任一節(jié)點(diǎn)接收后,消息包被拆開,MAC層證實(shí)消息的有效性,網(wǎng)絡(luò)層檢查消息中的地址信息是否是發(fā)向本節(jié)點(diǎn)的消息。4.顯式報(bào)文l在大多數(shù)情況下網(wǎng)絡(luò)變量是網(wǎng)絡(luò)通信的一個(gè)簡(jiǎn)單、可靠、快捷的方法。然而網(wǎng)絡(luò)變量在個(gè)數(shù)、長(zhǎng)度和發(fā)送目的地址等方面都使程序開發(fā)者收到限制。當(dāng)應(yīng)用程序中大于31個(gè)字節(jié)的數(shù)據(jù)對(duì)象需要傳送,最好采用請(qǐng)求/應(yīng)答服務(wù)。這時(shí),網(wǎng)絡(luò)變量模型不適用了,LonTalk協(xié)議又提供了一個(gè)更靈活但較復(fù)雜的通信方式顯示報(bào)文。l顯示報(bào)

40、文是一個(gè)結(jié)構(gòu)變量。l應(yīng)用程序可以構(gòu)造長(zhǎng)達(dá)228個(gè)字節(jié)的報(bào)文,通過使用報(bào)文標(biāo)簽的隱式地址連接其他節(jié)點(diǎn),報(bào)文還可以顯式地用子網(wǎng)/節(jié)點(diǎn)、組、廣播或Neuron ID尋址方式與其他節(jié)點(diǎn)對(duì)話。l在顯式報(bào)文中提供對(duì)通信目的、源地址、優(yōu)先級(jí)、認(rèn)證等方式的直接操作。所有對(duì)顯式報(bào)文的操作都是通過運(yùn)行庫的調(diào)用來實(shí)現(xiàn)的。l顯示報(bào)文提供一個(gè)請(qǐng)求/響應(yīng)機(jī)制,該機(jī)制和網(wǎng)絡(luò)變量的垂詢相似,但它還提供了更多的功能。當(dāng)一個(gè)網(wǎng)絡(luò)變量被垂詢時(shí),被垂詢節(jié)點(diǎn)的應(yīng)用程序?yàn)檫@個(gè)網(wǎng)絡(luò)變量提供最新的值,但不干涉應(yīng)用程序。與之形成對(duì)照的是,當(dāng)一個(gè)報(bào)文以顯式報(bào)文的請(qǐng)求服務(wù)方式被發(fā)送后,遠(yuǎn)程節(jié)點(diǎn)的應(yīng)用程序接收該報(bào)文并執(zhí)行一些動(dòng)作,然后為它的響應(yīng)提供

41、一個(gè)新值。l雖然顯式報(bào)文使網(wǎng)絡(luò)操作更為靈活,但在Neuron C編程的過程中,并不提倡使用顯示報(bào)文進(jìn)行通信,主要因?yàn)轱@式報(bào)文不像網(wǎng)絡(luò)變量那樣容易實(shí)現(xiàn)互操作,顯式報(bào)文的數(shù)據(jù)格式更依賴于具體的應(yīng)用。顯式報(bào)文必須使用一個(gè)預(yù)定的對(duì)象來構(gòu)造,然后使用顯式函數(shù)以及預(yù)定事件來處理這些顯式報(bào)文。顯式報(bào)文一般在網(wǎng)絡(luò)變量不適用的場(chǎng)合下才使用,同一程序中可以既有網(wǎng)絡(luò)變量又有顯式報(bào)文。5.任務(wù)調(diào)度器lNeuron C任務(wù)調(diào)度由事件驅(qū)動(dòng)(Event Driven),運(yùn)行客戶提交的任務(wù)。當(dāng)一個(gè)給定事件發(fā)生的條件為真時(shí),與該事件關(guān)聯(lián)的一段代碼(稱為任務(wù))被執(zhí)行。Neuron C任務(wù)調(diào)度是非實(shí)時(shí)的,也就是說,如果低優(yōu)先級(jí)事件

42、的任務(wù)在運(yùn)行,即使高優(yōu)先級(jí)的事件發(fā)生,也必須等到低優(yōu)先級(jí)事件的任務(wù)完成后重新調(diào)度才執(zhí)行高優(yōu)先級(jí)事件的任務(wù)。l事件是通過When語句來定義的。任務(wù)調(diào)度器可以處理多達(dá)80個(gè)When子句。用戶可以指定具有優(yōu)先級(jí)的When子句,任務(wù)調(diào)度器檢查所有When子句的優(yōu)先權(quán)。l在Neuron C中定義了五類事件:系統(tǒng)級(jí)事件、輸入/輸出事件、定時(shí)器事件、網(wǎng)絡(luò)變量和顯式報(bào)文事件、用戶自定義事件。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)lLonWorks系統(tǒng)開發(fā)過程l 現(xiàn)場(chǎng)總線控制網(wǎng)絡(luò)的最大特點(diǎn)就是將過去傳統(tǒng)的、集中在中央控制系統(tǒng)上的控制功能分散下放到現(xiàn)場(chǎng)設(shè)備中,從而實(shí)現(xiàn)現(xiàn)場(chǎng)控制。l 為了組建一個(gè)基于實(shí)時(shí)分布式LonWo

43、rks技術(shù)的控制網(wǎng)絡(luò),必須盡力將一個(gè)龐大復(fù)雜的控制任務(wù)分成較小簡(jiǎn)單的子任務(wù),并將控制處理過程和信息的輸入/輸出完全分布到相應(yīng)的現(xiàn)場(chǎng)控制器中,以避免集中控制。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)lLonWorks系統(tǒng)開發(fā)過程l 定義控制系統(tǒng)的完整控策略;l 將控制系統(tǒng)劃分成能分布在現(xiàn)場(chǎng)的功能模塊或子任務(wù);l 定制與各子任務(wù)相一致的智能節(jié)點(diǎn);l 定義各節(jié)點(diǎn)間的相互作用及所需共享的數(shù)據(jù);l 為每個(gè)節(jié)點(diǎn)所承擔(dān)的子任務(wù)編寫Neuron C應(yīng)用程序;l 通過燒錄或下載的方式,將應(yīng)用程序置入各節(jié)點(diǎn)的EPROM或FLASH RAM中;l 分別對(duì)單個(gè)節(jié)點(diǎn)和整個(gè)系統(tǒng)進(jìn)行調(diào)試和測(cè)試;l 在現(xiàn)場(chǎng)安裝節(jié)點(diǎn)并測(cè)試其行為;l

44、 維護(hù)系統(tǒng)的硬件和軟件。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)lLonWorks系統(tǒng)開發(fā)過程基于LonWorks網(wǎng)絡(luò)的控制系統(tǒng)分解LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l智能節(jié)點(diǎn)開發(fā)過程l(1)節(jié)點(diǎn)定義和功能分配l 根據(jù)節(jié)點(diǎn)的任務(wù)及對(duì)控制網(wǎng)絡(luò)的作用和影響進(jìn)行節(jié)點(diǎn)的定義和功能分配。l 充分考慮節(jié)點(diǎn)的控制策略、節(jié)點(diǎn)間如何邏輯連接、節(jié)點(diǎn)物理安裝在何處、路由器如何選擇路徑、如何提高可靠性、多種通信介質(zhì)如何連接等所有可能遇到的問題。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l智能節(jié)點(diǎn)開發(fā)過程l(2)為節(jié)點(diǎn)定義外部接口l 節(jié)點(diǎn)要和其它節(jié)點(diǎn)進(jìn)行通信,就要為節(jié)點(diǎn)定義外部接口。l 配置屬性、網(wǎng)絡(luò)變量、顯式報(bào)文等這些外部接口是一

45、個(gè)節(jié)點(diǎn)對(duì)其它節(jié)點(diǎn)的“可見”部分。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l 智能節(jié)點(diǎn)開發(fā)過程l(3)為節(jié)點(diǎn)編寫應(yīng)用程序l 定義I/O對(duì)象l 定義定時(shí)器對(duì)象l 定義網(wǎng)絡(luò)變量和顯式報(bào)文l 定義任務(wù)l 完成用戶自定義的其他函數(shù)LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l智能節(jié)點(diǎn)開發(fā)過程l(4)節(jié)點(diǎn)程序下載及安裝配置節(jié)點(diǎn)程序的下載及安裝配置過程LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l 智能節(jié)點(diǎn)開發(fā)過程l(5)節(jié)點(diǎn)應(yīng)用功能的調(diào)試和測(cè)試l 應(yīng)用NodeBuilder開發(fā)工具,為每個(gè)應(yīng)用節(jié)點(diǎn)的任務(wù)執(zhí)行進(jìn)行調(diào)試,網(wǎng)絡(luò)變量瀏覽器或Neuron C調(diào)試器可以幫助測(cè)試和確認(rèn)節(jié)點(diǎn)是否在正常工作。l 例如:通過網(wǎng)絡(luò)變量瀏覽器能設(shè)置輸入網(wǎng)

46、絡(luò)變量的值和觀察輸出網(wǎng)絡(luò)變量的值。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l 智能節(jié)點(diǎn)開發(fā)過程l(6)將單個(gè)節(jié)點(diǎn)集成到網(wǎng)絡(luò)中并測(cè)試l 把節(jié)點(diǎn)安裝到現(xiàn)場(chǎng)的合適位置,通過網(wǎng)絡(luò)通信介質(zhì)或網(wǎng)絡(luò)連接設(shè)備將其進(jìn)行物理連接。l 完成節(jié)點(diǎn)的邏輯安裝,建立與其它節(jié)點(diǎn)的邏輯連接。l 監(jiān)視和測(cè)試節(jié)點(diǎn)之間的通信。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l 監(jiān)控網(wǎng)絡(luò)的組成l PC監(jiān)控機(jī)l 實(shí)現(xiàn)網(wǎng)絡(luò)管理方面的各種功能,監(jiān)視和管理所連子網(wǎng)及所有現(xiàn)場(chǎng)智能節(jié)點(diǎn)。 l 網(wǎng)絡(luò)適配器l 控制網(wǎng)絡(luò)與PC機(jī)以及具有數(shù)據(jù)通信功能的儀器、儀表之間相互連接的接口。l 現(xiàn)場(chǎng)智能節(jié)點(diǎn)l 是一些帶有Neuron芯片的、能進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù)(開關(guān)量、模擬量)采集和處理的、且具有可靠網(wǎng)絡(luò)通信功能的現(xiàn)場(chǎng)智能裝置。l 通信介質(zhì)l 用來連接各個(gè)節(jié)點(diǎn)的通信媒介。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l監(jiān)控網(wǎng)絡(luò)的組成監(jiān)控網(wǎng)絡(luò)系統(tǒng)的基本結(jié)構(gòu)LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l 上位監(jiān)控軟件的設(shè)計(jì)l l 為了方便用戶實(shí)時(shí)監(jiān)控現(xiàn)場(chǎng)數(shù)據(jù),需要在PC機(jī)上設(shè)計(jì)監(jiān)控軟件。l 可以用監(jiān)控組態(tài)軟件(例如組態(tài)王、InTouch等)或者可視化編程語言(VB、Delphi等)來設(shè)計(jì)上位監(jiān)控程序。LonWorks控制網(wǎng)絡(luò)的設(shè)計(jì)開發(fā)l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論