Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmElgas2 - Driver do komunikacji z urządzeniami firmy Elgas

Niniejszy driver służy do komunikacji z urządzeniami firma ELGAS s r.o. poprzez protokół ELGAS-2. Patrz Komunikacja z miernikami firmy Elgas (Czechy).

Na przykład chodzi o urządzenia:

- ELCOR-2 (przelicznik ilości gazu)
- DATCOM-2 (elektroniczny rejestr danych przeznaczony do pomiaru temperatury oraz ciśnienia gazu)
- DATCOM-RTU (system monitorowania procesów technologicznych, pilnowanie wartości granicznych, do regulacji powolnych procesów ..)
- DATCOM-AMR2 / 3 (GSM/GPRS komunikator dla zdalnego transferu danych przeliczników ilości gazu)
- miniELCOR / maxiELCOR (bateriowy przelicznik ilości gazu przeznaczony do środowisk o zagrożeniu wybuchu)
 
Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy zaznajomić się z rozdziałem: Komunikacja przy pomocy driverów PROMOTIC.
 
Podstawowe właściwości drivera:
- Wykorzystanie tego drivera jest powiązane z zakupem licencji: PmElgas2. Z wersją freeeware PmFree lub przy opracowywaniu aplikacji (z licencją deweloperską w celach testowania) element ten zawsze funkcjonuje.
- Komunikacja przebiega poprzez Ethernet lub po łączu szeregowym komputera (COM1, COM2 ...). W chwili obecnej jest zaimplementowana transmisja po Ethernecie takich samych danych jak dla łącza szeregowego.

Nawet jeżeli urządzenie nie posiada łącza Ethernet, można do niego podłączyć przetwornik "łącze szeregowe-Ethernet" a po stronie PROMOTIC aplikacji wtedy przeprowadzać komunikację poprzez Ethernet.

- Aplikacja PROMOTIC jest z punktu widzenia tej komunikacji MASTER (tzn. wywołuje transmisję danych).
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmComm.

Ten driver wspera wykoystanie obiektu:

- PmCommData dla odczytu bieżących wartości zmiennych z urządzenia.
- PmCommMsg dla odczytu z archiwum, odczyt bieżącej konfiguracji urządzenia oraz odczyt czasu w urządzeniu.

Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "Urządzenia ELGAS"

 
Adresacja urządzenia:

Urządzenie jest standardowo wyposażone w łącze szeregowe RS-232, ale również może posiadać RS-485. Wtedy można zastować więcej urządzeń w sieci ale należy je zaadresować. Adres urządzenia składa się z dwu części. Jeżeli nie ma większej ilości urządzeń, wtedy obie części mogą posiadać wartość 0. Adresy wprowadzane są w obiektach PmCommData i PmCommMsg.

- Adres sieciowy urządzenia część 1: Dwubajtowy adres (0-65535), który określa urządzenie końcowe w danej sieci. Wartość 0 oznacza dowolne urządzenie i ma sens tylko jeżeli w danej sieci jest tylko jedno urządzenie.
- Adres sieciowy urządzenia część 2: Jednobajtowy adres (0-255), który określa numer sieci. Wartość 0 oznacza dowolną sieć oraz ma sens tylko jeżeli jest tylko jedna sieć.
 
 

Zalecone wartości parametrów:

Zalecane wartości dla pozycji Parametry łącza szeregowego:
Prędkość transmisjiod 9600 Bd do 38400 Bd
Ilość bitów informacji8
ParzystośćNO (żaden)
Ilość bitów stopu1
Sterowanie działaniem RTSlog.1.

Konstrukcja urządzenia wymaga zewnętrznego zasilania obwodów interfejsu. Mogą one być zasilane przez sygnały linii RTS i DTR (logiczna 1) bezpośrednio z portu szeregowego komnutera. Alternatywnym może być zasilanie obwodów urządzenia przy pomocy zewnętrznego zasilania +6V až +12V podłączonego do niektórych z par sygnałów szeregowych RTS resp. DTR.

Sterowanie działaniem DTRlog.1.

Patrz notatka: "Sterowanie działaniem RTS".

 
Zalecane wartości dla pozycji Parametry Ethernet:
W chwili obecnej jest zaimplementowana transmisja po Ethernecie takich samych danych jak dla łącza szeregowego. W tym przypadku można parametry Ethernetu ustawić według parametrów konwertera Ethernet/łącze szeregowe.
 
Opis i zalecane wartości dla pozycji Parametry protokołu:
Limit czasu odbioru odpowiedzi1000 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).

Maksymalna wielkość pakietu danych2048.

Jeżeli do komunikacji został wykorzystany modem danych z ograniczoną długością pakietu danych, wtedy istnieje możliwość ustawić krótszą długość pakietu danych niż 2048 bajtów. Wtedy driver będzie od urządzenia wymagał uzyskanie wiadomości podzielonej do większej ilości mniejszych pakietów.

Zalecane wielkości pakietów:

2048 - Połączenie przy pomocy kabla, IR głowicą, modemem telefonicznym, GSM/CSD komunikacja
1024 - GSM/GPRS komunikacja
512 - Mało przepuszczalne urządzenia, radiokomunikacja
Ilość początkowych zer budzących pakietu40.

Z powodu maksymalnej oszczędności energii urządzenie przechodzi w tryb obniżonego zużycia (snu). Z tego trybu urządzenie budzi się (według informacji producenta) cca 100ms po uzyskaniu jakiegokolwiek znaku. W tym celu driver wykorzystuje szereg zerowych znaków z możliwością ustawienia. Jest sprawdzonym, że przy prędkości 38400Bd jest pierwszych 40 znaków dostarczających (cca 10.5 ms).

Opis komunikacji przy pomocy obiektów PmCommData

Obiekt PmCommData służy do odczytu bieżących wartości określonych zmiennych. Każda zmienna jest określona​nazwą obiektu oraz numerem instancji obiektu.
 
Zmiennych w obiekcie PmCommData (albo jeszcze lepiej zmiennych w obiekcie PmData 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.

Odczytywane są wszystkie zmienne (jeżeli jest włączony konfigurator Odświeżanie danych zezwolone). Dla tego drivera nie jest umożliwiony zapis do urządzenia.

 
Opis konfiguratora ItemID:

ItemId jest identyfikatorem tekstowym pozycji, który służy do adresacji parametru 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ć przy pomocy okna, które zostanie otwarte przy pomocy przycisku wprawo od konfiguratora. Do wprowadzenia można wykorzystać Makro wyrażenie (wartość jest obliczana przy uruchomieniu aplikacji).

ItemID ma postać IdentyfikatorObiektu.NumerInstancjiObiektu, gdzie IdentyfikatorObiektu może być:

AnalogVal: Analog Value
Counter: Counter
CounterDbl: Counter Double
CounterOut: Output Counter
CounterInr: Internal Counter
CounterCor: Correctional Counter
CounterStd: Standardized Counter
CounterRes: Reserve Counter
CounterResDbl: Reserve Counter double
CounterResStd: Standardized Reserve counter
CounterTar: Tariff Counter
CounterTarStd: Standardized Tariff Counter
CounterDif: Differential Counter
CounterDifStd: Standardized Differential Counter
Flow: Flow
FlowStd: Standardized Flow
RecalcQ: Conversion coefficient
Compress: Degree of Compressibility
CompressZ: Degree of Compressibility Z
CompressZb: Degree of Compressibility Zb
FuelEff: Calorific Value
Energy: Energy
EnergyRes: Reserve Energy
BinaryVal: Two-State Variable
DeviceErr: Device Error
AlarmSum: Sum of Alarms
SetPoint: Set Point
AnalogStat: Statistical Analog Value
AnalogTimStat: Statistical Analog Time
FlowStat: Statistical flow
FlowTimStat: Statistical flow time
CounterStat: Statistical Counter
CounterStatStd: Statistical Counter Standardized
Timer: timer
TimePeriod: Time Period
Tariff: Tariff
Status: Status
 
Opis konfiguratora PmCommData > Parametry > Parametry specjalne:
Adres sieciowy urządzenia część 1Patrz Adresacja urządzenia
Adres sieciowy urządzenia część 2Patrz Adresacja urządzenia

Opis komunikacji przy pomocy obiektów PmCommMsg

Obiekt PmCommMsg wspiera następujące wiadomości:
 
Dla wytworzenia tych wiadomości jest dogodne zastosować konfigurację wstępną:

która wytworzy i wstępnie zkonfiguruje obiekty, panele, skrzyty w zdarzeniach, itd.


- Wczytanie listy dostępnych obiektów:

Ten rodzaj wiadomości wytworzy łańcuch tekstowy, który przekazuje użytkownikowi kilka podstawowych informacji o danym urządzeniu.

 
W zakładce Dane-wysłanie znajdują się zmienne:
Addr1
Addr2 - patrz Adresacja urządzenia
W zakładce Dane-odbiór znajdujuą się zmienne:
ObjectList - Zmienna, która po transmisji będzie zawierać uzyskany łańcuch tekstowy.
 
Przykład zawartości wytworzonego łańcucha tekstowego:
Dane, które będą zawarte w łańcuchu tekstowym znaczenie
Station 1:2 (station) Nazwa stacji   Station 1:2 oznacza, że urządzenie posiada adres sieciowy 1 oraz 2, patrz Adresacja urządzenia.
AnalogVal.0 (Analog Value) Cisnienie p1 kPa S,D,M,E W tej części znajduje się lista dostępnych obiektów
- 1. kolumna zawiera ItemId zmiennej (instancje obiektu)
- 2. kolumna zawiera nazwę obiektu
- 3. kolumna zawiera nazwę zmiennej w urządzeniu
- 4. kolumna zawiera zkróty, które informują, czy zmienna jest zapisana również w archiwum:
S = archiwum danych
D = archiwum dzienne
M = archiwum miesięczne
E = archiwum anomalii
AnalogVal.1 (Analog Value) Temperatura t1 S,D,M,E
Counter.0 (Counter) V1 S,D,M
Status.0 (Status) Status S,D,M
 
Device FW version: 2.10 Tutaj jest informacja o wersji oprogramowania urządzenia. Patrz dokumentacja urządzenia.
Data Archive Record Length: 63 byte Informacje o długości poszczególnych rekordów archiwalnych dotyczących maksymalnej długości odebranego pakietu danych z urządzenia podczas czytania archiwów. Driver posiada dedykowany bufor odbioru pakietów z urządzenia o długości 8192 bajtów. Z tej długości przypada około 8000 bajtów na własne "użyteczne" dane. Jednym z parametrów do czytania usługi archiwa to tylko liczba rekordów. Ponieważ długości tych rekordów może zmieniać się w zależności od konfiguracji urządzenia, warto obliczyć ile rekordów danego archiwum jest driver w stanie podjąć podczas jednego odczytu. Jeżeli projektant zarząda większej ilości rekordów (większy pakiet danych) aniżeli driver jest w stanie odebrać ze względu na ograniczoną wielkość bufora, wtedy driver by dane "odrzucił" i zasygnalizował by błąd.
Day Archive Record Length: 57 byte
Month Archive Record Length: 57 byte

- Odczyt archiwum danych:
- Odczyt dziennego archiwum:
- Odczyt miesięcznego archiwum:
- Odczyt archiwum billingu:

Te 4 wiadomości służą do odczytu archiwum wartości (danych, dzienny, miesięczny oraz bilensowy). Wiadomości posiadają identyczną strukturę, różnią się tylko ilością oraz czasami zapisu w danym archiwum.

 
W zakładce Dane-wysłanie znajdują się zmienne:
Addr1
Addr2 - patrz Adresacja urządzenia
RecordsMax - Ilość maksymalna odebranych rekordów z archiwum.
TimeFrom - Czas, od którego rekordu żądany jest odczyt. Zostaną odczytane rekordy, które następują bezpośrednio ZA tym czasem (tzn. rekordy ze znacznikiem czasu większym niż określony czas).
W zakładce Dane-odbiór znajdujuą się zmienne:
Header - Zmienna typu Array (tablica 2-wymiarowa), w której znajduje się opis kolumn archiwum. Tablica zawiera zawsze 2 wiersze.
Pierwszy wiersz zawiera listę mierzonych zmiennych (identyfikatory ItemId), które są zapisane w archiwum. Pierwsze dwie kolumny zawierają wyznacznik czasu oraz atrybut.
Drugi wiersz zawiera nazwy zmiennych w urządzeniu.
Archive - Zmienna typu Array (tablica 2-wymiarowa) zawiera własne dane archiwum. Jest ona zorganizowana w taki sposób, że każdy wiersz tabelki przedstawia jeden rekord archiwum z wyznacznikiem czasu.
W pierwszej kolumnie znajduje się wyznacznik czasu (typu Date)
W drugiej kolumnie znajduje się atrybut. Znaczenie wartości jest powiązane ze wsparciem czasu letniego:
0 = urządzenie nie rozróżnia "czas letni"
1 = urządzenie rozróżnia "czas letni" i aktualnie rejestruje "czas zimowy"
2 = urządzenie rozróżnia "czas letni" i aktualnie rejestruje "czas letni"
3 = rozróżnianie "czas letni" jest w urządzeniu wyłączone
W następnych kolumnach znajdują się wartości mierzonych zmiennych.
ArchiveRowsCount - Ilość wierszy (ilość wierszy) archiwum
ArchiveColumnsCount - Ilość kolumn archiwum
FWvers - Wersja firmware urządzenia

- Odczyt archiwum skrajności:

Wiadomość służy do odczytu minimalnych oraz maksymalnych watrości archiwum

 
W zakładce Dane-wysłanie znajdują się zmienne:
Addr1
Addr2 - patrz Adresacja urządzenia
W zakładce Dane-odbiór znajdujuą się zmienne:
Header - Zmienna typu Array (tablica 2-wymiarowa), w której znajduje się opis wierszy archiwum skrajności. Tablica zawiera zawsze 2 wiersze.
Pierwszy wiersz zawiera listę mierzonych zmiennych (identyfikatory ItemId), które są zapisane w archiwum.
Drugi wiersz zawiera nazwy zmiennych w urządzeniu.
Archive - Zmienna typu Array (tablica 2-wymiarowa) zawiera własne dane archiwum. Jest ona zorganizowana w taki sposób, że każdy wiersz tabelki przedstawia skrajności jednej zmiennej.
1. kolumna: zawiera wyznacznik czsu minimalną (typu Date)
2. kolumna: zawiera wartość minimalną
3. kolumna: zawiera wyznacznik czsu maksymalną (typu Date)
4. kolumna: zawiera wartość maksymalną
ArchiveRowsCount - Ilość wierszy (ilość wierszy) archiwum
ArchiveColumnsCount - Ilość kolumn archiwum
FWvers - Wersja firmware urządzenia

- Odczyt czasu urządzenia:

Zwraca znacznik czasu (data i czas) w urządzeniu.

 
W zakładce Dane-wysłanie znajdują się zmienne:
Addr1
Addr2 - patrz Adresacja urządzenia
W zakładce Dane-odbiór znajdujuą się zmienne:
Time - Dokładny czas urządzenia (typu Date)
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice