0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文了解bacnet協(xié)議的格式和轉(zhuǎn)成modbus協(xié)議的方法

vfbox ? 來(lái)源:vfbox ? 作者:vfbox ? 2023-10-25 09:51 ? 次閱讀

正文:

BACnet為BuildingAutomation andControlnetworks的簡(jiǎn)稱(chēng),臺(tái)灣通常翻譯為“建筑自動(dòng)化控制網(wǎng)路通訊協(xié)定”,而中國(guó)大陸則譯為“樓宇自動(dòng)化與控制網(wǎng)絡(luò)”。

1

前言

BACnet是用于智能建筑的通信協(xié)議,是國(guó)際標(biāo)準(zhǔn)化組織(ISO)、美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)及美國(guó)采暖、制冷與空調(diào)工程師學(xué)會(huì)(ASHRAE)定義的通信協(xié)議。BACnet針對(duì)智能建筑及控制系統(tǒng)的應(yīng)用所設(shè)計(jì)的通信,可用在暖通空調(diào)系統(tǒng)(HVAC,包括暖氣、通風(fēng)、空氣調(diào)節(jié)),也可以用在照明控制、門(mén)禁系統(tǒng)、火警偵測(cè)系統(tǒng)及其相關(guān)的設(shè)備。優(yōu)點(diǎn)在于能降低維護(hù)系統(tǒng)所需成本并且安裝比一般工業(yè)通信協(xié)議更為簡(jiǎn)易,而且提供有五種業(yè)界常用的標(biāo)準(zhǔn)協(xié)議,此可防止設(shè)備供應(yīng)商及系統(tǒng)業(yè)者的壟斷,也因此未來(lái)系統(tǒng)擴(kuò)展性與兼容性大為增加。

2

協(xié)議簡(jiǎn)介

BACnet通信協(xié)議中定義了幾種不同的數(shù)據(jù)鏈接層/物理層,包括:

·
ARCNET。

·
以太網(wǎng)

·
BACnet/IP。

·
RS-232上的點(diǎn)對(duì)點(diǎn)通信。

·
RS-485上的主站-從站/令牌傳遞(Master-Slave/Token-Passing,簡(jiǎn)稱(chēng)MS/TP)通信。

·
LonTalk。

BACnet通信協(xié)議中定義了許多服務(wù)(service),可供各設(shè)備之間的通信,服務(wù)可以分為五類(lèi):有關(guān)設(shè)備對(duì)象管理的服務(wù)包括Who-Is、I-Am、Who-Has及I-Have等服務(wù),有關(guān)對(duì)象訪問(wèn)的服務(wù)包括讀取屬性、寫(xiě)入屬性等服務(wù),有關(guān)報(bào)警與事件的服務(wù)包括確認(rèn)報(bào)警、屬性改變(change of state)報(bào)告等,此外也有有關(guān)文件讀寫(xiě)及虛擬終端的服務(wù)。

BACnet通信協(xié)議也定義了許多種類(lèi)的對(duì)象。在每個(gè)對(duì)象中都有許多屬性,可以透過(guò)服務(wù)來(lái)訪問(wèn)對(duì)象中的屬性。BACnet通信中的設(shè)備就是由許多對(duì)象組成,其中包括一個(gè)設(shè)備對(duì)象,是每個(gè)設(shè)備都必需的,其中記錄設(shè)備相關(guān)的數(shù)據(jù),其他對(duì)象包括模擬輸入、模擬輸出、模擬值、數(shù)字輸入、數(shù)字輸出及數(shù)字值等有關(guān)數(shù)據(jù)的對(duì)象。

為了提供不同廠商BACnet設(shè)備之間的互操作性,BACnet協(xié)議也定義了BACnet互操作基本塊(BACnet Interoperability Building Block,簡(jiǎn)稱(chēng)BIBB),BACnet互操作基本塊是由一個(gè)或多個(gè)服務(wù)所組成,說(shuō)明在特定需求下,服務(wù)器(server)端及客戶(hù)(client)端需要支持的服務(wù)及程序。BACnet互操作基本塊可分為以下的五種:

·
數(shù)據(jù)分享

·
警告及事件管理

·
調(diào)度

·
趨勢(shì)

·
設(shè)備及網(wǎng)上管理

每個(gè)BACnet設(shè)備都會(huì)有一份名為“協(xié)議實(shí)現(xiàn)一致性聲明”(Protocol
Implementation Conformance Statement,PICS)的文件,其中需說(shuō)明設(shè)備所支持的BACnet互操作基本塊、對(duì)象種類(lèi)及定義、使用文字集及通信時(shí)需要的數(shù)據(jù)。

2.1

服務(wù)原語(yǔ)

與ISO服務(wù)中的約定用法一致,BACnet中兩個(gè)對(duì)等應(yīng)用進(jìn)程間的信息交換,被表示成抽象服務(wù)原語(yǔ)的交換。這些服務(wù)原語(yǔ)用來(lái)傳遞一些特定的服務(wù)參數(shù),本協(xié)議定義了四種服務(wù)原語(yǔ):請(qǐng)求(request)、指示(indication)、響應(yīng)(response)和證實(shí)(confirm)。

同樣,本協(xié)議定義了下列幾種服務(wù):

有證實(shí)(confirmed)服務(wù):用CONF_SERV標(biāo)記,表示客戶(hù)方通過(guò)具體的服務(wù)請(qǐng)求實(shí)例向服務(wù)器方請(qǐng)求服務(wù),服務(wù)器方通過(guò)響應(yīng)請(qǐng)求來(lái)為客戶(hù)方提供服務(wù)。存在客戶(hù)/服務(wù)器模型、區(qū)分“請(qǐng)求方BACnet用戶(hù)”和“響應(yīng)方BACnet用戶(hù)”等。

無(wú)證實(shí)(unconfirmed)服務(wù):用UNCONF_SERV標(biāo)記,只有“發(fā)送方BACnet用戶(hù)”和“接收方BACnet用戶(hù)”的概念,不存在客戶(hù)/服務(wù)器模型,只有發(fā)送方和接收方,而不是請(qǐng)求-響應(yīng)對(duì)。

分段確認(rèn)(segment
acknowledge)服務(wù):用SEGMENT_ACK標(biāo)記,為了實(shí)現(xiàn)長(zhǎng)報(bào)文(長(zhǎng)度大于通信網(wǎng)絡(luò)、收/發(fā)設(shè)備所支持的長(zhǎng)度)的傳輸,BACnet采取了應(yīng)用層報(bào)文分段的機(jī)制來(lái)對(duì)報(bào)文進(jìn)行分段。在BACnet中只有有證實(shí)請(qǐng)求(Confirmed-Request)和復(fù)雜確認(rèn)(Complex-ACK)報(bào)文可能需要分段,因此分段還是BACnet的一個(gè)可選特性。

另外,還有差錯(cuò)(ERROR)服務(wù),拒絕(REJECT)服務(wù),中止(ABORT)服務(wù)。

因此,根據(jù)不同的服務(wù)類(lèi)型和原語(yǔ)類(lèi)型,據(jù)有下表所示的服務(wù)原語(yǔ)。這些原語(yǔ)中的信息,由各種協(xié)議數(shù)據(jù)單元(PDU:Protocol Data Unit)傳遞。

2.2

PDU類(lèi)型

BACnet協(xié)議定義了七種不同的PDU,用以傳遞原語(yǔ)信息。

2.2.1 BACnet有證實(shí)請(qǐng)求PDU

用于傳送包含在有證實(shí)服務(wù)請(qǐng)求原語(yǔ)中的信息。

2.2.2 BACnet無(wú)證實(shí)請(qǐng)求PDU

用于傳送包含在無(wú)證實(shí)服務(wù)請(qǐng)求原語(yǔ)中的信息。

2.2.3 BACnet 簡(jiǎn)單確認(rèn)PDU

用于傳送包含在一個(gè)服務(wù)響應(yīng)原語(yǔ)中的信息,這個(gè)信息是服務(wù)請(qǐng)求已經(jīng)成功執(zhí)行。

2.2.4 BACnet復(fù)雜確認(rèn)PDU

用于傳送包含在一個(gè)服務(wù)響應(yīng)原語(yǔ)中的信息,這個(gè)信息除了包含服務(wù)請(qǐng)求已經(jīng)成功執(zhí)行之外,還有其它一些信息。

2.2.5 BACnet 分段確認(rèn)PDU

用于對(duì)收到一個(gè)或者多個(gè)PDU進(jìn)行確認(rèn),這些PDU包含一個(gè)分段報(bào)文的分段。BACnet 分段確認(rèn)PDU也用于對(duì)分段報(bào)文的下一個(gè)或者幾個(gè)分段的請(qǐng)求。

2.2.6 BACnet差錯(cuò)PDU

用于傳送包含在一個(gè)服務(wù)響應(yīng)原語(yǔ)中的信息,這個(gè)信息指出前一個(gè)服務(wù)請(qǐng)求完全失敗的原因。

2.2.7 BACnet拒絕PDU

用于對(duì)一個(gè)有證實(shí)請(qǐng)求PDU的拒絕接收,其原因是這個(gè)被拒絕的PDU具有句法結(jié)構(gòu)錯(cuò)誤或者其它的協(xié)議錯(cuò)誤,使得不能對(duì)這個(gè)PDU進(jìn)行解讀,或者不能夠提供請(qǐng)求的服務(wù)。只能對(duì)有證實(shí)請(qǐng)求PDU進(jìn)行拒絕。

2.2.8 BACnet 中止PDU

用于結(jié)束兩個(gè)對(duì)等實(shí)體之間的事務(wù)處理。

2.3

服務(wù)選擇

BACnet定義了以下幾類(lèi)可選擇的服務(wù),用于兩個(gè)對(duì)等實(shí)體之間的交互。

2.3.1 文件訪問(wèn)服務(wù)

定義一組訪問(wèn)和操作在BACnet設(shè)備中的文件的服務(wù)。文件只是一個(gè)抽象的概念,表示一個(gè)任意長(zhǎng)度和意義的字節(jié)集合的網(wǎng)絡(luò)可見(jiàn)形式。

基本讀文件(AtomicReadFile)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用基本讀文件服務(wù)對(duì)某個(gè)文件進(jìn)行一個(gè)“打開(kāi)-讀出-關(guān)閉”的操作。

基本寫(xiě)文件(AtomicWriteFile)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用基本寫(xiě)文件服務(wù)對(duì)某個(gè)字節(jié)流進(jìn)行一個(gè)“打開(kāi)-寫(xiě)入-關(guān)閉”的操作,將它寫(xiě)入到文件的某個(gè)位置。

2.3.2 對(duì)象訪問(wèn)服務(wù)

定義九個(gè)應(yīng)用服務(wù),這些服務(wù)共同提供一組訪問(wèn)和操作BACnet對(duì)象的方法。

添加列表元素(AddListElement)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用添加列表元素服務(wù)向一個(gè)具有列表的對(duì)象的屬性添加一個(gè)或者多個(gè)列表元素。

刪除列表元素(RemoveListElement)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用刪除列表元素服務(wù)從一個(gè)具有列表的對(duì)象的屬性中刪除一個(gè)或者多個(gè)列表元素。

創(chuàng)建對(duì)象(CreateObject)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用創(chuàng)建對(duì)象服務(wù)創(chuàng)建一個(gè)對(duì)象的新實(shí)例。

刪除對(duì)象(DeleteObject)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用刪除對(duì)象服務(wù)刪除一個(gè)已有的對(duì)象。

讀屬性(ReadProperty)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用讀屬性服務(wù)請(qǐng)求一個(gè)BACnet對(duì)象的一個(gè)屬性值。

條件讀屬性(ReadPropertyConditional)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用條件讀屬性服務(wù)請(qǐng)求那些滿(mǎn)足一個(gè)選擇準(zhǔn)則列表的所有BACnet對(duì)象的對(duì)象標(biāo)識(shí)符和0個(gè)或者多個(gè)特定屬性的值。

讀多個(gè)屬性(ReadPropertyMultiple)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用讀多個(gè)屬性服務(wù)請(qǐng)求一個(gè)或者多個(gè)BACnet對(duì)象的一個(gè)或者多個(gè)特定屬性的值。

寫(xiě)屬性(WriteProperty)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用寫(xiě)屬性服務(wù)修改一個(gè)BACnet對(duì)象的一個(gè)屬性值。

寫(xiě)多個(gè)屬性(WritePropertyMultiple)服務(wù):一個(gè)客戶(hù)端的BACnet用戶(hù)使用寫(xiě)多個(gè)屬性服務(wù)修改一個(gè)或者多個(gè)BACnet對(duì)象的一個(gè)或者多個(gè)特定屬性的值。

2.3.3 遠(yuǎn)程設(shè)備管理服務(wù)

定義一組遠(yuǎn)程設(shè)備管理服務(wù)。

設(shè)備通信控制(DeviceCommunicationControl)服務(wù)。

有證實(shí)專(zhuān)有傳輸(ConfirmedPrivateTransfer)服務(wù)。

無(wú)證實(shí)專(zhuān)有傳輸(UnconfirmedPrivateTransfer)服務(wù)。

重新初始化設(shè)備(ReinitializeDevice)服務(wù)。

有證實(shí)文本報(bào)文(ConfirmedTextMessage)服務(wù)。

無(wú)證實(shí)文本報(bào)文(UnconfirmedTextMessage)服務(wù)。

時(shí)間同步(TimeSynchronization)服務(wù)。

2.3.4 Who-Has和I-Have服務(wù)

一個(gè)發(fā)送的BACnet用戶(hù)使用Who-Has服務(wù)確定一些其它BACnet設(shè)備的設(shè)備對(duì)象標(biāo)識(shí)符和網(wǎng)絡(luò)地址,設(shè)備使用I-Hava服務(wù)響應(yīng)Who-Has服務(wù)請(qǐng)求,或者通告自己有一個(gè)具有給定的對(duì)象名稱(chēng)屬性或者對(duì)象標(biāo)識(shí)符屬性的對(duì)象。

2.3.5 Who-Is和I-Am服務(wù)

一個(gè)發(fā)送方BACnet用戶(hù)使用Who-Is服務(wù)確定在同一個(gè)互聯(lián)網(wǎng)上的其它BACnet設(shè)備的設(shè)備對(duì)象標(biāo)識(shí)符和網(wǎng)絡(luò)地址,Who-Is服務(wù)是一個(gè)無(wú)證實(shí)服務(wù)。I-Am服務(wù)也是一個(gè)無(wú)證實(shí)的服務(wù),這個(gè)服務(wù)用于響應(yīng)Who-Is服務(wù)請(qǐng)求。

2.3.6 虛擬終端服務(wù)

略。

2.4

對(duì)象

對(duì)象是對(duì)現(xiàn)實(shí)設(shè)備中某一特征的抽象。

2.4.1 模擬輸入對(duì)象類(lèi)型(Analog Input Object Type)

模擬輸入對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,其屬性表示一個(gè)模擬輸入的外部可見(jiàn)一致性代碼。

2.4.2 模擬輸出對(duì)象類(lèi)型(Analog Output Object Type)

模擬輸出對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,其屬性表示一個(gè)模擬輸出的外部可見(jiàn)一致性代碼。

2.4.3 模擬值對(duì)象類(lèi)型(Analog Value Object Type)

模擬值對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,其屬性表示一個(gè)模擬值的外部可見(jiàn)一致性代碼。BACnet設(shè)備的一個(gè)“模擬值”是駐留在這個(gè)設(shè)備的內(nèi)存中的一個(gè)控制系統(tǒng)參數(shù)。

2.4.4 二進(jìn)制輸入對(duì)象類(lèi)型(Binary Input Object Type)

二進(jìn)制輸入對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,它的屬性表示二進(jìn)制輸入的外部可見(jiàn)一致性代碼?!岸M(jìn)制輸入”是物理設(shè)備或硬件的輸入,該輸入只存在兩種狀態(tài),即“活動(dòng)(ACTIVE)”狀態(tài)和“非活動(dòng)(INACTIVE)”狀態(tài)。二進(jìn)制輸入的主要用途是指明機(jī)械設(shè)備狀態(tài),如:風(fēng)機(jī)或水泵是否運(yùn)行。活動(dòng)表示設(shè)備開(kāi)或運(yùn)轉(zhuǎn),非活動(dòng)表示設(shè)備關(guān)或未運(yùn)行。

2.4.5 二進(jìn)制輸出對(duì)象類(lèi)型(Binary Output Object Type)

二進(jìn)制輸出對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,它的屬性表示二進(jìn)制輸出的外部可見(jiàn)一致性代碼?!岸M(jìn)制輸出”是物理設(shè)備或硬件的輸出,該輸出只存在兩種狀態(tài),即“活動(dòng)”狀態(tài)和“非活動(dòng)”狀態(tài)。二進(jìn)制輸出的主要用途是切換機(jī)械設(shè)備狀態(tài),如:風(fēng)機(jī)或水泵的開(kāi)和關(guān)?;顒?dòng)表示設(shè)備開(kāi)或運(yùn)轉(zhuǎn),非活動(dòng)表示設(shè)備關(guān)或未運(yùn)行。

2.4.6 二進(jìn)制值對(duì)象類(lèi)型(Binary Value Object Type)

二進(jìn)制值對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,它的屬性表示二進(jìn)制值的外部可見(jiàn)一致性代碼?!岸M(jìn)制值”是駐留在BACnet設(shè)備內(nèi)存中的控制系統(tǒng)參數(shù)。這個(gè)參數(shù)只存在兩種狀態(tài)即:“活動(dòng)”狀態(tài)和“非活動(dòng)”狀態(tài)。

2.4.7 日期表對(duì)象類(lèi)型(Calendar Object Type)

日期表對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,用于描述日期列表,例如,“節(jié)假日”、“特別日”或簡(jiǎn)單的日期列表。

2.4.8 命令對(duì)象類(lèi)型(Command Object Type)

命令對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,其屬性反映了多操作命令過(guò)程的外部可見(jiàn)一致性代碼。命令對(duì)象的作用是,根據(jù)寫(xiě)入到命令對(duì)象自己的當(dāng)前值屬性中的“操作代碼(action code)”,向一組對(duì)象屬性寫(xiě)入一組值。無(wú)論何時(shí),只要命令對(duì)象的當(dāng)前值屬性被寫(xiě)入,就會(huì)觸發(fā)命令對(duì)象采取一組改變其它對(duì)象的屬性值的操作。

2.4.9 設(shè)備對(duì)象類(lèi)型(Device Object Type)

設(shè)備對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,其屬性表示BACnet設(shè)備的外部可見(jiàn)一致性代碼。每個(gè)BACnet設(shè)備有且只有一個(gè)設(shè)備對(duì)象。每個(gè)設(shè)備對(duì)象由它的對(duì)象標(biāo)識(shí)符屬性確定,該屬性在BACnet設(shè)備中乃至整個(gè)BACnet互聯(lián)網(wǎng)中都是唯一的。

2.4.10事件登記對(duì)象類(lèi)型(Event Enrollment Object

Type)

事件登記對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,表示BACnet系統(tǒng)內(nèi)管理事件的信息?!笆录笔侵笣M(mǎn)足預(yù)先規(guī)定條件的所有對(duì)象的任何屬性值的變化。事件登記對(duì)象主要用于定義一個(gè)事件和提供在事件發(fā)生與通告消息向一個(gè)或多個(gè)接收者進(jìn)行傳輸這兩者之間的聯(lián)系。

2.4.11文件對(duì)象類(lèi)型(File Object Type)

文件對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,用于定義可以通過(guò)文件服務(wù)(見(jiàn)第14節(jié))訪問(wèn)的數(shù)據(jù)文件的屬性。

2.4.12組對(duì)象類(lèi)型(Group Object Type)

組對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,其屬性表示一個(gè)其它對(duì)象的集合以及這些對(duì)象的一個(gè)或多個(gè)屬性。組對(duì)象提供一種快速的方式,可以一次確定組的成員,從而簡(jiǎn)化BACnet設(shè)備間的信息交換。一個(gè)組對(duì)象可以是任何對(duì)象類(lèi)型的組合。

1.4.13 環(huán)對(duì)象類(lèi)型(Loop Object
Type)

環(huán)對(duì)象類(lèi)型定義為一個(gè)標(biāo)準(zhǔn)對(duì)象,其屬性表示任何形式的反饋控制環(huán)路的外部可見(jiàn)一致性代碼。環(huán)對(duì)象通過(guò)提供三個(gè)獨(dú)立的無(wú)單位增益常數(shù),可以具有廣泛的適用性。每個(gè)增益常數(shù)由控制算法具休確定,如何使用不同的算法確定增益常數(shù)的方法,由生產(chǎn)商自行確定。

2.4.13多態(tài)輸入對(duì)象類(lèi)型(Multi-state Input Object

Type)

多態(tài)輸入對(duì)象類(lèi)型定義了一個(gè)標(biāo)準(zhǔn)對(duì)象,它的當(dāng)前值屬性表示對(duì)象駐留的BACnet設(shè)備內(nèi)算法處理的結(jié)果。

2.4.14多態(tài)輸出對(duì)象類(lèi)型(Multi-state Output Object

Type)

多態(tài)輸出對(duì)象類(lèi)型定義了一個(gè)標(biāo)準(zhǔn)對(duì)象,它的屬性表示這個(gè)對(duì)象駐留的BACnet設(shè)備內(nèi)的處理程序或一個(gè)或多個(gè)物理輸出的期望狀態(tài)。

2.4.15通告類(lèi)對(duì)象類(lèi)型(Notification Class Object

Type)

通告類(lèi)對(duì)象類(lèi)型定義了一個(gè)標(biāo)準(zhǔn)對(duì)象,表示在BACnet系統(tǒng)內(nèi)事件通告發(fā)布所需的信息。

2.4.16程序?qū)ο箢?lèi)型(Program Object Type)

程序?qū)ο箢?lèi)型定義了一個(gè)標(biāo)準(zhǔn)對(duì)象,它的屬性表示應(yīng)用程序的外部可視一致性代碼。在本協(xié)議中,應(yīng)用程序是指對(duì)一個(gè)在BACnet設(shè)備中的處理過(guò)程的抽象表示,這個(gè)處理過(guò)程執(zhí)行一個(gè)指令集,對(duì)某個(gè)數(shù)據(jù)結(jié)構(gòu)集合進(jìn)行操作。

2.4.17時(shí)間表對(duì)象類(lèi)型(Schedule Object Type)

時(shí)間表對(duì)象類(lèi)型定義了一個(gè)標(biāo)準(zhǔn)對(duì)象,用于描述一個(gè)周期性的時(shí)間表。這個(gè)時(shí)間表中確定了某事件在一個(gè)日期范圍內(nèi)可能重復(fù)發(fā)生,同時(shí)表示有些日期是事件不發(fā)生的日期。

2.5

屬性

上述各對(duì)象除了有公有的屬性外,還有自己私有的屬性。

常用的公有屬性有:

對(duì)象名稱(chēng)(Object_Name)

對(duì)象類(lèi)型 (Object_Type)

當(dāng)前值 (Present_Value)

描述(Description)

通常對(duì)象名稱(chēng)由對(duì)象類(lèi)型和對(duì)象實(shí)例一起標(biāo)識(shí)。需注意,當(dāng)前值屬性并不一定為實(shí)數(shù),可以為BOOL型、INT型等。

3

TCP/IP組網(wǎng)布署

每個(gè)設(shè)備有一個(gè)唯一的設(shè)備地址,在TCP/IP網(wǎng)絡(luò)中,就是IP地址。在設(shè)備不是一個(gè)BACnet路由器的情況下,設(shè)備不知道或不需要知道他們BACnet網(wǎng)絡(luò)的網(wǎng)絡(luò)號(hào)。一個(gè)或多個(gè)子網(wǎng)可以有相同的網(wǎng)絡(luò)號(hào)。

3.1

BBMD結(jié)構(gòu)

為了確保廣播消息不會(huì)在所有子網(wǎng)中路由,引入了BACnet廣播管理設(shè)備(BACnet Broadcast Management Device,BBMD)。很多功能,比如動(dòng)態(tài)name綁定、值改變通知都會(huì)廣播,通過(guò)BBMD把這些消息限制在各自的網(wǎng)絡(luò)中。

3.1.1 樹(shù)形結(jié)構(gòu)

image.png

優(yōu)點(diǎn):

結(jié)構(gòu)簡(jiǎn)單,只有一個(gè)parent和幾個(gè)child

易增加新設(shè)備

消息不會(huì)被復(fù)制成幾份

缺點(diǎn):

一條鏈路失敗,整個(gè)支路不通

動(dòng)態(tài)TOPO復(fù)雜

3.1.2 環(huán)形結(jié)構(gòu)

image.png

缺點(diǎn):一條鏈路壞了,整個(gè)環(huán)就癱瘓

3.1.3 B/IP網(wǎng)絡(luò)結(jié)構(gòu)

image.png

完全連接的星形結(jié)構(gòu),注意只是邏輯結(jié)構(gòu)而不是物理結(jié)構(gòu)。

3.2

image.png

跨網(wǎng)段之間的定點(diǎn)通信或廣播

如果知道各自的IP和端口,并且具有BBMD設(shè)備,則相互之間就能正常通信。注意BBMD和相關(guān)的BVLL協(xié)議只是用來(lái)廣播消息。

3.3

image.png

BBMD本地廣播的接收

BBMD是一個(gè)被動(dòng)設(shè)備,幾乎沒(méi)有消息主動(dòng)傳遞給它,通常它僅僅用來(lái)監(jiān)聽(tīng)本地局域網(wǎng)的廣播消息。

3.4

image.png

廣播消息的轉(zhuǎn)發(fā)

BBMD會(huì)根據(jù)自身的BBMD表和掩碼,對(duì)接收到的消息進(jìn)行轉(zhuǎn)發(fā)。通過(guò)創(chuàng)建Forwarded-NPDU消息,發(fā)送到目的地址。

4

使用Yabe軟件讀取bacnet設(shè)備信息

BACnet設(shè)備通過(guò)網(wǎng)線連接到電腦。在電腦上打開(kāi)yabe軟件。關(guān)閉電腦上的防火墻和退出殺毒軟件。

選擇菜單“Functions”下的“添加設(shè)備”。
image.png

BACnet設(shè)備通過(guò)網(wǎng)線連接電腦,在“BACnet/IP over Udp”字段中進(jìn)行相應(yīng)的設(shè)置,輸入電腦的網(wǎng)卡IP地址(bacent連接的網(wǎng)卡)后點(diǎn)擊“Add”按鈕。該程序?qū)⑻砑右粋€(gè)Udp連接到“Devices”目錄,如果網(wǎng)絡(luò)中有任何BACnet/IP設(shè)備,它們將顯示在目錄中。
image.png
image.png

點(diǎn)擊“Devices”目錄中的設(shè)備。程序?qū)脑O(shè)備中獲取所有“寄存器”或“節(jié)點(diǎn)”,并將它們顯示在“地址空間”樹(shù)中。用鼠標(biāo)按住某個(gè)地址,可以拖到右面的窗口中顯示。47808是端口。1712到1716是Bacnet設(shè)備ID。Analog_Input是簡(jiǎn)寫(xiě)AI,地址是5。這些參數(shù)需要設(shè)置到網(wǎng)關(guān)中。
image.png

5

Vfbox網(wǎng)關(guān)配置bacnet的流程

網(wǎng)關(guān)上電,通過(guò)網(wǎng)線連接到電腦。打開(kāi)VS軟件,新建工程,然后新建設(shè)備,設(shè)備的屬性如下。網(wǎng)關(guān)要采集節(jié)點(diǎn)是“1714”的設(shè)備數(shù)據(jù),則配置如下:
image.png

添加一個(gè)采集的標(biāo)簽?!?”是寄存器的地址。主要修改“5”位置的地址就可以,其他不用修改。
image.png

地址說(shuō)明:

Analog Input---模擬輸入對(duì)象,AnalogOutput--模擬輸出對(duì)象, AnalogValue--模擬值對(duì)象

Binary Input--二進(jìn)制輸入對(duì)象,Binary Output 二進(jìn)制輸出對(duì)象,Binary Value--二進(jìn)制值對(duì)象

Multi state 是多態(tài)對(duì)象。

input是只讀,outpu讀寫(xiě),value讀寫(xiě)

完成配置后,點(diǎn)擊“下載”,點(diǎn)擊“查看數(shù)據(jù)”可以看到采集到的數(shù)據(jù)
image.png

啟動(dòng)modbus slave功能
image.png

添加要轉(zhuǎn)發(fā)的數(shù)據(jù)
image.png

下載到網(wǎng)關(guān)中,就可以通過(guò)modbus poll軟件讀取了網(wǎng)關(guān)中的數(shù)據(jù)了。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    840

    瀏覽量

    40215
  • MODBUS
    +關(guān)注

    關(guān)注

    28

    文章

    1758

    瀏覽量

    76762
  • 網(wǎng)關(guān)
    +關(guān)注

    關(guān)注

    9

    文章

    4257

    瀏覽量

    50855
  • BACnet
    +關(guān)注

    關(guān)注

    0

    文章

    91

    瀏覽量

    14971
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    modbus協(xié)議筆記

    1 Modbus協(xié)議概要? Modbus通信協(xié)議由Modicon公司(現(xiàn)在的施耐德電氣Schneider Electric)于1979年為可編程邏輯控制(即PLC)通信而發(fā)表。目前,Modbu
    發(fā)表于 07-02 07:17

    Modbus協(xié)議是什么?Modbus協(xié)議主要有哪些應(yīng)用?

    請(qǐng)問(wèn)Modbus協(xié)議是什么?Modbus協(xié)議主要有哪些應(yīng)用?
    發(fā)表于 07-15 12:04

    Modbus協(xié)議是什么

    Modbus協(xié)議是什么?MODBUS功能碼有哪些?MODBUS協(xié)議有哪幾種傳輸模式?
    發(fā)表于 09-29 07:06

    了解MODBUS通信協(xié)議

    目錄前言MODBUS協(xié)議簡(jiǎn)介MODBUS通信格式信息幀格式前言近期需要制作個(gè)MODBUS/RT
    發(fā)表于 01-14 06:19

    Modbus協(xié)議的相關(guān)資料推薦

    認(rèn)識(shí)Modbus協(xié)議
    發(fā)表于 02-11 06:02

    讀懂Modbus協(xié)議

    1、Modbus是什么?  Modbus協(xié)議,從字面理解它包括Mod和Bus兩部分,首先它是種bus,即總線協(xié)議,和I2C、SPI類(lèi)似,總線就意味著有主機(jī),有從機(jī),這些設(shè)備在同
    發(fā)表于 10-28 14:23

    Modbus協(xié)議的理解

    命令,正轉(zhuǎn),反轉(zhuǎn),停止,修改那個(gè)參數(shù)等等。MODBUS協(xié)議對(duì)數(shù)據(jù)區(qū)的具體格式與內(nèi)容沒(méi)有作統(tǒng)的規(guī)定,而留給設(shè)備生產(chǎn)商去制定。凡是采用MODBUS協(xié)議作為設(shè)備通信
    發(fā)表于 05-05 16:47

    Modbus協(xié)議應(yīng)用

    詳細(xì)說(shuō)明了modbus協(xié)議中傳輸過(guò)程的數(shù)據(jù)格式,并舉例介紹以便讀者應(yīng)用
    發(fā)表于 09-06 17:54 ?7次下載

    modbus協(xié)議功能碼及格式

    modbus協(xié)議功能碼及格式
    發(fā)表于 10-28 15:56 ?43次下載

    Modbus協(xié)議最基礎(chǔ)概念詳細(xì)介紹

    認(rèn)識(shí)Modbus協(xié)議
    發(fā)表于 12-07 17:06 ?18次下載
    <b class='flag-5'>Modbus協(xié)議</b>最基礎(chǔ)概念詳細(xì)介紹

    modbus協(xié)議與485協(xié)議區(qū)別

    進(jìn)行詳細(xì)探討。 、協(xié)議層面 Modbus協(xié)議Modbus協(xié)議種開(kāi)放的通信協(xié)議,它定義了
    的頭像 發(fā)表于 01-11 11:06 ?2w次閱讀

    Modbus協(xié)議網(wǎng)關(guān)是什么?Modbus協(xié)議網(wǎng)關(guān)的功能

    Modbus協(xié)議網(wǎng)關(guān)是種專(zhuān)門(mén)用于工業(yè)自動(dòng)化環(huán)境中的網(wǎng)絡(luò)設(shè)備,其主要功能是實(shí)現(xiàn)不同通信協(xié)議之間的轉(zhuǎn)換,尤其是將基于Modbus協(xié)議的設(shè)備或系統(tǒng)與使用其他
    的頭像 發(fā)表于 04-11 15:51 ?682次閱讀

    BACnet協(xié)議轉(zhuǎn)Modbus網(wǎng)關(guān):BACnet設(shè)備數(shù)據(jù)鍵對(duì)接KEPServerEX系統(tǒng)

    不同廠商生產(chǎn)的樓宇設(shè)備可能采用不同的通信協(xié)議,如BACnetModbus,這極大地限制了設(shè)備間的數(shù)據(jù)共享和互操作性。為了解決這問(wèn)題,鋇錸
    的頭像 發(fā)表于 08-06 17:29 ?482次閱讀
    <b class='flag-5'>BACnet</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)<b class='flag-5'>Modbus</b>網(wǎng)關(guān):<b class='flag-5'>BACnet</b>設(shè)備數(shù)據(jù)<b class='flag-5'>一</b>鍵對(duì)接KEPServerEX系統(tǒng)

    BACnet轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)實(shí)現(xiàn)設(shè)備無(wú)縫對(duì)接GE Digital iFIX

    與整合,實(shí)現(xiàn)協(xié)議間的無(wú)縫轉(zhuǎn)換,鋇錸技術(shù)隆重推出BACnet轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)BL120BN,為用戶(hù)提供了個(gè)既高效又可靠的解決方案。
    的頭像 發(fā)表于 08-06 17:32 ?330次閱讀
    <b class='flag-5'>BACnet</b>轉(zhuǎn)<b class='flag-5'>Modbus協(xié)議</b>網(wǎng)關(guān)實(shí)現(xiàn)設(shè)備無(wú)縫對(duì)接GE Digital iFIX

    使用Modbus、樓宇自控、電力協(xié)議轉(zhuǎn)Modbus協(xié)議網(wǎng)關(guān)實(shí)現(xiàn)生產(chǎn)設(shè)備的遠(yuǎn)程監(jiān)控和管理

    Modbus網(wǎng)關(guān)BL120ML的下行采集協(xié)議支持Modbus RTU、DLT645、BACnet MS/TP、Lonworks協(xié)議、IEC1
    的頭像 發(fā)表于 08-08 17:29 ?318次閱讀
    使用<b class='flag-5'>Modbus</b>、樓宇自控、電力<b class='flag-5'>協(xié)議</b>轉(zhuǎn)<b class='flag-5'>Modbus協(xié)議</b>網(wǎng)關(guān)實(shí)現(xiàn)生產(chǎn)設(shè)備的遠(yuǎn)程監(jiān)控和管理