Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

KNX protokol

Podporované typy a verzie zariadení  
Konfigurácia komunikačnej linky
Parametre protokolu linky
Konfigurácia komunikačnej stanice
Konfigurácia meraných bodov
Poznámky k Fanuc Robot R-30iA/R-30iB
Literatúra
Zmeny a úpravy
Revízie dokumentu

Kotva
typy_verzie
typy_verzie
Podporované typy a verzie zariadení

...

Protokol KNX je otvorený štandard používaný pri automatizácii budov. Implementácia KNX využíva Falcon SDK vyvíjaný nadáciou KNX asociáciou. Vzhľadom na to, že tento SDK je vyvíjaný v jazyku C#, prepojenie na D2000 KOM proces je riešené cez samostatný modul d2knx, ktorý sa štandardne nachádza v adresári protdll a komunikuje s D2000 KOM procesom cez TCP spojenie.
Pre každú komunikačnú linku, na ktorej sú stanice s KNX protokolom, je spustená jedna inštancia potrebné spustiť jednu inštanciu modulu d2knx, ktorá vyžaduje samostatné KNX rozhranie. KNX rozhranie môže byť pripojené cez USB rozhranie alebo môže byť dostupné po sieti cez IP adresusieťovo na základe svojej IP adresy.

Poznámka k modulu d2knx:

...

  • d2knx 127.0.0.1  4011 debug
  • d2knx 0.0.0.0  4012

Príklad výstupu (spustenie bez parametrov):

...

EIB/KNX interface module
(c) 2020 Ipesoft
Usage : knx ListenIP ListenPort [debug]
Example: knx 127.0.0.1

...

 4011
Available interfaces:
Device 0 Path \\?\hid#vid_16d0&pid_0490#6&34ad9346&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}, Name Tapko USB Interface

Kotva
komunikacna_linka
komunikacna_linka
Konfigurácia komunikačnej linky

...

  • Kategória komunikačnej linky: TCP/IP-TCP.
  • IP adresa je adresa, na ktorej počúva modul d2knx. Ak je modul d2knx spúšťaný D2000 KOM procesom, odporúčaná adresa je 127.0.0.1 (localhost). Je možné prevádzkovať modul d2knx na vzdialenom počítači, v tom prípade treba nakonfigurovať IP adresu vzdialeného počítača.
    Pozn: je možné nakonfigurovať aj viacero IP adries (oddelených čiarkou alebo bodkočiarkou). Tak je možné v redundantných D2000 systémoch nakonfigurovať pripájanie sa D2000 KOM procesu napr. k nezávisle spusteným d2knx modulom (každý z nich je spustený na jednom z aplikačných serverov), čo zabezpečuje funkčnosť komunikácie pri výpadku KNX USB adaptéra na jednom serveri bez potreby prehadzovania redundancie D2000.
  • Číslo portu je číslo TCP portu, na ktorom počúva modul d2knx. Je možné vybrať ľubovolný voľný port (1-65535).
  • Číslo linky je nepoužité, nastavte hodnotu 0.

Kotva
linka

...

Kotva
linka_parametre
linka_parametre
Parametre protokolu linky

...

ParameterPopisJednotka / rozmerNáhradná hodnota

Kotva
kd
kd
KNX Driver Program

Konfigurácia spúšťania modulu d2knx procesom D2000 KOM. Ak je tento parameter prázdny, modul d2knx nie je spúšťaný (predpokladá sa iný mechanizmus jeho spúšťania).

Parameter obsahuje tieto symbolické mená:

  • #PROTDIR# - nahradí sa cestou k adresáru protdll v inštalácii D2000, v ktorom sa d2knx štandardne nachádza (napr. D:\D2000\D2000.EXE\protdll)
  • #BINDIR# -nahradí sa cestou k adresáru bin (bin64 v 64-bitovej verzii D2000 na Windows) v inštalácii D2000
  • #HOST# - nahradí sa IP adresou nakonfigurovanou na linke (v prípade konfigurácie viacerých IP adries budú tieto použité striedavo použité)
  • #PORT# - nahradí sa číslom TCP portu nakonfigurovaým na linke
-#PROTDIR#d2knx #HOST# #PORT#
  • nakonfigurovaným na linke

Pozn: v adresári protdll sa nachádzajú aj vzorové spúšťacie skripty pre Windows (d2knx.bat) a Linux/Raspberry PI (d2knx).

-#PROTDIR#d2knx #HOST# #PORT#

Kotva
Kotva
it
it
KNX Interface Type

Typ KNX adaptéra, ktoré ktorý modul d2knx otvára a pomocou ktorého komunikuje po KNX zbernici:

  • USB interface by position - zo zoznamu dostupných KNX USB zariadení sa vyberie zariadenie na pozícii definovanej parametrom KNX Interface ID (číslo 0, 1, 2 atď)
  • USB interface by name - zo zoznamu dostupných KNX USB zariadení sa vyberie zariadenie, ktorého meno obsahuje text zadaný parametrom KNX Interface ID (napr. "Tapco")
  • USB interface by path - zo zoznamu dostupných KNX USB zariadení sa vyberie zariadenie, ktorého cesta obsahuje text zadaný parametrom KNX Interface ID (napr. "Tapco4d1e55b2")
  • IP interface (IP address, port, protocol, NAT) - použije sa zariadenie, ktorého IP adresa je v parametri KNX Interface ID
-USB interface by position

Kotva
iid
iid
KNX Interface ID

Identifikácia otváraného KNX adaptéra, ktorá závisí od vybraného typu KNX rozhrania - viď popis parametra KNX Interface Type

YES/NONO
Kotva
iidiid
Kotva
iidiid
Kotva
iidiid

...

  • Komunikačný protokol: General Electric SRTP.
  • Adresný parameter sa nepožaduje žiadny, na jednej komunikačnej linke je možné komunikovať iba s zariadením.
    Pozn: na jednej linke môže byť viac staníc napr. kvôli rôznym časovým parametrom (rozdelenie na rýchle a pomalé body).

...

Možné typy hodnôt bodov: Ai, Ci, Di, TiR,TxtI, Ao, Co, Dout, ToR, TxtO

Adresa meraného bodu má formát [+]MemoryArea Position[:StringLength] [Count]

...

. Môže to byť poradové číslo USB rozhrania, časť jeho názvu alebo cesty, prípadne IP adresa KNX routra.

-0

Kotva
ipp
ipp
IP Interface Port

Ak KNX Interface ID = "IP interface", tak tento parameter udáva číslo portu (TCP alebo UDP), na ktorom KNX router komunikuje. Štandardné číslo portu je 3671.-3671

Kotva
ipl
ipl
IP Interface Protocol

Ak KNX Interface ID = "IP interface", tak tento parameter udáva, či je na komunikáciu s KNX routrom použitý UDP alebo TCP protokol:

  • Automatic - automatické zistenie (prednastavená hodnota)
  • UDP - použije sa UDP protokol
  • TCP - použije sa TCP protokol

Automatic
UDP
TCP

Automatic

Kotva
nat
nat
IP Interface NAT

Ak KNX Interface ID = "IP interface" a komunikuje sa cez UDP protokol, tak tento parameter udáva, či sa má použiť pri komunikácii preklad adries (NAT).YES/NONO

Kotva
ia
ia
KNX Interface Address (x.y.z)

KNX adresa, ktorú je možné nastaviť KNX rozhraniu po jeho otvorení. Ak nie je zadaná, použije sa existujúca adresa KNX rozhrania.
KNX adresa má formát area.line.device (napr. 1.3.99) kde area je 0..15, line je 0..15, device je 0..255.

--

Kotva
sk
sk
Security Keys

Názov súboru s bezpečnostnými kľúčmi. Pokiaľ je použitá zabezpečená komunikácia (secure group communication), tento súbor (tzv. keyring súbor - *.knxkeys) je možné exportovať z konfiguračného nástroj ETS, ktorý je dostupný na stránkach KNX asociácie.

Parameter obsahuje tieto symbolické mená:

  • #APPDIR# - nahradí sa cestou k aplikačnému adresáru (napr. D:\D2000\D2000.APP\myapp\)
    Príklady: 
    #APPDIR#myfile.knxkeys
    D:\keys.knxkeys
--

Kotva
sp
sp
Security Password

Heslo na prístup k súboru s bezpečnostnými kľúčmi. 
Poznámka: Pokiaľ je použitá zabezpečená komunikácia, musia byť zadané obidva parametre - Security Keys aj Security Password.
--

Kotva
dd
dd
Driver Debug

Zapnutie ladiacich informácii modulu d2knx.YES/NONO

Kotva
fd
fd
Full Debug

Zapnutie ladiacich informácií o čítaných/zapisovaných hodnotách.YES/NONO

Kotva
komunikacna_stanica
komunikacna_stanica
Konfigurácia komunikačnej stanice

...

  • Komunikačný protokol: KNX Protocol.
  • Adresa stanice:
    • GROUP - Merané body na stanici s adresou GROUP budú dostávať všetky hodnoty typu Group address z komunikácie.
    • area.line.device - Adresa konkrétneho KNX zariadenia (napr. 1.3.99), kde area je 0..15, line je 0..15, device je 0..255. Merané body na stanici s konkrétnou adresou budú dostávať hodnoty iba pokiaľ boli prijaté od KNX zariadenia s touto adresou.

Poznámka: je možné na konfigurovať niekoľko staníc s tou istou adresou (s konkrétnou adresou alebo s adresou GROUP) napr. kvôli nastaveniu rôznych časových parametrov pre vyčítavanie jednotlivých meraných bodov.

Parametre protokolu stanice

...


Môžu byť zadané nasledovné parametre protokolu stanice:

ParameterPopisJednotka / rozmerNáhradná hodnota

Kotva
rga
rga
Read Group Addresses

Spôsob explicitného čítania meraných bodov typu Group address:

  • Never - merané body nie sú nikdy čítané explicitne, zberajú sa iba spontánne prijaté hodnoty
  • Once - merané body sú čítané explicitne iba po štarte (prípadne po reštarte) komunikácie
  • Always - merané body sú čítané explicitne v rámci každého čítacieho cyklu (podľa nastavenia časových parametrov stanice)
Never
Once
Always
Once

Kotva
rgp
rgp
Read Group Priority

Priorita čítania použitá pri explicitnom čítaní meraných bodov typu Group address:

  • System (0)
  • High (1)
  • Alarm (2)
  • Low (3)
-Low

Kotva
rgt
rgt
Read Group Timeout

Timeout na odpoveď pri explicitnom čítaní meraných bodov typu Group address. Povolené hodnoty sú 0-60000 ms.
Hodnota 0 znamená defaultný timeout definovaný KNX ovládačom.

ms0


Kotva
merany_bod
merany_bod
Konfigurácia meraných bodov

...

Možné typy hodnôt bodov: TxtI, Di, Ai, Ci, TiR, TiA, TxtO, Dout, Ao, Co, ToR, ToA, Qi


Image Added

Jednotlivé komponenty adresy:

Group address: skupinová adresa (16-bitové číslo). Má tri možné formáty:

  • trojúrovňová adresa: main/middle/sub, kde main = 0..31, middle = 0..7, sub = 0..255. Príklad: 1/2/24
  • dvojúrovňová adresa: main/sub, kde main = 0..31, sub = 0..2047.
    Príklad: adresa 1/536 zodpovedá 1/2/24 (lebo 2 * 256 + 24 = 536)
  • priamo číslo 1..65535 (skupinová adresa 0 nie je povolená). 
    Príklad: adresa 2584 zodpovedá 1/2/24 (lebo 1 * 2048 + 2 * 256 +24 = 2584)

Attribute: ktorý atribút prijatej správy so skupinovou hodnotou je zverejnený v meranom bode:

  • Value - samotná hodnota. Jej interpretácia závisí od nastavenia Value type (reading)
  • Flags - textové príznaky:
    • r - jedná sa o správu čítania hodnoty
    • w - jedná sa o správu zápisu hodnoty
    • o - jedná sa o odpoveď
    • s - jedná sa o zabezpečenú komunikáciu (secure)
  • Source Address - KNX adresa zariadenia, ktoré správu odoslalo (vo formáte area.line.device, napr. 1.0.24)
  • Priority - číselná priorita správy:
    • System (0)
    • High (1)
    • Alarm (2)
    • Low (3)
  • Size - veľkosť prijatej hodnoty v bitoch

Pozn: pri explicitnom čítaní meraných bodov typu Group address sa čítajú iba tie, ktoré majú nakonfigurované Attribute=Value. Z prijatej odpovede sú zistené okrem hodnoty aj ďalšie atribúty.

Pozn: pri spracovaní spontánnych správ so skupinovými hodnotami sú postupne spracované atribúty Flags, Source Address, Priority, Size a až nakoniec Value.

Value type (reading): pre Attribute=Value spôsob interpretácie prijatej hodnoty:

  • Unsigned Int - hodnota je interpretovaná ako celé číslo bez znamienka (prípadne ako hodnota True/False)
  • Signed Int - hodnota je interpretovaná ako celé číslo so znamienkom 
  • Float - hodnota je interpretovaná ako reálne číslo (2, 4 alebo 8-bajtové)
  • String - hodnota je interpretovaná ako reťazec (reťazec v KNX protokole má 14 znakov)
  • TimeOfDay (3B) - 3-bajtová hodnota je interpretovaná ako čas v rámci dňa (DPT_TimeOfDay) - typ hodnoty musí byť 
  • Date (3B) - 3-bajtová hodnota je interpretovaná ako dátum (DPT_Date) - typ hodnoty musí byť TiA/ToA
  • DateTime (8B) - 8-bajtová hodnota je interpretovaná ako dátum a čas (DPT_DateTime) - typ hodnoty musí byť TiA/ToA

Pozn: pre meraný bod s hodnotou typu TiA/ToA je možné spracovať hodnotu typu DPT_DateTime (8-bajtový dátum a čas) - je nutné nastaviť Value type (reading) = Unsigned Int

Value subtype (writing): pre Attribute=Value spôsob zakódovania hodnoty pri zápise:

  • pre Value type = Unsigned Int:
    • Bool
    • TwoBit
    • FourBit
    • SixBit
    • Unsigned Byte (1B)
    • Unsigned Short (2B)
    • Unsigned Int (4B)
    • Unsigned Long (8B)
  • pre Value type = Signed Int:
    • Signed Byte (1B)
    • Signed Short (2B)
    • Signed Int (4B)
    • Signed Long (8B)
  • pre Value type = Float:
    • Short Float (2B)
    • Float (4B)
    • Double (8B)
  • pre Value type = String:
    • String (14B)

Poznámka: merané body, ktoré majú v záložke Ovládanie výstupu nastavený parameter Charakter výstupu na Príkaz, nebudú čítané. V protokole KNX sú bežné objekty, do ktorých sa dá zapisovať, ale nedá sa z nich čítať, takže čítanie by skončilo s chybou, ktorá by spôsobila zneplatnenie hodnoty meraného bodu v D2000 - takéto merané body treba nakonfigurovať ako Príkaz.

Browse

Pre merané body je možné zistiť zoznam objektov a ich dátové typy, pokiaľ KOM proces beží a komunikácia so stanicou je nadviazaná.
Po kliknutí na tlačidlo Browse sa otvorí okno KNX Item Browser a zobrazí sa zoznam doteraz načítaných hodnôt. Zoznam objektov sa vytvára dynamicky v dôsledku prijatých správ (odpovedí na explicitné výzvy ako aj v dôsledku spontánneho príchodu hodnôt).

Zoznam objektov je dynamický, t.j. pri príchode novej hodnoty do KOM procesu je aktualizovaný. Podporované je aj filtrovanie v jednotlivých stĺpcoch, v maske je možné používať hviezdičky (napr. 0/0/*).

Dvojité kliknutie na konkrétny riadok spôsobí, že sa parameter Group address vloží do konfigurácie meraného bodu, z ktorého bolo okno KNX Item Browser otvorené.

Tlačidlo Refresh spôsobí vymazanie zoznamu hodnôt v CNF aj v KOM procese.

V stĺpci Value sa nachádza prijatá hodnota interpretovaná ako celé číslo bez znamienka, celé číslo so znamienkom (iba ak je odlišné od čísla bez znamienka) a reálne číslo (ak má dĺžku 16/32/64 bitov), prípadne ako text (ak má dĺžku 14*8 bitov).

Image Added

Kotva
literatura
literatura
Literatúra

...

https://en.wikipedia.org/wiki/KNX_(standard

MemoryArea špecifikuje typ pamäte:

...

Podľa dokumentácie FANUC Robot series R-J3/R-J3iB/R-30iA CONTROLLER CIMPLICITY HMI for Robots OPERATOR’S MANUAL, kapitola 6 - ADDRESS ASSIGNMENT TO POINTS, podkapitola 6.1 - READING AND WRITING I/O SIGNALS (%I, %Q, %M, %AI, %AQ) sú rôzne typy I/O signálov mapované na premenné SRTP protokolu takto:

...

Podľa rovnakého dokumentu, podkapitola 6.2 - READING FROM AND WRITING TO REGISTERS (%R) je štandardné mapovanie registrov z radiča robota na adresy v PLC :

...

Hodnoty v registroch sú 16-bitové čísla so znamienkom, desatinné časti sú odrezané. 
Dokumentácia ďalej uvádza, že toto štandardné mapovanie je možné zmeniť pomocou systémovej premennej $SNPX_ASG. Táto umožňuje nastaviť multiplikátor pri prevode a zmeniť mapovanie registrov. Jeden register môže byť mapovaný do jednej premennej %R (16-bitové číslo so znamienkom), do dvoch za sebou idúcich premenných %R (32-bitové číslo so znamienkom, použite v adrese meraného bodu %RD) alebo do dvoch za sebou idúcich premenných %R ako reálne číslo (32-bitové float číslo , použite v adrese meraného bodu %RF).

Štandardné mapovanie registrov R zabezpečuje nastavenie $SNPX_ASG[1]:

...

Pri tomto nastavení budú registre R[1] .. R[10000] mapované na registre %R1 .. %R10000 ako 16-bitové čísla so znamienkom.

Štandardné mapovanie pozičných registrov PR (určených na ukladanie pozícii robota) zabezpečuje nastavenie $SNPX_ASG[2]:

...

Pri tomto nastavení budú jednotlivé zložky polohy (X, Y, Z, W, P, R atď) uložené ako 32-bitové float čísla na adresách %RF11000, %RF11002, %RF11004 atď (50 registrov na jeden PR, celkove 100 registrov na PR[1] a PR[2].  Viac detailov viď podkapitola 6.3 READING FROM AND WRITING TO POSITION REGISTERS (%R).

Štandardné mapovanie registra aktuálnej pozície POS zabezpečuje nastavenie $SNPX_ASG[3]:

...

Pri tomto nastavení budú jednotlivé zložky aktuálnej polohy (X, Y, Z, W, P, R atď) uložené ako 32-bitové float čísla na adresách %RF12000, %RF12002, %RF12004 atď (50 registrov na jeden POS, celkove 100 registrov na POS[0] a POS[1].  Viac detailov viď podkapitola 6.4 READING AND WRITING THE CURRENT POSITION (%R).

Mapovanie ALM registrov obsahujúcich históriu alarmov je možné nastavením $SNPX_ASG[x]:

...

Pri tomto nastavení budú jednotlivé zložky histórie alarmov (AlarmID, Alarm number, Alarm severity, Alarm message) prístupné na nakonfigurovaných adresách (100 registrov na jeden ALM, tj. 300 registrov pokryje 3 alarmy). Viac detailov viď podkapitola 6.5 READING ALARM HISTORY (%R).

Mapovanie PRG registrov obsahujúcich stav vykonávania programu (program execution status) je možné nastavením $SNPX_ASG[x]:

...

Pri tomto nastavení budú jednotlivé zložky stavu vykonávania programu (Program name, Line number, Execution status, Calling program name) prístupné na nakonfigurovaných adresách (18 registrov na jeden PRG). Viac detailov viď podkapitola 6.6 READING THE PROGRAM EXECUTION STATUS (%R).

Mapovanie rôznych systémových premenných je takisto možné nastavením $SNPX_ASG[x]. Príklad:

...

Pri tomto nastavení bude v registroch 12420 a 12421 systémová premenná OVERRIDE (položka $genoverride systémovej premennej $mcr) ako 32-bitový integer (adresa %RD12420, prístup na čítanie aj zápis). Viac detailov viď podkapitola 6.7 READING FROM AND WRITING INTO SYSTEM VARIABLES (%R).

Mapovanie komentárov k registrom, pozičným registrom a I/O je takisto možné nastavením $SNPX_ASG[x]. Príklad:

...

Pri tomto nastavení budú v registroch %R12420 až %R12599 komentáre k registrom R1 až R4 (40 registrov, t.j. 80 znakov na komentár - adresy %R12440:40, %R12480:40, %R12520:40 a %R12560:40). Podobne je možné nakonfigurovať komentáre k iným typom objektov (napr. 'PR[C1]', 'DI[C2]', 'GI[C1]', 'GO[C1]' atď). Viac detailov viď podkapitola 6.8 READING AND WRITING THE COMMENT OF REGISTERS, POSITION REGISTERS, AND I/O (%R).

Mapovanie hodnôt I/O a stavu simulácie je takisto možné nastavením $SNPX_ASG[x]. Príklad:

...

Pri tomto nastavení budú v registroch %R12430 až %R12433 stavy simulácie výstupov RO[1] až RO[4]. Podobne je možné nakonfigurovať stavy simulácie iných typov objektov (napr. 'DI[S1]', 'DO[C2]', 'DO[S1]', 'RI[S1]' atď) ako aj hodnoty týchto objektov (napr. 'DI[1]', 'DI[2]', 'UO[1]', 'SI[1]' atď). Viac detailov viď podkapitola 6.9 READING AND WRITING THE VALUE AND SIM STATUS OF I/O (%R).

...

https://en.wikipedia.org/wiki/Service_Request_Transport_Protocol

FANUC Robot series R-J3/R-J3iB/R-30iA CONTROLLER CIMPLICITY HMI for Robots OPERATOR’S MANUAL (R-30iA CONTROLLER CIMPLICITY HMI for Robots_[B-82604EN_01].pdf)

Kotva
zmeny_upravy
zmeny_upravy
Zmeny a úpravy

...

Kotva
revizie
revizie
Revízie dokumentu

...

  • Ver. 1.0 - 1213. marec máj 2020 - Vytvorenie dokumentu.
  • Ver. 1.1 - 11. júl 2022 - Podpora pre čítanie DPT_TimeOfDay, DPT_Date, DPT_DateTime.


Info
titleSúvisiace stránky:

Komunikačné protokoly

...