Wspierane są następujące typy transmisji komunikacji:
Uwaga: W celu pozyskiwania danych taki sposób jest za wolny (wszystkie zkonfigurowane dane w urządzeniu są pobierane w formie tekstowej). W niektórych przypadkach chodzi o wielką ilość danych, wtedy odczyt może potrwać nawet kilka minut! Dlatego nie jest zalecane stosowanie w przypadku potrzeby częstego odczytu danych (np. co sekundę).
Tryb rejestrowy umożliwia odczyt oraz zapis wartości. W celu zapisu jest konieczne wprowadzać hasło, dla odczytu hasło nie jest potrzebne.
Standardowy interfejs mierników to łącze szeregowe.
Komunikacja poprzez Ethernet może być realizowana na dwa sposoby:
Uwaga: Zastosowanie w taki sposób z komunikacji poprzez Ethernet posiada wszak techniczne ograniczenie. Nie można dynamicznie zmieniać szybkość transmisji, czego norma wymaga (patrz poniżej)! W takim przypadku takie rozwiązanie jest wskazane tylko dla konfiguracji, gdzie zmiana prędkości nie jest wymagana.
Na przykład moduł CU-E22 dla mierników Landis-Gyr (E650 lub E850) wspiera Ethernet protokoł IEC62056 na porcie 12212 (może również na porcie 4059 ?).
Driver wspiera wykorzystanie obiektu PmaCommMsg. Obiekt PmaCommGroup nie można zastosować.
Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "IEC62056 protokół komunikacyjny"
Według normy IEC62056-21 dla komunikacji z urządzeniami do pomiaru energii korzysta się z niektórych następujących interfejsów:
Głowice optyczne są produkowane w wykonaniu przeznaczonym do podłączenia do łącza szeregowego komputera (RS232), lub do koncentratora USB.
Do tego, by PROMOTIC potrafił komunikować się z głowicą, którą można podłączyć do USB, musi być na głównym komputerze zainstalowany driver emulujący na koncentratorze USB wirtualny COM. Większość odczytujących głowic jest wyposażona w obwód od firmy FTDI (Future Technology Devices International). SO Windows od wersji 7 (jeżeli jest podłączony do internetu) potrafi samodzielnie bez asystencji użytkownika zainstalować drivery. W przypadku korzystania ze starszych wersji SO Windows jest konieczne je pobrać ze strony: http://www.ftdichip.com/Drivers/VCP.htm.
Zastosowanie optycznej głowicy może być niekiedy problematyczne. Niektóre głowice zwracają wysyłane dane jako dane odczytane - wtedy jest konieczne ustawić konfigurator "Filtrować znaki ECHO". Przed użyciem należy przy pomocy testu sprawdzić wzajemną zgodność głowicy z urządzeniem. Nie można polegać na deklarowaną zgodność na podstawie normy. Również należy dbać na skierowanie głowicy (kąt, pod którym jest zamontowana). Niektóre, inaczej sprawne głowice, pracują tylko pod pewnym kątem zamontowania.
Prędkość transmisji | 300 Bd (według normy). W trakcie komunikacji drivera z urządzeniem po łączu szeregowym komputera korzysta się z 2 różnych prędkości komunikacji. Pierwsza szybkość transmisji (typowo 300Bd) jest wykorzystana do nawiązania połączenia z urządzeniem oraz do wymiany podstawowych informacji pomiędzy urządzeniem a driverem. Następnie urządzenie "zaproponuje" nową szybkość transmisji a driver się do niej dostosuje. Chociaż norma określa pierwszą wartość prędkości 300 Bd, niektóre urządzenia mogą być zkonfigurowane na inną prędkość domyślną. Na przykład urządzenia Landis+Gyr wyposażone w jednostkę komunikacji Dialog CU-Bx posiadają domyślną prędkość do zkonfigurowania dlatego, żeby nie dochodziło do zmian prądkości w trakcie komunikacji - i w ten sposób umożliwia komunikację na przykład za pośrednictwem modemów lub tunelów w internecie. |
---|---|
Ilość bitów informacji | 7 (według normy). |
Parzystość | EVEN (parzysty) (według normy). |
Ilość bitów stopu | 1 (według normy). |
Timeout pomiędzy odbiorem 2 znaków | 100 ms (lub więcej). Informacje te nie powinny być jednak zbyt duże. Na przykład dla liczników od firmy LandisGir nie może być więcej niż 1200 ms. |
Timeout odbioru odpowiedzi | 20000 ms. Wyłącznie dla łącza szeregowego. Okres czasu (w milisekundach) w którym driver będzie oczekiwać na odpowiedć po odesłaniu wiadomości. Jeżeli do tego czasu nie zostanie odebrana żadna odpowiedć, wtedy transmisja wiadomości zostanie zakończona (zostanie wywołane zdarzenie onEndOfTransfer z błędem 24 lub 66). Wymiana danych protokołem IEC62056-21 zabierze względnie sporo czasu (kilka dziesiąt sekund)! Z tego powodu w przypadku ustawienia maksymalnej prędkości komunikacji do 9600Bd zalecamy ustawić następujący timeout 20000ms. W przypadku prędkości 1200Bd zalecamy aż 40000ms. |
---|---|
Ilość początkowych zer budzących pakietu | 10. Niektóre urządzenia potrzebują przed samym nawiązaniem komunikacji "obudzić" ze stanu obniżonego zużycia. Tutaj można określić ile zerowych znaków powinien driver wysłać właśnie z tego powodu jeszcze przed rozpoczęciem właściwej komunikacji. |
Ograniczenie prędkości komunikacji | 19200. Wyłącznie dla łącza szeregowego. Jeżeli do połączenia z urządzeniem wykorzystano fizycznyinterfejs danych z ograniczeniem przepływu danych (np. Głowica optyczna), wtedy można takie ograniczenie ustawić właśnie w tym wyborze. Wtedy podczas transfer ów inicjalizacyjnych driver nie dostosuje się do sugerowanej wyższej prędkości, ale sam ją obniży do tutaj określonej wartości. |
Ten typ wiadomości pyta urządzenie o dane a to odpowie wysłaniem jednego (często bardzo długiego) łańcucha danych w formie tekstowej. Te dane są bez większej obróbki zapisane do zmiennej ResultString. Projektant powinien już sam taki tekst podzielić oraz stwierdzić żądane wartości.
Dla wytworzenia takiego typu wiadomości jest wskazane wykorzystać "Konfiguracja wstępna "PmIEC62056 - Zestaw komunikacji z danymi i panelem"". Ta konfiguracja wstępna między innymi wytworzy również skrypt do podzielenia uzyskanego tekstu.
Uwaga: Uzyskany tekst może być naprawdę bardzo długi (nawet kilka set wierszy) a jeżeli urządzenie wspiera tylko wolne prędkości transmisyjne (300Bd, 600Bd, 1200Bd), wtedy cała transmisja jednej wiadomości może przebiegać nawet kilka minut! W urządzeniu można niekiedy ustawić, co ma zostać przekazane w jednej wiadomości a tym można komunikację optymalizować.
Ten tryb komunikacji działa tylko w przypadku urządzeń wspierających tryb C (natomiast nie musi być wspierany każdym takim urządzeniem).
Teoretycznie można w trybie rejestrowym równiaż zapisywać ale w systemie PROMOTIC jest przede wszystkim przeznaczony do odczytu pojedyńczych wartości. Podczas odczytu nie trzeba wprowadzać hasło, ewentualnie hasło jest znane (np. hasło jest 0000).
Dokładna postać polecenia (tzn. wartości, które należy zapisać do zmiennych Param oraz Data) różni się w zależności od typu miernika i należy ją pozyskać z dokumentacji danego urządzenia.
Parametr ten należy określić tylko jeżeli wiadomość ma wykonać przełączenie do trybu rejestrowego (tzn. jeżeli seq:1; lub seq:3;) oraz jeżeli urządzenie wymaga hasło (nawet jeżeli jest np. () lub (0000)).
F.F(01000000)
0.1.0*03(20-03-07 06:54)
2.6.0*03(000.00*kW)
1.8.1*03(283570.39*MWh)
0.9.7(20-03-07)