Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Podporované typy a verzie zariadení
Konfigurácia komunikačnej linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Scheduler v zariadeniach Siemens Desigo
Scheduler v zariadeniach Delta Controls
Informácie o eventoch
Informácie o alarmoch
Poznámka k cachovaniu adries
Poznámka k zariadeniam Delta Controls
Poznámka k zariadeniam E-DDC3.1
Poznámka k zariadeniam Klimasoft MBG-MSTP
Poznámka k zariadeniam Siemens Desigo
Poznámka k iLON 10 Ethernet adaptéru
Poznámka k implementácii BACnet MS/TP
Poznámka k podpore BBMD (BACnet Broadcast Management Devices)
Tell príkazy
Literatúra
Zmeny a úpravy
Revízie dokumentu

Anchor
typy_verzie
typy_verzie
Podporované typy a verzie zariadení

...

  • komunikácia v sieťach Ethernet (BACnet/IP) a LONTalk
  • obmedzená podpora MS/TP siete (master-slave token-passing na RS-485): bez automatického vyhľadávania Master staníc
  • podpora BACnet routra (prepojenie medzi BACnet/IP a LONTalk sieťami)
  • čítanie a zápis jednoduchých hodnôt (binárne, celočíselné, reálne, reťazce, dátum, čas atď.) aj ľubovoľných ASN sekvencií
  • podpora pollingového spôsobu čítania dát (správy ReadProperty-Request a ReadPropertyMultiple-Request)
  • podpora zmenového spôsobu čítania dát (voliteľná registrácia pomocou správ SubscribeCOV-Request, resp. SubscribeCOVProperty-Request a následné spracovanie ConfirmedCOVNotification-Request a UnconfirmedCOVNotification-Request)
  • zápis hodnôt správou WriteProperty-Request
  • dynamická zmena adresy meraného bodu pomocou TELL príkazu SETPTADDR (na načítanie hodnôt objektov typu schedule)
  • práca s objektmi typu schedule (časové plány)

...

Parametre protokolu linky

Kľúčové slovoPlný názovPopisJednotkaNáhradná hodnota
Anchor
dbgi
dbgi
DBGI
Debug InputRozšírené debug informácie o vstupných dátach. Význam jednotlivých bitov:
  • 1. bit - debugovanie parsovania ASN správy
  • 2. bit - debugovanie názvov meraných bodov, ktorým prišla nová hodnota
  • ostatné bity - zatiaľ nepoužité
-0
Anchor
dtq
dtq
DTQ
Debug Timeout QueueRozšírené debug informácie o správach v časovej fronte.-False
Anchor
di
di
DI
Device InstanceNenulová hodnota spôsobí, že KOM proces odpovedá na požiadavku Who-Is správou I-Am, v ktorej uvádza zadané Device Instance. Nulová hodnota spôsobí, že Who-Is požiadavky budú ignorované.-0
Anchor
rb
rb
RB
Receive Buffer(iba pre TCP/IP-UDP linku) Veľkosť prijímacieho buffra nastavovaná na UDP sockete. Hodnota 0 znamená, že sa veľkosť buffra nemení. Štandardná veľkosť na Windows XP je 8192 bajtov, pri väčšom počte staníc, resp. intenzívnejšej komunikácii je vhodné buffer zväčšiť.bytes0
Anchor
ro
ro
RO
Receive OnlyAk je hodnota True, žiadnej stanici na linke sa neposielajú žiadne správy. Parameter je použiteľný napr. pri odposluchu komunikácie LonTalk: Na linke sa nakonfiguruje adresa zhodná s adresou existujúceho LonTalk zariadenia a nakonfiguruje sa stanica s adresou zariadenia, ktorého komunikáciu potrebujeme odpočúvať. V logovacom súbore linky sa bude nachádzať zaznamenaná komunikácia medzi zariadeniami. RO=True zabezpečí, že KOM proces neovplyvní komunikáciu vlastnými príkazmi a odpoveďami.-False
Anchor
sc
sc
SC
Send Count(iba pre LonWorks linku) počet opakovania jedného paketu - prednastavená hodnota je 1, ale v určitých situáciách pri použití iLON(tm)10 Ethernet Adapter-a prvá správa akoby neprešla a komunikácia začala korektne fungovať, keď sa nastavil SC=2.
Poznámka: neskôr bolo zistené, že na vine bolo neukončenie Free topology zbernice terminátorom, ale parameter bol už implementovaný..
-1
Anchor
sd
sd
SD
Send Delay(iba pre LonWorks linku) doplnok parametra SC, ktorý udáva oneskorenie (v ms) po každom poslaní paketu.ms0
Anchor
vi
vi
VI
Vendor IDParameter Vendor ID správy I-Am (viď parameter Device Instance).-1


Parametre protokolu linky špecifické pre BACnet MS/TP

Kľúčové slovoPlný názovPopisJednotkaNáhradná hodnota
Anchor
mstp_br
mstp_br
BR
MS/TP baud rateRýchlosť linky. Tento parameter slúži na prepočet niektorých timeoutov, ktoré sú v parametroch protokolu linky zadávané kompatibilne s normou v bitových časoch, tj. v násobkoch doby, ktorú si pri konkrétnej nastavenej prenosovej rýchlosti vyžiada prenos 1 bitu.bits/sec9600
Anchor
mstp_mif
mstp_mif
MIF
MS/TP Nmax_info_framesMaximálne množstvo informačných rámcov, ktoré môže KOM proces vyslať pred tým, ako musí odovzdať token. Norma nešpecifikuje konkrétnu hodnotu, iba hovorí, že pokiaľ táto hodnota v zariadení nie je konfigurovateľná, musí byť 1. Čím väčšia hodnota je nastavená, tým menšie množstvo času ostane pre ostatných Mastrov, ale na druhej strane sa zmenšuje množstvo rámcov bez informačného obsahu.-5
Anchor
mstp_mo
mstp_mo
MO
MS/TP Nmin_octetsMinimálne množstvo dát (bajtov) prijatých na linke, ktoré musí prijať KOM pred vyhlásením linky za "aktívnu".-4
Anchor
mstp_addr
mstp_addr
MY
MS/TP my addressAdresa KOM procesu na linke RS-485. Platná hodnota je z intervalu 0 - 127. Adresa sa musí líšiť od adries ostatných zariadení na linke (ich adresy budú uvedené v konfiguráciách staníc).-1
Anchor
mstp_tfa
mstp_tfa
TFA
Tframe_abortMinimálny čas (zadávaný v dĺžke vysielania bitov, t.j. závislý od parametra MS/TP baud rate), po ktorého vypršaní, bez prijatia ďalšieho znaku počas prijímania rámca, sa celý rámec zahodí. Podľa normy môžu implementácie používať aj väčšie hodnoty, ktoré neprekročia v absolútnom čase hodnotu 100 ms.bits60
Anchor
mstp_tnt
mstp_tnt
TNT
Tno_tokenČas (zadávaný v ms) po ktorého vypršaní bez prijatia dát bude vyhlásená strata tokenu.ms500
Anchor
mstp_tr
mstp_tr
TR
Treply_timeoutMinimálny čas (zadávaný v ms), ktorý musí KOM čakať, kým stanica začne odpovedať na požiadavku.ms255
Anchor
mstp_ts
mstp_ts
TS
TslotČas (zadávaný v ms), počas ktorého môže stanica vygenerovať token.ms10
Anchor
mstp_tu
mstp_tu
TU
Tusage_timeoutMinimálny čas (zadávaný ms), ktorý musí KOM čakať, kým partner začne používať token alebo odpovie na Poll for master rámec. Štandardná hodnota je 20 ms, podľa normy môžu implementácie používať aj väčšie hodnoty, ktoré neprekročia 100 ms.ms20

Anchor
komunikacna_stanica
komunikacna_stanica
Konfigurácia komunikačnej stanice

...

    • Typ stanice: Stanica nakonfigurovaná na linke TCP/IP-UDP musí mať typ BACnet/IP, stanica nakonfigurovaná na linke LonWorks musí mať typ LonWorks. Stanica nakonfigurovaná na linkách SerialOverUDP Device Redundant alebo Serial musí mať typ MS/TP.
    • Anchor
      adresa
      adresa
      Adresa:
      • Stanica BACnet/IP: IP adresa stanice (v tvare A.B.C.D, napr. 172.16.0.99)
      • Stanica LonWorks : adresa LON subsiete a LON uzla (v tvare subnet.node, kde subnet je 8-bitové číslo a node je 7-bitové číslo)
      • Stanica MS/TP: číslo nodu na linke (0-254, adresa 255 je broadcast)
    • Port: (iba pre BACnet/IP): číslo UDP portu stanice (podľa normy 0xBAC0, tj. 47808)
    • Doména: (iba pre LonWorks): 0 alebo 1, súvisí s konfiguráciou linky. Na linke LonWorks je možné nakonfigurovať príslušnosť k jednej alebo dvom doménam, na stanici BACnet sa výberom domény udáva, do ktorej domény zariadenie patrí (výber ovplyvňuje 'domain' bit v LON adrese)
    • Source network: číslo zdrojovej siete (tj. siete, do ktorej patrí KOM proces). Pre linku LonWorks sa štandardne nenastavuje, pre linku TCP/IP-UDP je to 16-bitové číslo (alebo sa nenastavuje, viď nižšie Poznámka 2).
    • Anchor
      destionation_network
      destionation_network
      Destination network: 16-bitové číslo cieľovej siete (tj. siete, do ktorej patrí zariadenie, s ktorým KOM proces komunikuje).
      Pre linku LonWorks sa nastavuje v prípade, že KOM proces komunikuje so zariadením, ktoré sa nachádza za BACnet routrom. V takom prípade Adresa stanice je adresa BACnet routra a Destination address je adresa cieľového zariadenia.
      Pre linku TCP/IP-UDP sa parameter Destination network podobne použije iba v prípade komunikácie medzi rôznymi sieťami BACnet.

      Poznámka 1: Táto konfigurácia bola otestovaná nasledovne:
      • Linka: TCP/IP-UDP
      • Typ stanice: BACnet/IP
      • Adresa: 172.16.99.1 (adresa BACnet routra PXG80-N)
      • Destination network: 1
      • Destination address: 1.1 (adresa PXC22 na LON sieti za BACnet routrom
      KOM proces komunikoval so zariadením PXC22 pripojeným k LON sieti prostredníctvom BACnet routra PXG80-N. Komunikácia medzi KOM procesom a BACnet routrom je po sieti Ethernet, preto je linka typu TCP/IP-UDP. Komunikácia medzi BACnet routrom a stanicou PXC22 prebiehala po sieti LON.

      Anchor
      pozn2
      pozn2
      Poznámka 2: Riešili sme podobnú konfiguráciu, kde bol použitý Delta Controls DSM-RTR (pripojený po Ethernet sieti) a za ním cez MS/TP rozhranie pripojené zariadenie Klimasoft MBG (gateway na M-Bus). V skúšanej konfigurácii sa komunikácia rozbehla, pokiaľ nebola nakonfigurovaná Source network, ale iba Destination network (konkr. hodnota 50020) a Destination address (konkr. 96). Pritom v inom prípade v podobnej konfigurácii komunikácia fungovala aj s parametrom Source network, takže treba vyskúšať a poexperimentovať, ktoré nastavenie sieťových parametrov, ktorému zariadeniu vyhovuje.

...

    • Anchor
      resubscribe
      resubscribe
      Resubscribe interval: Čas v sekundách, po uplynutí ktorého sa znovu posiela stanici žiadosť o posielanie zmien meraných bodov. Tento parameter sa týka meraných bodov s Request type rovným SubscribeCOV alebo SubscribeCOVProperty.
    • Max APDU: Maximálna veľkosť správy (APDU=application protocol data unit), ktorú KOM proces posiela. Prednastavené hodnota je:
      • 1467 oktetov pre linku TCP/IP-UDP
      • 487 oktetov pre linky SerialOverUDP Device Redundant alebo Serial (BACnet MS/TP)
      • 55 oktetov pre linku LonWorks (obmedzenia sú dané veľkosťami paketov, ktoré sú schopné protokoly siete Ethernet a LonWorks prepraviť, v prípade LonWorks je maximálna hodnota 206 a hodnota 55 je kvôli obmedzeniam iLON 10 Ethernet adaptéra)

      Menenie prednastavenej hodnoty má zmysel kvôli testovaniu a na prispôsobenie sa staniciam, ktoré sú schopné spracovať iba menšie správy. V súčasnosti zmenšenie parametra Max APDU má vplyv iba na veľkosť a množstvo správ ReadPropertyMultiple-Request. Tieto správy slúžia na periodické čítanie hodnoty meraného bodu (viď konfigurácia meraného bodu).

      Poznámka: Nastavenie Max APDU nemá vplyv na veľkosť parametra max-APDU-length-accepted v APDU BACnet-Confirmed-Request-PDU, ktorým KOM proces oznamuje partnerovi, akú najväčšiu správu je schopný spracovať. Tento parameter je konfigurovaný pomocou parametra protokolu stanice Segment-Response.

    • Priorita: priorita správy v BACnet protokole. Existujú 4 priority, prednastavená je Normal, vyššie sú Urgent, CriticalEquipment a LifeSafety.
    • Rpt_timer & reply: (iba pre LonWorks): parametre Repeat timer a Retry protokolu LonTalk. Prednastavené hodnoty sú 1 a 1.
    • Tx_timer: (iba pre LonWorks): parameter Tx_timer protokolu LonTalk. Prednastavená hodnota je 3.
    • Timeout a retry: timeout v milisekundách na potvrdenie správy. Prednastavená hodnota je podľa protokolu BACnet 3000 ms. Po vypršaní timeoutu sa správa posiela opäť a to až retry-krát. Ak nie je prijaté žiadne potvrdenie, zvýši sa počítadlo chýb na stanici.

      Poznámka: Pri testovaní zariadenia Siemens PXC64-U (komunikácia cez LonTalk) bolo potrebné nastaviť Retry=8, Timeout=300 (viac opakovaní s kratším timeoutom), v dôsledku toho bolo treba zvýšiť aj hodnoty COM_ERR=10, HARD_ERR=20, aby pri opakovaní posielania správy neprechádzala stanica do chybového stavu.

...

Parametre protokolu stanice

Kľúčové slovoPlný názovPopisJednotkaNáhradná hodnota
Anchor
ras
ras
RAS
Read After SubscribeParameter ovplyvňuje merané body s Request type = SubscribeCOV alebo SubscribeCOVProperty. Nastavenie hodnoty na True spôsobí, že po výzve SubscribeCOV resp. SubscribeCOVProperty pošle KOM proces následne aj požiadavku na čítanie (ReadProperty-Request).
Pozn: Štandardne parameter netreba nastavovať, pretože ako odpoveď na SubscribeCOV resp. SubscribeCOVProperty väčšina zariadení pošle okrem potvrdenia aj aktuálnu hodnotu. Parameter bol implementovaný kvôli komunikácii so Saphire Communication Controller rev.077-0210, ktorý poslal iba potvrdenie, ale nie aktuálnu hodnotu.
-False
Anchor
rsd
rsd
RSD
Receive-send DelayOneskorenie medzi prijatím odpovede stanice a poslaním ďalšieho paketu.ms0
Anchor
sr
sr
SR
Segment-ResponseBajt obsahujúci Max Segs a Max Resp parametre (viď špecifikáciu protokolu BACnet). Povolené sú iba niektoré hodnoty z intervalu 0-127, ktoré špecifikuje norma BACnet. Hodnotu 128 interpretuje KOM proces ako default:
  • LonWorks linka: hodnota sa nastaví na 0x70 (akceptovaných je viac ako 64 segmentov, max. dĺžka správy 50 bajtov)
  • TCP/IP-UDP linka: hodnota sa nastaví na 0x75 (akceptovaných je viac ako 64 segmentov, max. dĺžka správy 1476 bajtov)
  • Serial a SerialOverUDP Device Redundant linka: hodnota sa nastaví na 0x73 (akceptovaných je viac ako 64 segmentov, max. dĺžka správy 480 bajtov)
-128
Anchor
tsu
tsu
TSU
Time-Synchronization UTCParameter má význam, iba ak je povolená synchronizácia v konfigurácii stanice na záložke "Časové parametre".
Ak je hodnota parametra True (default), časová synchronizácia je vykonávaná pomocou správy UTCTimeSynchronization-Request (synchronizácia v UTC čase). Ak je hodnota parametra False, časová synchronizácia je vykonávaná pomocou správy TimeSynchronization-Request (synchronizácia v lokálnom čase).
Poznámky:
  • Odporúčame synchronizáciu v UTC čase, pokiaľ ju zariadenie podporuje - je tak možné vyhnúť sa problémom s prechodom časov.
  • Požiadavky na časovú synchronizáciu sú nepotvrdzované správy - t.j. od zariadenia nepríde odpoveď ani v prípade, ak podporuje časovú synchronizáciu, ani keď ju nepodporuje.
  • Časová synchronizácia bola otestovaná na zariadení Siemens PXC36-E.D (HW=V3.02). Toto zariadenie podporuje synchronizáciu cez UTC aj lokálny čas. Je možné vyčítať aktuálny čas a dátum ako property local-date(56) a local-time(57) objektu typu Device(8).
    Z tohto objektu je možné vyčítať aj property utc-offset(119) udávajúci offset lokálneho času od UTC (v minútach, t.j. -60 je stredoeurópsky pásmový čas) ako aj property daylight-savings-status(24) udávajúci, či pracuje zariadenie na letnom čase (v septembri 2012 bola na testovanom zariadení hodnota True).
    Po časovej synchronizácii sa hodnoty local-date(56) a local-time(57) príslušne zmenili.
-True

Anchor
merany_bod
merany_bod
Konfigurácia meraných bodov

...

    • Anchor
      requesttype
      requesttype
      Request type: čítanie a zápis vlastností objektov je možný niekoľkými spôsobmi:
      • Anchor
        readproperty
        readproperty
        ReadProperty - periodické čítanie vlastnosti objektu systémom výzva-odpoveď, periódu pollingu je nastaviteľná na stanici na záložke Časové parametre. Na výzvu sa použije správa ReadProperty-Request, zariadenie ako odpoveď posiela správu ReadProperty-Ack. Periodické čítanie zaťažuje sieť a je neefektívne, preto pokiaľ zariadenie podporuje posielanie zmenových dát, odporúčame použiť SubscribeCOV alebo SubscribeCOVProperty.
        Správa ReadProperty-Request je posielaná iba vtedy, ak je zaškrtnutý checkbox Subscribe/read.
      • ReadPropertyMultiple - podobné ako predchádzajúce, na rozdiel od ReadProperty sa v jednej výzve aj odpovedi posiela niekoľko vlastností, takže komunikácia je efektívnejšia. Na výzvu sa použije správa ReadPropertyMultiple-Request, zariadenie ako odpoveď posiela správu ReadPropertyMultiple-Ack.
        Správa ReadPropertyMultiple-Request je posielaná iba vtedy, ak je zaškrtnutý checkbox Subscribe/read.
      • WriteProperty - zapisovanie hodnôt správou WriteProperty-Request. Je nutné špecifikovať aj parameter Application tag. Ak je zaškrtnuté Subscribe/read, po zápise sa spätne číta zapísaná hodnota správou ReadProperty-Request.
      • Anchor
        subscribecov
        subscribecov
        SubscribeCOV - čítanie hodnoty objektu zmenovým spôsobom. Ak je zaškrtnutý checkbox Subscribe/read, po štarte KOM pošle správu SubscribeCOV-Request, ktorou oznámi zariadeniu, že chce byť informovaný o zmenách hodnoty objektu. Je možné špecifikovať, či zariadenie má posielať potvrdzované (správa ConfirmedCOVNotification-Request) alebo nepotvrdzované (UnconfirmedCOVNotification-Request) notifikácie. Potvrdzovaná notifikácia je správa, ktorá vyžaduje explicitné potvrdenie KOM-u správou BACnet-SimpleACK-PDU, takže zaťažuje sieť potvrdeniami, ale pravdepodobnosť, že sa notifikácia stratí, je podstatne menšia ako u nepotvrdzovanej (ak zariadenie nedostane potvrdenie, správu opakuje).

        Poznámka 1: Okrem dynamickej registrácie správou SubscribeCOV-Request môžu niektoré zariadenia podporovať statickú registráciu (uloženú v konfigurácii), takže nie je potrebné sa registrovať a checkbox Subscribe/read môže byť odškrtnutý.
        Poznámka 2: Registrácia môže byť posielaná v pravidelných intervaloch (napr. kvôli možnému výpadku napájania zariadenia). Interval posielania registrácie sa nastavuje na stanici ako parameter Resubscribe interval.
      • Anchor
        subscribecovproperty
        subscribecovproperty
        SubscribeCOVProperty - podobné ako SubscribeCOV, navyše je možné špecifikovať aj Property identifier (takže je možné sledovať aj zmeny iných vlastností objektov ako iba hodnoty) a prípadne Increment - veľkosť prírastku, ktorý spôsobí poslanie zmeny (t.j. pásmo necitlivosti).
        Posielaná správa je SubscribeCOVProperty-Request.

        Poznámka: Testované zariadenie Siemens PXC64-U nepodporovalo parameter Increment.
      • Anchor
        whois
        whois
        WhoIs-identifikačná správa Who-Is-Request na zistenie, aký Device Object zariadenie obsahuje. Odpoveďou je správa I-Am-Request (obsahuje polia iAmDeviceIdentifier, maxAPDULengthAccepted, segmentationSupported, vendorID). Ak je meraný bod typu TxtI, všetky tieto informácie sú v textovej podobe extrahované do hodnoty meraného bodu. Keď takto identifikujem Device Object, môžem si nakonfigurovať meraný bod na načítanie vlastnosti object-list identifikovaného Device Object-u a ak zariadenie túto vlastnosť implementuje, vráti zoznam identifikátorov všetkých objektov, ktoré obsahuje. Následne je možné zisťovať vlastnosti týchto objektov (object-name, location, description, present-value ..)

        Poznámka: Pre zariadenie Siemens PXC64-U je nutné čítať vlastnosť object-list s nastaveným Array index, pričom Array index=0 udáva počet prvkov poľa, prístup k jednotlivým prvkom poľa je cez Array index=1 až N.
      • Anchor
        whohas
        whohas
        WhoHas-identifikačná správa Who-Has-Request na zistenie mena objektu z identifikátora objektu alebo naopak. Odpoveďou je správa I-Have-Request (obsahuje polia deviceIdentifier, objectIdentifier a objectName). Správa Who-Has-Request sa posiela iba raz pri inicializácii meraného bodu (resp. po TELL príkaze SETPTADDR) a slúži na prevod medzi menami a identifikátormi objektov.
        Správa Who-Has-Request bude obsahovať buď meno alebo identifikátor objektu podľa toho, či je na meranom bode nakonfigurovaný Address type ako Name alebo Object type+Instance.
        Podľa toho, či je zaškrtnuté Subscribe/read, môže sa použiť informácia z cache, čo je podstatne rýchlejšie ako zisťovanie z komunikácie.
      • Anchor
        readwritescheduler
        readwritescheduler
        ReadWriteScheduler: na výzvu sa použije správa ReadProperty-Request, na zápis WriteProperty-Request, pričom pri zápise sa zapisuje N dvojíc čas-hodnota. Konfigurácia sa používa na čítanie a zápis objektov typu schedule, podrobnejší popis viď Scheduler v zariadeniach Siemens Desigo.
      • Anchor
        geteventinformation
        geteventinformation
        GetEventInformation: zistenie zoznamu objektov, ktoré sú v alarmovom alebo chybovom stave alebo potrebujú kvitovanie, podrobnejší popis viď Informácie o eventoch.
      • Anchor
        acknowledgealarm
        acknowledgealarm
        AcknowledgeAlarm: kvitovanie alarmov, ktorých zoznam bol načítaný requestom GetEventInformation. Podrobnejší popis viď Informácie o alarmoch. Meraný bod musí byť textový výstup (TxtO).
    • Anchor
      addresstype
      addresstype
      Address type: Každý objekt v protokole BACnet je adresovaný cez Identifikátor objektu. Pri návrhu aplikácie v systéme Desigo sú objekty reprezentované názvami, pričom adresa objektu nie je prístupná a môže sa meniť v dôsledku zmien aplikácie. Zariadenia Delta Controls majú naopak objekty, ktorých adresy zadáva tvorca aplikácie. Z tohto dôvodu sú možné dva spôsoby zadávania adresy meraného bodu zodpovedajúce dvom Address type:
      • Name: zadá sa meno objektu. Typ objektu a číslo inštancie sa zistia dynamicky z komunikácie. Kvôli nezahlcovaniu komunikačných liniek pri štarte KOM procesu sa využíva ukladanie údajov do BACnet cache.
      • Object type + Instance: zadá sa typ objektu a číslo inštancie. Vhodné pre BACnet objekty s konštantnými adresami.
    • Object type: typ objektu, ktorého vlastnosti chcem čítať/zapisovať. Je možné použiť preddefinované typy alebo zapísať číslo nového typu objektu, ktoré si zadefinoval výrobca zariadenia. Typ objektu je 10-bitové číslo.
    • Instance: poradové číslo objektu v rámci typu objektu. Každý objekt má v rámci zariadenia unikátny Object Identifier, čo je dvojica [Object type, Instance]
    • Anchor
      objectname
      objectname
      Object Name: názov objektu, keď Address type= Name, t.j. keď adresa meraného bodu sa zisťuje dynamicky z komunikácie. Object Name musí byť zadaný presne, t.j. netolerujú sa zbytočné medzery na začiatku ani na konci a aj malé a veľké písmená sa musia zhodovať s názvom objektu, ktorý je uložený v zariadení, s ktorým sa komunikuje.
    • Property type: typ vlastnosti - pre Simple sa zadáva iba PropertyIdentifier, pre Complex treba zadať aj Complex address. Komplexný typ vlastnosti je potrebný pri parsovaní implementátorom definovaných rozšírení štandardných správ (Abstract Syntax & Notation). Pri posielaní správ ReadProperty-Request, ReadPropertyMultiple-Request, SubscribeCOV-Request, SubscribeCOVProperty-Request je Complex address ignorovaná,
    • Property identifier: identifikátor vlastnosti objektu. Je možné použiť preddefinované vlastnosti alebo zapísať číslo novej vlastnosti, ktoré si zadefinoval výrobca zariadenia. Identifikátor vlastnosti je typu Enumerated Value, vlastnosti 0-511 sú rezervované pre BACnet, čísla 512-4194303 sú použiteľné pre výrobcov zariadení.
    • Array index: niektoré vlastnosti môžu byť definované ako polia hodnôt, v tom prípade je možné čítať alebo zapisovať konkrétnu položku poľa.
    • Anchor
      application_tag
      application_tag
      Application tag: nutné špecifikovať pri zápise hodnoty (Request type=WriteProperty) a prípadne aj pre iné typy žiadostí, pokiaľ parsovaná odpoveď obsahuje kontextové tagy, ktorých aplikačný typ nie je známy, pretože ide o implementátorom definované rozšírenie správ. Výnimkou je výstupný textový bod, ktorý sa pri nešpecifikovanom aplikačnom tagu chápe ako 'AnyTree' a slúži na zápis ľubovoľnej užívateľom zadanej ASN sekvencie.

      Poznámka: Pokiaľ je zapisovaná hodnota Invalid, nezapíše sa ako definovaný Application tag, ale ako Application tag "Null".
    • Anchor
      complex_address
      complex_address
      Complex address: adresa tagu v 'strome' v prípade implementátorom definovaných rozšírení správ.
      Príklad adresy: [1].[3].2.1
      Popis:
      [1] - kontextový tag č.1 (predpokladá sa, že je to sekvencia),
      [3] - v rámci tejto sekvencie kontextový tag č.2 (opäť musí byť sekvencia),
      2 - v rámci tejto sekvencie druhý tag v poradí (opäť sekvencia),
      1 - v rámci tejto sekvencie prvý tag v poradí.
      Adresa v 'strome' sa začína od úrovne propertyValue (viď príklady správ nižšie).
      Najjednoduchší spôsob zobrazenia parsovanej správy je zapnutie debugu na linke a sledovanie výpisov na konzole alebo v logu linky.

      Príklad 1: Majme zariadenie, ktoré obsahuje objekt typu 2 (Analog Value) s číslom inštancie 1 a predpokladajme, že zariadenie posiela ako hodnotu objektu trojicu čísel, z ktorých prvá je aktuálna hodnota, druhá minútový priemer a tretia desaťminútový priemer. Výpis parsovanej správy môže byť nasledovný:
       === ASN Body beg ===
       objectIdentifier (tag 0) OBJID 2 analog-value,1
       listOfResults (tag 1) SEQUENCE {
        propertyIdentifier (tag 2) ENUM 85 present-value
        propertyValue (tag 4) SEQUENCE {
         REAL 1.40000E+00
         REAL 1.10000E+00
         REAL 1.30000E+00
        }
       }
       === ASN Body end ===
      
      Ak máme záujem o všetky tri hodnoty, nakonfigurujem 3 merané body, (Object type=analog_value, Instance=1, Property-identifier=present-value, Property-type=complex), ktoré sa budú líšiť komplexnou adresou (pre prvý bod 1, pre druhý 2, pre tretí 3). Iba jeden meraný bod by mal mať zaškrtnutý checkbox Subscribe/read, pretože odpoveďou na jednu žiadosť je správa s troma hodnotami. Pri posielaní správ ReadProperty-Request, ReadPropertyMultiple-Request, SubscribeCOV-Request, SubscribeCOVProperty-Request ani WriteProperty-Request sa komplexná adresa nepoužíva.

      Poznámka: Ak by bol nakonfigurovaný meraný bod s Property-type=simple, jeho hodnota by sa po parsovaní správy nastavila na prvú nájdenú hodnotu (v príklade 1.40000E+00).

      Príklad 2: Zariadenie Siemens Desigo PXC64-U má meraný bod (Object type=schedule, Instance=6, zaškrtnutý Subscribe-read, Property-identifier=weekly-schedule, Property-type=complex, Array index=1, Complex address=1). Na linke je zapnutý debug. Po uložení meraného bodu KOM proces pošle požiadavku a vypíše odpoveď:
       === ASN Body beg ===
       objectIdentifier (tag 0) OBJID 17 schedule,6
       propertyIdentifier (tag 1) ENUM 123 weekly-schedule
       propertyArrayIndex (tag 2) UNSIGNED 1
       propertyValue (tag 3) SEQUENCE {
        SEQUENCE {
         TIME 0:0:0.0
         UNSIGNED 2
         TIME 4:0:0.0
         UNSIGNED 3
         TIME 22:0:0.0
         UNSIGNED 1
        }
       }
       === ASN Body end ===
      
      V propertyValue sa nachádza sekvencia 6 hodnôt (striedavo čas a kladné číslo). Ak chceme pristupovať k prvému času, treba nastaviť Complex address=1.1, ak k prvému kladnému číslu, treba nastaviť Complex address=1.2, t.j. prvý element - sekvencia - a v rámci neho druhý element v poradí (UNSIGNED 2). Ak potrebujeme pristupovať k viacerým časom a/alebo hodnotám naraz, stačí nakonfigurovať niekoľko meraných bodov, z ktorých iba jeden bude mať zaškrtnuté Subscribe/read.

      Poznámka 1: Hodnota meraného bodu po vytvorení a uložení s komplexnou adresou 1 zostane Unknown, pretože nakonfigurovaná komplexná adresa 1 zodpovedá 1. prvku v rámci propertyValue, čo je sekvencia a nie jednoduchý zobraziteľný typ.

      Anchor
      pozn2
      pozn2
      Poznámka 2: Meraný bod typu Text je schopný obsiahnuť nielen jednoduchú hodnotu ale aj ľubovoľnú ASN sekvenciu. Jednotlivé hodnoty budú zapísané podľa pravidiel pre zápis ASN sekvencie. Ak v predchádzajúcom príklade nastavíme Complex address=1 a meraný bod zmeníme na textový vstup alebo výstup, jeho hodnota bude reťazec " T0:0:0.0; u2; T4:0:0.0; u3; T22:0:0.0; u1; ". Ak bude Property-type=complex, ale Complex address nebude zadaná, výsledok bude " 0{ T0:0:0.0; u2; T4:0:0.0; u3; T22:0:0.0; u1; }".
    • Increment: prírastok zmeny hodnoty vlastnosti objektu, ktorý spôsobí reportovanie zmeny (viď popis SubscribeCOVProperty).
    • Confirmed: ak je checkbox zaškrtnutý, pre nakonfigurované Request typy SubscribeCOV a SubscribeCOVProperty špecifikuje, či zariadenie má posielať potvrdzované (správa ConfirmedCOVNotification-Request) alebo nepotvrdzované (UnconfirmedCOVNotification-Request) notifikácie.
    • Anchor
      subscriberead
      subscriberead
      Subscribe/read: ak je checkbox zaškrtnutý, sú pre nakonfigurované Request typy posielané príslušné správy na čítanie/registráciu zmien hodnôt:
      ReadProperty: správa ReadProperty-Request
      ReadPropertyMultiple: správa ReadPropertyMultiple-Request
      SubscribeCOV: správa SubscribeCOV-Request
      SubscribeCOVProperty: správa SubscribeCOVProperty-Request
      ReadWriteScheduler: správa ReadProperty-Request

...

Poznámka: Pomocou Ctrl+C je možné skopírovať obsah dialógu Bacnet Item Browser do clipboardu. Pokiaľ je vyznačený konkrétny riadok, skopíruje sa iba ten.

Poznámka: Vo verziách z 20.12.2018 a novších bolo implementované recyklovanie prehliadacieho dialógu. Pokiaľ je dialóg zavretý tlačidlom Cancel alebo po výbere objektu, v skutočnosti je iba skrytý a je k dispozícii pre browsovanie iného meraného bodu v rámci tej istej stanice, takže sa zachováí stromová štruktúra prehliadaných objektov. Kliknutie na krížik vpravo hore spôsobí skutočné zavretie dialógu.

Prehliadanie adresného priestoru

Anchor
anytree
anytree
Zápis ľubovoľnej ASN sekvencie
Pomocou nakonfigurovaného meraného bodu typu textový výstup (TxtO) s nenastaveným aplikačným tagom je možné zapísať ľubovoľnú ASN sekvenciu. Pravidlá zápisu sú nasledovné:

...

Čítanie schedulera (atribút weekly-schedule)

  • Hodnotu po hodnote: dynamickou zmenou komplexnej adresy (1.1, 1.2, 1.3 atď) v skripte je možné vyčítať všetky hodnoty a časy podobne ako pre iné vlastnosti.
  • Všetky časy a hodnoty pre jeden deň naraz:
    • Typ hodnoty: Textový vstup (čítanie schedulera) alebo Textový výstup (čítanie aj zápis)
    • Request type: ReadProperty (čítanie schedulera) ReadWriteScheduler (čítanie aj zápis)
    • Subscribe/read: Y
    • Object type: schedule(17)
    • Instance: číslo inštancie (napr. 6) zistené z konfigurácie Desigo alebo pomocou WhoIs requestu.
    • Property type: Complex
    • Property identifier: weekly-schedule(123)
    • Array index: 1 až 7 podľa načítavaného dňa
    • Application tag: ak nie je udaný, použije sa Unsigned (potrebný iba pri zápise hodnoty)
    • Complex address: 1 (adresa sekvencie)

Do textovej hodnoty sa načítajú časy a hodnoty oddelené bodkočiarkou (

...

viď Poznámka 2).
Pri zápise hodnoty schedulera je potrebné si uvedomiť, že hodnota môže byť poslaná

...

s rôznymi aplikačnými tagmi (Unsigned, Signed), pričom zariadenie očakáva konkrétny tag (najjednoduchšie sa dá zistiť načítaním hodnoty pri zapnutom debugu na linke). Aplikačný tag hodnoty je konfiguračne určený položkou Application tag v konfigurácii. Platné hodnoty Application tag sú Boolean, Unsigned, Signed, Real a Double. V prípade, že je nastavený iný typ, sa automaticky posiela Unsigned hodnota. Typ hodnoty je možné dynamicky zmeniť - ak je prvý znak zapisovanej textovej hodnoty B,U,S,R alebo D, je chápaný ako (B)oolean, (U)nsigned, (S)igned, (R)eal alebo (D)ouble.


Zápis schedulera (atribút weekly-schedule)

  • Nutné je nakonfigurovať Request type=ReadWriteScheduler a do meraného bodu typu Textový výstup priradiť postupnosť dvojíc čas a hodnota oddelených bodkočiarkou, napr. "0:0:0; 1; 2:30:40.5; 2; 5:00:00;1".
  • Aby sa po uložení konfigurácie D2000 alebo po štarte KOM procesu nezapisovala do schedulera 'prázdna sekvencia', je textový reťazec s dĺžkou 0 ignorovaný. Preto, ak je potrebné vymazať časový plán schedulera pre konkrétny deň, do meraného bodu je treba priradiť reťazec nenulovej dĺžky, ktorý neobsahuje žiadny čas ani hodnotu: " ".

Anchor
note_schedulersiemens
note_schedulersiemens

Poznámka: Okrem špecializovaného requestu ReadWriteScheduler je možné zapísať weekly-schedule aj cez zápis ASN sekvencie, napr. hodnote "0:0:0; 1; 2:30:40.5; 2; 5:00:00;1" z predchádzajúceho príkladu zodpovedá sekvencia "{ T0:0:0 u1; T2:30:40.5 u2; T5:0:0 u1 }" pričom konfigurácia meraného bodu sa líši iba v Request type=ReadProperty. Navyše je možné zapísať časový plán na celý týždeň, ak sa nenastaví Array index a hodnota obsahuje 7 sekvencií na jednotlivé dni, napr. "{ T0:10:0 u3 T1:3:0 u1; } {T2:0:0.0 u2 T5:30:10.0; u3; } { T6:0:0.0 u2 T7:0:0.0 u3} { T20:0:0.33; u1} { T21:0:0.0; u1} { T22:0:0.0; u2} 0 { T0:0:0.0; u3; T1:2:0.0; u1; T2:0:0.0; u2; T5:30:10.0; u3}".

...

S pôvodným firmvérom zariadenie (2.01.05) nereagovalo na Who-Is, po upgrade firmvéru na verziu 2.01.16 sa toto chovanie opravilo a korektne funguje aj WriteProperty.

Anchor
desigo
desigo
Poznámka k zariadeniam Siemens Desigo

...

Podľa dokumentu "DESIGO INSIGHT: Installation, setup and communication - Engineering guide" odporúčané adresné nastavenia pre komunikácu cez LonWorks sú:

  • DomainID: 0x49
  • SubnetID: 1
  • NodeID:
    • 1..100 - adresy rezervované pre automatizačné stanice (PX) a systémové zariadenia (BACnet routre)
    • 101..120 - operátorské zariadenia a management stanice DESIGO INSIGHT
    • 121..127 - dočasné operátorské zariadenia (napr. operátorská jednotka PXM20) a nástroje (DTS)

Anchor
mbg-mstp
mbg-mstp
Poznámka k zariadeniam Klimasoft MBG-MSTP

...

KOM proces pošle kvôli prevodu textového názvu nakonfigurovaného v adrese M.Des2_test Who-Has požiadavku na zariadenie Des2. Pri posielaní sa použije IP adresa Rtr2 10.0.0.2.
Rtr2 prepošle požiadavku do LON siete na Des2 (podľa parametrov Destination network=12 a Destination address=2.2 uvedených v konfigurácii stanice B.Des2). Z BACnet/LON zariadenia Des2 príde broadcast odpoveď I-Have. Keďže BACnet router Rtr2 je bez podpory BBMD, prepošle odpoveď (za predpokladu, že je tak nakonfigurovaný) BACnet routru Rtr1, ktorý má podporu BBMD.
Rtr1 prepošle I-Have správu ako UDP paket KOM procesu, pretože je nakonfigurovaný parameter stanice B.Des1 Register-Foreign-Device a teda KOM proces sa registroval ako príjemca broadcast správ u Rtr1). Takto sa I-Have správa dostane do KOM procesu s inou IP adresou ako bola pôvodná výzva. Vyššie popisovaná funkcionalita spáruje takúto odpoveď s výzvou od stanice B.Des2 na základe zhody textového názvu objektu v poslanej výzve.

Z popísaného postupu zároveň vyplýva jedno konfiguračné obmedzenie - všetky popísané činnosti sa dejú v kontexte jednej linky, takže je nutné, aby na jednej linke sa nachádzali všetky stanice, ktoré sú v pôsobnosti jedného BBMD zariadenia.

Anchor
tell_cmd
tell_cmd
Tell príkazy

...

PríkazSyntaxPopis
STWATCHSTWATCH MenoStaniceTell príkaz pošle na stanicu príkazy ReadProperty, ReadPropertyMultiple a Subscribe podľa konfigurácie jednotlivých meraných bodov.

Anchor
literatura
literatura
Literatúra

...

ANSI/ASHRAE Standard 135-2001: BACnet - A Data Communication Protocol for Building Automation and Control Networks

ASN.1 Complete by Prof. John Larmouth


Info
titleBlogy

O protokole BACnet si môžete prečítať aj blogy:


Anchor
zmeny_upravy
zmeny_upravy
Zmeny a úpravy

...