Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onEndOfTransfer - zdarzenie obiektu PmaCommMsg

Opis:
Zdarzenie jest wywołane po transmisji całej wiadomości z dowolnym rezultatem. To można zastosować na przykład do stwierdzenia, czy wiadomość została przeniesiona z powodzeniem.
Parametry:
pMe(Object) Odniesienie do PmaCommMsg obiektu, w którym dane zdarzenie powstaje.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.Error - (Long) Wartość powodzenia przeniesienia wiadomości.
0 - transmisja przebiegła pomyślnie
4 - transmisja przebiegła bez błędów, lecz została odebrana mniejsza ilość danych niż oczekiwano
5 - transmisja przebiegła bez błędów, lecz została odebrana większa ilość danych niż oczekiwano
21 - błąd ustawienia wiadomości (niepoprawnie ustawiona karta Dane-wysłanie, Dane-odbiór lub Parametry)
24 - timeout odbioru (nie została odebrana wystarczająca ilość znaków)
33 - błąd oprogramowania
62 - negatywne potwierdzenie
65 - niepoprawnie wysłane dane (np. niepoprawnie ustawiona karta komunikacyjna)
66 - niepoprawnie odebrane dane (np. błąd sumy kontrolnej)
67 - nie można nawiązać połączenia z serwerem (Ethernet) lub port nie jest przygotowany do komunikacji (łącze szeregowe).
Notatka:
Wywołanie tego zdarzenia można także emulować w INFO systemie, kiedy podczas przeglądania tego obiektu zostanie naciśnięty przycisk "Akcje". Patrz uprawnienie "PmaRoot > Uprawnienia > InfoEdit".

Stan błędów można stwierdzić również po tym zdarzeniu przy pomocy właściwości LastErr oraz LastTextErr. Łączną ilość błędów można stwierdzić przy pomocy metody PmaCommMsg.GetCount lub PmaComm.GetCount (stosowne do stwierdzania problemów w komunikacji).

Przykład:
Następujący skrypt w zdarzeniu odczyta otrzymaną wartość z komunikacji oraz po przeliczeniu zapisze ją do zmiennej w obiekcie PmaData.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var val = pMe.ReadVars(0).Value;
pMe.Pm("/Kociol1/Data/#vars/Temperatura").Value = 100 + 10 * val;
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice