Promotic

PmKNX - Driver do komunikacji poprzez protokół KNX

Driver ten służy do komunikacji poprzez protokół KNX.
Patrz Komunikacja poprzez protokół KNX.

Driver jest przeznaczony do transmisji telegramów KNX poprzez KNXnet/IP router (tzw. KNXnet/IP routing - service 0530h, ROUTING_INDICATION).
Przy pomocy obiektu PmaCommGroup aplikacja PROMOTIC potrafi wysłać wiadomości Master (odczyt oraz zapis) do KNXnet/IP routera.
Przy pomocy obiektu PmaCommMsg aplikacja PROMOTIC potrafi w dowolnej chwili odebrać wiadomość Slave, wysłana z KNXnet/IP routera bez aktywnego zapytania.

Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy obejżeć "PROMOTIC wideo kurs 4 - Drivery komunikacyjne".

Podstawowe właściwości drivera:
- Zastosowanie tego drivera wymaga zakup licencji PmKNX. Podczas wytwarzania aplikacji w trybie freeware PmFree lub z licencją deweloperską oraz podczas jej testowania w runtime element ten jest zawsze funkcjonalny.
- Komunikacja jest dla Ethernetu (aplikacja PROMOTIC jest klientem).
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmaComm.
Driver wspiera zastosowanie obiektów PmaCommMsg oraz PmaCommGroup. Dla zwykłych przypadków transmisji danych dogodniejszym jest zastosowanie obiektu PmaCommGroup.
Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "KNX"
- Driver wspiera typy danych, które są opisane w rozdziale Typy danych (Datapoint Types) protokołu KNX.


Zalecone wartości parametrów obiektu PmaComm:

Zalecane wartości dla pozycji Parametry Ethernet-klient:
Adres sieciowy224.0.23.12
Jest to adres IP multicast interfejsu KNXnet/IP (można zmienić).

Adres Multicast to logiczny identyfikator grupy hostów w sieci komputerowej, którzy są dyspozycyjni do opracowania datagramów.
Komunikacja poprzez adres multicast spowoduje, iż komunikacja przebiega z wszystkimi hostami w grupie (w odróżnieniu od "zwykłego" adresu IP, kiedy komunikacja przebiega tylko z jednym hostem).
Adresy Multicast:
- dla IPv4: wszystkie aresy IP w zakresie 224.0.0.0239.255.255.255
- dla IPv6: wszystkie aresy IP z prefiksem ff00::/8
Numer zdalnego portu TCP/UDP3671
Jest to oficjalnie zarejestrowany port IP dla KNX Association (można zmienić).
Typ transmisji EthernetUDP
Opis i zalecane wartości dla pozycji Parametry protokołu:
Ten konfigurator nie jest stosowany przez dany driver.

Opis komunikacji przy pomocy obiektu PmaCommGroup

Dla niniejszego drivera komunikacyjnego można zastosować obiekty PmaCommGroup. Dla zwykłych transmisji danych jest to bardziej dogodne niż zastosowanie obiektu PmaCommMsg.
Zmiennych w obiekcie PmaCommGroup (lub jeszcze lepiej zmiennych w obiekcie PmaData z rozszerzeniem danych ExtComm) może być dowolna ilości, mogą być dowolnego typu danych i w dowolnej kolejności. Driver sam w zoptymalizowany sposób odczyta dane z urządzenia przy pomocy wewnętrznie wytworzonych wiadomości komunikacyjnych. Dla każdej odczytywanej zmiennej zostanie wysłany samodzielny KNX telegram.
Odczytywane są wszystkie zmienne (jeżeli konfigurator "Odświeżanie danych zezwolone" jest zaznaczony). Przy zapisie do zmiennej do urządzenia jest odesłana tylko zapisywana zmienna (jeżeli konfigurator "Automatycznie przesyłaj przy zapisie do pozycji" jest zaznaczony).

Opis konfiguratora "ItemId":
ItemId jest identyfikator tekstowy pozycji, który służy do adresacji pozycji w urządzeniu. Z konfiguratora ItemId driver stwierdzi, w jaki sposób ma zostać wartość pozycji wczytana lub wysłana.
Tekst można wpisać ręcznie, lub ułożyć w oknie, które zostanie otwarte przy pomocy przycisku wprawo od konfiguratora.
Do wprowadzenia można zastosować Makro wyrażenie (wartość jest obliczana po uruchomieniu aplikacji).

Identyfikator ItemId ma postać:
KnxType,AddrType,Addr,AddrWrite

gdzie:
- KnxType = Identyfikator typu danych KNX w formacie 999.9999 (patrz Typy danych (Datapoint Types) protokołu KNX)
- AddrType = Typ adresacji.
0 = Adres Addr jest przeznaczony do odczytu i zapisu i AddrWrite nie określa się
1 = Adres Addr jest przeznaczony do odczytu i AddrWrite jest przeznaczony do zapisu
- Addr = Adres grupowy KNX (group address) w formacie main/middle/sub.
- AddrWrite = Adres do zapisu.
Określa się tylko jeżeli AddrType==1.
Określa się tylko sub część adresu grupowego KNX do zapisu (main oraz middle część adresu jest zgodna z Addr)

Przykłady formy identyfikatora:
5.005,0,2/4/7
Identyfikator ItemId pozycji typu danych 5.005 (=DPT_DecimalFactor, Long).
Pozycja znajduje się pod adresem 2/4/7 do odczytu i zapisu.
1.018,1,2/1/80,81
Identyfikator ItemId pozycji typu danych 1.018 (=DPT_Occupancy, Boolean).
Pozycja jest do odczytu pod adresem 2/1/80 a do zapisu pod adresem 2/1/81.


Opis konfiguratora "PmaCommGroup > Parametry > Parametry specjalne":
Sprawdź zapis przez odczytOkreśla, czy i w jaki sposób sprawdzać wynik zapisu do zmiennej.
1 - Brak kontroli zapisu - Nie będzie sprawdzane, czy rzeczywiście zostało zapisane.
2 - Tylko jeżeli odczyt i zapis z tego samego adresu KNX - Będą sprawdzane tylko te pozycje, które w ItemId nie mają określony AddrWrite
3 - Dla wszystkich adresów KNX - Będzie sprawdzane dla wszystkich zapisowanych pozycji

Opis komunikacji przy pomocy obiektu PmaCommMsg

Obiekt PmaCommMsg jest przeznaczony do odbioru wiadomości typu Slave i dlatego jest konieczne konfigurator "Typ wiadomości" ustawić na "Slave".

Lista oraz opis wiadomości komunikacyjnych: Istnieje tylko jeden typ wiadomości:

Odbiór niechcianych wiadomości:
Odczyt tzw. "wiadomości Slave", tzn. wiadomości wysłanych z KNXnet/IP routera bez aktywnego zapytania.
W karcie "Dane-wysłanie" nie ma żadnej zmiennej.
W karcie "Dane-odbiór" znajdujuą się zmienne:
MsgType - (Long) Odczytana wiadomość jest typu odczyt (wartość 1) lub typu zapis (wartość 2)
SourceAddress - (String) Adres urządzenia KNX, które wysłało wiadomość
TargetAddress - (String) Adres urządzenia KNX, do którego została wysłana wiadomość
Value - (String) Wartość przesyłana w wiadomości. Wartość ta to łańcuch typu HexaString. Ten można następnie opracować np. przy pomocy obiektu PmBuffer (patrz metoda PmBuffer.SetHexaString).

Historia:
Pm9.00.14: Wytworzono
© MICROSYS, spol. s r.o.