Promotic

PmaCommMsg - Szczegółowy opis obiektu

Patrz: Obiekt PmaCommMsg

Obiekt jest wytworzony według typu protokołu komunikacyjnego ustawionego w obiekcie PmaComm. Z tego powodu jest stosowne obiekt PmaCommMsg włożyć dopiero po ustawieniu obiektu PmaComm.

Obiekt zawiera dwie grupy zmiennych. Jedna służy do parametryzacji danych do nadania (patrz karta "Dane-wysłanie") a druga grupa służy jako dane odebrane z komunikacji (patrz karta "Dane-odbiór").
Do tych zmiennych można dostępować także w skrypcie (patrz metoda WriteVars oraz metoda ReadVars). Na przykład:
- zapis do pierwszej (indeksowane od 0) zmiennej do nadania:
pMe.Pm("/Comm/Msg1").WriteVars(0).Value = 3.14
- odczyt trzeciej (indeksowane od 0) zmiennej danych odbioru:
a = pMe.Pm("/Comm/Msg1").ReadVars(2).Value


Identyfikatory #rcvvars oraz #sndvars:
W obiekcie PmaCommMsg są przy pomocy identyfikatorów #rcvvars oraz #sndvars udostępniona zmienne (typu PmVar) zdefiniowane w kartach Dane-odbiór oraz Dane-wysłanie. Identyfikatore te można zastosować w metodzie Pm, lub w powiązaniu danych "PP - Powiązanie danych z właściwością Pma obiektu". Na przykład metoda Pm("/Comm/Msg1/#rcvvars/aaa") zwraca odebraną zmienną aaa z obiektu o nazwie "Msg1", który jest typu PmaCommMsg.

Porównanie obiektów PmaCommMsg oraz PmaCommGroup:
- Obiekt PmaCommMsg:
- Jest obiektem "niskiego poziomu" w tym sensie, że kształt danych w tym obiekcie jest wytworzony w zależności od rodzaju wiadomości komunikacyjnej zdefiniowanej przez dany protokół. Jeżeli chcesz na przykład odczytywać rejestry i liczniki, wtedy musisz wytworzyć dwa obiekty PmaCommMsg, ponieważ dany protokół nie umożliwia odczyt rejestrów i liczników w jednej wiadomości.
- Można zastosować dla wszystkich driverów z wyjątkiem drivera PmOpcUaClient, PmS7 oraz PmOmronFINS.
- Obiekt PmaCommGroup:
- Jest w porównaniu z obiektem PmaCommMsg na wyższym poziomie, ponieważ dane odczytywane w tym obiekcie nie są zależne od protokołu. Można w jednym obiekcie na przykład definiować dane dla liczników i rejestrów a obiekt sam w inteligentny sposób rozdzieli przy komunikacji do poszczególnych wiadomości komunikacyjnych.
- Można zastosować dla następujących driverów: PmOpcUaClient, PmModbusMr, PmS7, PmSBUS, PmMBus, PmKNX, PmIEC8705, PmMelsecQA, PmMelsecFXS, PmABradleyDF1, PmFatek oraz PmTeco.
Dla niektórych driverów komunikacyjnych nie można zastosować obiektu PmaCommGroup z zasady (np. dla drivera komunikacyjnego PmChar, ponieważ taki protokół ustawiany przez użytkownika nie posiada żadnej ogólnej adresacji i zależy wyłącznie od użytkownika, jaką wiadomość komunikacyjną wytworzy przy pomocy obiektu PmaCommMsg).
© MICROSYS, spol. s r.o.