TopGAZ 2011-Tel-Ster

Transkrypt

TopGAZ 2011-Tel-Ster
Protokół GAZ-MODEM – porównanie z innymi standardami możliwymi do implementacji w
elektronicznych licznikach gazu
Tomasz Lis
TEL-STER sp. z o. o.
Gaz-Modem jest powszechnie stosowanym w Polsce standardem do komunikacji z elektronicznymi przelicznikami gazu. Zapewnia przekazywanie
bieżących danych telemetrycznych, służących przede wszystkim do monitorowania przepływu gazu, jak również pobieranie danych historycznych
rejestrowanych bezpośrednio w przeliczniku, które są najczęściej wykorzystywane do celów rozliczeniowych i mogą być pobierane okresowo po
zamknięciu okresu rozliczeniowego. W artykule omówiono podstawowe funkcje protokołu oraz przedstawiono alternatywne rozwiązania takie jak
DSfG czy IEC 62056-21.
Wstęp
W momencie, gdy możliwa stała się budowa liczników
elektronicznych, pojawiło się pytanie o sposób komunikacji
z takimi urządzeniami w celu odczytu rejestrowanych przez
nie danych. Zastosowanie istniejących protokołów,
stosowanych w typowych systemach telemetrycznych, nie
rozwiązywało problemu ze względu na specyfikę tego
rodzaju urządzeń. Odmienność ta polega przede wszystkim
na tym, że liczniki operują na dwóch podstawowych typach
danych – wartościach chwilowych mierzonych parametrów
oraz ich wartościach historycznych, rejestrowanych w
sposób cykliczny. Wartości rejestrowane w urządzeniu mają
przy tym często charakter rozliczeniowy. Ponadto w wielu
instalacjach liczniki nie są odczytywane w sposób ciągły, a
jedynie
okresowo
(np.
po
zamknięciu
okresu
rozliczeniowego). Istotną kategorią danych są też
informacje o zdarzeniach mających wpływ na dokładność
mierzonych i rejestrowanych wartości. W typowych
układach telemetrycznych, sterowniki PLC operują
najczęściej wyłącznie na danych chwilowych. Ewentualna
rejestracja tych wartości oraz wykrywanie nieprawidłowości
jest zazwyczaj realizowana przez nadrzędny system
komputerowy (SCADA). W związku z tym, powszechnie
stosowane w systemach SCADA protokoły komunikacyjne
(np. ModBus) nie umożliwiają przesyłania wartości
rejestrowanych oraz zdarzeń. Konieczne zatem było
zdefiniowanie nowych protokołów, które uwzględniałyby
specyfikę liczników elektronicznych. Istnienie wielu różnych
rozwiązań firmowych jest oczywiście niekorzystne dla
użytkowników urządzeń, w związku z czym pojawiło się
dążenie do standaryzacji interfejsów oraz protokołów
komunikacyjnych stosowanych w licznikach. Ze względu na
liczbę produkowanych urządzeń, prace komitetów
normalizacyjnych koncentrowały się na licznikach energii
elektrycznej. W Europie powstał standard IEC 1107
(1992r.), umożliwiający odczyt liczników m.in. za pomocą
złącza optycznego. Standard ten był wielokrotnie
aktualizowany i rozwijany, obejmując swoim zasięgiem
także inne media, jak również rozwiązania firmowe różnych
producentów, takie jak DLMS. Obecnie standard ten nosi
oznaczenie IEC 62056-21. W Ameryce Północnej
opracowano m.in. standard ANSI C12.18 (1996r.). Na rynku
gazowniczym w Niemczech popularność zyskał protokół
DSfG (opracowany w ramach stowarzyszenia DVGW). W
Polsce został natomiast opracowany od podstaw i
ustandaryzowany protokół Gaz-Modem (Polskie Górnictwo
Naftowe i Gazownictwo, norma zakładowa ZN-G-4007 –
1995r.) oraz jego nowsza wersja – protokół Gaz-Modem II
(2001r.). Dzięki temu obecnie przytłaczająca większość
produkowanych i eksploatowanych w naszym kraju
przeliczników gazu jest wyposażona w protokoły GazModem i Gaz-Modem II. W standard ten wyposażane są
również urządzenia zagranicznych producentów, którzy
wprowadzają swoje produkty na polski rynek.
O sukcesie protokołu Gaz-Modem w dużej mierze
zadecydowały zastosowane rozwiązania, wśród których
należy wymienić:
•
stosunkowo
prosta
definicja
protokołu,
umożliwiająca łatwą implementację w urządzeniach
i efektywną transmisję (format binarny),
•
możliwość działania w systemach telemetrycznych
(online) – ciągły odczyt danych chwilowych i
ewentualne pobieranie danych rejestrowanych,
•
możliwość pracy w trybie okresowego odczytu
danych rejestrowanych (rozliczeniowych),
•
możliwość używania protokołu w różnych kanałach
łączności (łącza szeregowe, sieć lokalna, WAN,
GSM/GPRS),
•
możliwość rozszerzania specyfikacji o dodatkowe
funkcje specyficzne dla producenta sprzętu.
Protokół Gaz-Modem
Protokół Gaz-Modem realizuje następujące podstawowe
grupy funkcji:
•
odczyt parametrów konfiguracyjnych,
•
modyfikacja parametrów konfiguracyjnych (GazModem II),
•
odczyt wartości chwilowych,
•
odczyt i synchronizacja zegara,
•
modyfikacja parametrów/sterowanie (Gaz-Modem
II, chronione hasłem),
•
odczyt wartości rejestrowanych,
•
odczyt zdarzeń.
Komunikaty protokołu Gaz-Modem są przesyłane w
ramkach o stałej strukturze:
<0x68>
<długość>
<adres urządzenia pytanego>
<adres urządzenia pytającego>
<funkcja>
<parametry>
<dane>
<suma kontrolna>
<0x16>
Zarówno nadawca jak i odbiorca komunikatu jest
identyfikowany za pomocą 16 bitowego adresu, co
umożliwia jednoznaczną identyfikację ramek i ich
multipleksację w kanale komunikacyjnym. Co więcej,
dostępna pula 65535 adresów umożliwia unikalne
adresowanie wszystkich przeliczników w ramach całego
nadzorowanego układu.
Każda
ramka
chroniona
jest
16
bitowym
zabezpieczeniem
CRC,
umożliwiającym
wykrycie
większości ewentualnych przekłamań zawartości ramki.
Przesyłane wartości parametrów są identyfikowane za
pomocą adresu, mającego formę liczby całkowitej z zakresu
0-65535. W przypadku wersji pierwszej protokołu
specyfikacja jednoznacznie określa adresy podstawowych
parametrów. Producenci urządzeń mogą też dodawać nowe
pozycje, przypisując je do niewykorzystanych adresów. W
przypadku wersji drugiej protokołu, z urządzenia można
odczytać dostępną listę parametrów wraz ich adresami
(oraz dodatkowymi informacjami).
Odczyt danych bieżących wymaga pojedynczej
interakcji z przelicznikiem – system nadrzędny wysyła
zapytanie do przelicznika o określonym adresie,
zawierające informację o numerze pierwszego rejestru i
ilości rejestrów do odczytu (razem 14 bajtów), a w
odpowiedzi przelicznik przesyła żądane dane (14 bajtów + 5
bajtów na każdy parametr). W jednej iteracji możliwe jest do
przesłania 255 wartości.
Odczyt
danych
rejestrowanych
odbywa
się
dwuetapowo. W pierwszej fazie system nadrzędny wysyła
polecenie wyszukania danych z określonego czasu, a w
drugim kroku wysyłane są polecenia pobrania kolejnych
wartości określonego parametru (ilość iteracji zależy od
ilości pobieranych danych). W każdej odpowiedzi
przesyłana jest etykieta czasowa pierwszej wartości, okres
archiwizacji oraz ciąg wartości bez indywidualnych etykiet
czasowych
(w
przypadku
rozszerzeń
protokołu
zaimplementowanych w rejestratorach MacRej II, możliwy
jest odczyt danych rejestrowanych ze zmienną
częstotliwością). W jednym komunikacie przesyłane są
zawsze wartości jednego, wskazanego w zapytaniu
parametru.
Dane są przesyłane w formacie binarnym. W przypadku
wersji pierwszej protokołu są to czterobajtowe liczby
zmiennoprzecinkowe. W drugiej wersji protokołu do
dyspozycji
jest
cała
gama
wartości
stało
i
zmiennoprzecinkowych jak również tekstowych.
Protokół DSfG
Protokół DSfG zakłada występowanie wielu logicznych
jednostek, realizujących poszczególne funkcje systemu.
Przykładami takich jednostek są:
•
korektory (przeliczniki),
•
rejestratory,
•
jednostki kontrolujące skład gazu,
•
jednostki nawaniania,
•
jednostki sterujące,
•
jednostki zdalnego dostępu.
Fizyczne urządzenia mogą realizować funkcje wybranej
jednostki logicznej lub łączyć funkcje kilku jednostek.
Poszczególne elementy systemu komunikują się ze sobą za
pomocą specjalizowanej magistrali DSfG (standardem
łącza fizycznego jest RS-485). Jedna z jednostek pełni
zawszę funkcję zarządcy magistrali, koordynującej
komunikację między poszczególnymi elementami. Do
jednej magistrali może być podłączonych maksymalnie 30
jednostek logicznych (adresy od ‘A’ fo ‘Z’). Dostęp
systemów nadrzędnych (np. SCADA) do urządzeń na
magistrali DSfG realizowany jest za pomocą jednostki DFÜ
(zdalnego dostępu). Zapewnia ona autoryzację dostępu i
odpowiednie mechanizmy pośredniczenia w komunikacji z
urządzeniami podłączonymi do magistrali. Komunikacja z
jednostką zdalnego dostępu odbywa się najczęściej za
pomocą interfejsu RS232 (połączenie bezpośrednie lub
modemowe). W nowych produktach stosowany jest też
interfejs Ethernet. Jednostka zdalnego dostępu może też
udostępniać wybrane dane z systemu DSfG za pomocą
innych protokołów (np. ModBus).
Protokół DSfG jest protokołem tekstowym, w którym
zarówno adresy parametrów jak i ich wartości są
przesyłane w postaci znaków ASCII. Poniżej przedstawiono
przykładowe polecenie odczytu:
<STX><US>255<US>963<US>1<US>1<US>G<US>A<US>J<US>M
<US>7<US>bia<GS>bba<GS>bbb<GS>bbc<GS>bace<GS>baca
<GS>bacc<FS><ETX>
i odpowiedź z danymi:
<STX><US>255<US>963<US>1<US>1<US>A<US>R<US>N<US>M
<US>14<US>baae<US>50682579<GS>baaa<US>2102535092<
GS>baac<US>13336639122<GS>bdde<US>.0<GS>bdfe<US>.
0<GS>bdbe<US>34.210625<GS>bdce<US>.748257<GS>bhfc
<US>0<GS>bba<US>.0<GS>bbb<US>.0<GS>bbc<US>.0<GS>b
ace<US>94677<GS>baca<US>4475067<GS>bacc<US>495614
53<FS><ETX>
Adresy poszczególnych parametrów mają postać ciągu
maksymalnie pięciu znaków. Przykładowo „baaa” oznacza
przepływ
normalny
dla
pierwszego
urządzenia
pomiarowego. Pierwszy znak adresu określa jednostkę
funkcjonalną (w tym przypadku „b” oznacza korektor). Drugi
znak adres precyzuje grupę parametrów (np. liczniki,
pomiary, parametry korekcji, wartości archiwalne,
zdarzenia). Trzeci znak może określać np. numer
urządzenia pomiarowego czy numer kanału archiwizacji.
Czwarty i piąty znak, w miarę potrzeby, w sposób
jednoznaczny precyzują określony parametr w danej grupie.
Specyfikacja DSfG zawiera szczegółowe tabele definiujące
grupy adresów i adresy poszczególnych parametrów, co w
dużej mierze ułatwia identyfikację odczytywanych danych.
Przesyłane ramki mogą być chronione kodem CRC12,
umożliwiającym
wykrycie
większości
ewentualnych
przekłamań zawartości ramki.
Odczyt danych rejestrowanych może wymagać
wcześniejszego pobrania z rejestratora zakresu dostępnych
indeksów, na podstawie których można z kolei określić
zakres czasowy dostępnych danych. Sam proces pobrania
danych polega na przesłaniu do rejestratora odpowiedniego
zapytania, określającego adres parametru oraz okres
czasu. W odpowiedzi rejestrator przesyła komunikat z
wartościami z tego okresu. Każda wartość jest opatrzona
indywidualną etykietą czasową.
Specyfikacja protokołu przewiduje wiele typów
komunikatów oraz opcji, co z jednej strony zapewnia dużą
elastyczność i możliwość konfiguracji systemu w zależności
od potrzeb, natomiast z drugiej strony może powodować
problemy z implementacją protokołu i kompatybilnością
urządzeń.
Protokół IEC 62056-21
Protokół IEC 62056-21 jest protokołem tekstowym
(opcjonalnie dostępny jest tryb binarny HDLC). Urządzenia
mogą pracować w jednym z pięciu trybów: ‘A’ – ‘E’, przy
czym tryb ‘D’ jest protokołem jednokierunkowym (wysłanie
danych przez urządzenie po wzbudzeniu np. przyciskiem),
a tryb ‘E’ jest furtką dla innych protokołów (np. DLMS).
Komunikacja z urządzeniem przebiega etapowo. W
pierwszej fazie następuje wywołanie urządzenia o
określonym adresie (możliwe jest także wywołanie bez
adresu), na które urządzenie odpowiada swoim
identyfikatorem. Adres urządzenia ma postać do 32 znaków
ASCII. Nie jest on przesyłany w kolejnych komunikatach, co
uniemożliwia jednoczesną komunikację z wieloma
urządzeniami (w trybie tekstowym). Po wywołaniu
urządzenia, w trybach ‘A’ i ‘B’, urządzenie spontanicznie
przesyła komplet danych, zawierających najczęściej
wartości chwilowe wybranych wartości mierzonych i
parametrów konfiguracyjnych oraz wartości za ostatnie
okresy rozliczeniowe (tzw. readout). Informacje te są
przesyłane w postaci tekstu składającego się z wierszy, z
których każdy zawiera identyfikator parametru oraz jego
wartość:
1.8.1(0000123.4*kWh)
W przypadku wartości historycznych dodatkowo
zamieszczany jest identyfikator okresu lub czas rejestracji:
32.32.0(0002)(10-11-05 12:56)
Zestaw przesyłanych wartości parametrów jest stały i
nie jest kontrolowany przez stację nadrzędną (jest ustalany
na etapie konfiguracji urządzenia). W praktyce liczniki
przesyłają kilka kilobajtów danych. (Jeśli wykorzystywana
jest tylko część danych, to taki sposób komunikacji jest
bardzo nieefektywny.)
Identyfikatory
poszczególnych
parametrów
są
znormalizowane za pomocą systemu OBIS (Object
Identification System – IEC 62056-61), dzięki czemu
możliwa jest jednoznaczna identyfikacja poszczególnych
wartości. Adresy składają się z 6 elementów:
A-B:C.D.E*F
A – medium (energia elektryczna, gaz, ciepło itd.)
B – kanał
C – typ parametru ( np. moc czynna)
D – rodzaj wartości (np. wartość maksymalna, średnia)
F – taryfa
W przypadku trybów ‘C’ i ‘E’ stacja nadrzędna może
zażądać przesłania standardowego zestawu parametrów
(jak w trybie ‘A’ i ‘B’) lub przejść do tzw. trybu rejestrowego
(co może wymagać przesłania hasła). Na tym etapie
możliwa jest też zmiana prędkości transmisji między
systemem nadrzędnym a urządzeniem (tryb ‘C’). W trybie
rejestrowym możliwe jest wykonywanie komend, między
innymi polecenia odczytu (‘R’) i zapisu (‘W’). W trybie tym
możliwy jest odczyt pojedynczych parametrów, a także
wartości rejestrowanych określonych parametrów (np. tzw.
„profil mocy” dla liczników energii) oraz historii zdarzeń.
Niestety zestaw poleceń dostępnych w trybie rejestrowym
nie jest taki sam dla różnych typów urządzeń, w związku z
tym system nadrzędny musi posiadać informacje o
specyfice danego typu urządzenia.
Poniżej zamieszczono przykładowe zapytanie i fragment
odpowiedzi z profilem mocy:
<SOH>R5<STX>P.01(01103070100;01103080100)<ETX>
<STX>P.01(0110307010000)(0010)(15)(7)
(1.5.0)(kW)(2.5.0)(kW)(5.5.0)(kvar)
(6.5.0)(kvar)(7.5.0)(kvar)(8.5.0)(kvar)
(13.5.0)()
(0.0000)(0.0000)(0.0000)(0.0000)
(0.0000)(0.0000)(1.00)
(0.0000)(0.0000)(0.0000)(0.0000)
(0.0000)(0.0000)(1.00)
…
<ETX>
W odpowiedzi przesyłana jest informacja o czasie,
częstości archiwizacji i ciąg rekordów zawierających
wartości wszystkich dostępnych parametrów z kolejnych
okresów archiwizacji.
Tryb rejestrowy umożliwia praktycznie dowolne
rozszerzanie zastawu dostępnych funkcji, umożliwiając
dowolne dostosowanie urządzeń do aktualnych potrzeb.
Niestety, powoduje to również konieczność wprowadzania
zmian i dostosowywania systemów nadrzędnych, w dużej
mierze niwecząc korzyści wynikające ze standaryzacji.
Porównanie istotnych cech protokołów
W poniższej tabeli zestawiono porównanie istotnych
cech opisanych wcześniej protokołów z punktu widzenia
systemów telemetrycznych.
Cecha
format danych
efektywność
odczytu danych
chwilowych (dla
20 parametrów)
adresy
urządzeń
równoczesny
odczyt wielu
stacji na tym
samym łączu
zabezpieczenie
hasłem
adresy
parametrów
odczyt
adresów
parametrów
z urządzenia
możliwość
komunikacji za
pomocą różnych
kanałów
(modem, GPRS,
SMS)
Gaz-Modem
binarny
IEC
62056-21
ASCII
(opcjonalnie
binarny)
DSfG
ASCII
ok. 75%
ok. 5%
(readout)
<30%
0-65535
32 znaki
‘A’ – ‘Z’
tak
nie
(możliwy w
HDLC)
tak
tak (tylko
sterowanie)
tak
tak
(DFÜ)
0-65535
Kody OBIS
(6 elem.)
5 znaków
tak (tylko
Gaz-Modem
II)
nie
(OBIS)
częściowy
(konfiguracja
kanałów
arch.)
tak
ograniczona
ograniczona
zabezpieczenia
CRC ramek
tak
nie
(suma
kontrolna
BCC)
tak
wykrywanie
duplikatów
ramek
nie
nie
tak
nie
tak
tak
tak
tak
tak
tak
tak
tak
prosty
złożony
złożony
nie
tak
nie
zmienny okres
archiwizacji
odczyt zdarzeń
możliwość
sterowania
synchronizacja
czasu
łatwość
implementacji
informacja o
czasie letnim
nie
(dostępne w
MacRejII)
tak
tak (GazModem II)
Podsumowanie
Przegląd cech protokołu Gaz-Modem na tle innych
protokołów potwierdza, że zastosowane w nim mechanizmy
nie ustępują innym rozwiązaniom. Jest to protokół o
stosunkowo prostej specyfikacji, umożliwiającej łatwą
implementację, a przy tym bardzo efektywnie przesyłający
użyteczne dane, co ma istotne znaczenie np. przy coraz
powszechniejszej komunikacji przez GPRS. Konkurencyjne
protokoły wymagają wymiany wielokrotnie większej ilości
danych, między innym z powodu kodowania tekstowego za
pomocą znaków ASCII. Jak pokazała praktyka, przyjęte w
specyfikacji protokołu Gaz-Modem rozwiązania, mimo
pewnych mankamentów i ograniczeń, spełniają wymagania
użytkowników, zapewniając przy tym pełną kompatybilność
dostępnych na rynku urządzeń z systemami nadrzędnych.
Literatura
[1] Norma zakładowa PGNiG ZN-G-4007:1995, Załącznik A;
Protokół wymiany danych GAZ-MODEM.
[2] Norma zakładowa PGNiG ZN-G-4007:2001, Załącznik B;
Protokół transmisji danych GAZ-MODEM II
[3] IEC 62056-21 Electricity metering – Data exchange for meter
reading, tariff and load control - Part 21 Direct local data exchange
[4] DVGW Information Nr. 7–4. Überarbeitung 10/2009; Technische
Spezifikation für DSfG-Realisierungen; Teil 1: Grundlegende
Spezifikationen

Podobne dokumenty