MIERNIK PARAMETRÓW SIECI



Podobne dokumenty
REJESTRATOR Z EKRANEM DOTYKOWYM TYPU KD7

REJESTRATOR EKRANOWY Typu KD8

ANALIZATOR PARAMETRÓW SIECI TYPU ND1

Protokół komunikacyjny sondy cyfrowej CS-26/RS-485 (lub RS-232)

!"#!"$%! %$"#%!!$! !"!#$ )&! &

SPECYFIKACJA. Przetwornik temperatury PT100 MODBUS RTU. Opracował: HCC-03-Modbus. HOTCOLD s.c

SPECYFIKACJA. Przetwornik różnicy ciśnień DPC250-M, DPC2500-M, DPC4000-M, DPC7000-M (MODBUS RTU)

SPECYFIKACJA. Przetwornik temperatury PT100 MODBUS RTU. Opracował: HCC-05c-Modbus. HOTCOLD s.c

SPECYFIKACJA Przetwornik wilgotności HCRH-MODBUS-Kb

PRZETWORNIK-ANALIZATOR

SPECYFIKACJA. Przetwornik stężenia CO2 MODBUS RTU. Opracował: HTC-K-MODBUS-V-L. HOTCOLD s.c.

SPECYFIKACJA. Przetwornik wilgotności i temperatury RH&T MODBUS RTU. HCRH-Ka-Modbus. Opracował: HOTCOLD s.c

SPECYFIKACJA. Przetwornik stężenia CO2 MODBUS RTU. Opracował: HTC-MODBUS-V

KONCENTRATOR DANYCH Z PROTOKO EM MODBUS. Typu PD x 94 x 58 mm INSTRUKCJA OBS UGI

SPECYFIKACJA Przetwornik wilgotności HCRH-Modbus

SPECYFIKACJA Przetwornik różnicy ciśnień DPC6000_MV (MODBUS, 0-10V)

REGULATOR MIKROPROCESOROWY TYPU RE15

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

PROTOKÓŁ MQTT (uzupełnienie do instrukcji obsługi miernika ND30)

DODATEK A OPIS INTERFEJSU SIECIOWEGO FMP300

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

Protokół MODBUS. Przemysłowe Sieci Informatyczne (PSI)

MIERNIK PARAMETRÓW SIECI TYP ND30

MIERNIK PARAMETRÓW SIECI TYP NR30

1. Warstwa fizyczna. 2. Organizacja transmisji.

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

MS360-LPM. wersja 1.09 (wersja robocza) Dokumentacja użytkownika

m e d i a s e r v i c e Moduł kamery JPEG z komunikacją szeregową CJ0706A

interfejs szeregowy wyświetlaczy do systemów PLC

2. Format danych i zaimplementowane funkcje MODBUS

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Protokół CAN-bus PKP.

TWRS-21 TABLICOWY WYŚWIETLACZ CYFROWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, listopad 1999 r.

Instrukcja integracji urządzenia na magistrali Modbus RTU

Protokół CAN-bus. C omputers & C ontrol, Katowice, ul. Porcelanowa 11. 1/8

Komputery klasy PC. Dariusz Chaberski

Wielofunkcyjny wskaźnik parametrów sieci DMM-5T

INSTRUKCJA OBS UGI AR780

Komunikacja RS485 - MODBUS

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

Opis interfejsu Modbus w sterowniku ACU3.57

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Instrukcja obsługi czytnika MM-R32

kolumna synchronizacyjna cyfrowa typ ks3-1 Instrukcja obsługi

SYGNALIZATORY MIEJSCA ZWARCIA W SIECI KABLOWEJ SN Z SERII SMZ-4DM INSTRUKCJA OBSŁUGI PRZEZ PROTOKÓŁ MODBUS RTU

53 0x0035 Ścieżka sieciowa nie została znaleziona. 54 0x0036 Sieć jest zajęta. 55 0x0037 Określone zasoby sieciowe lub urządzenie są już niedostępne.

Jednofazowy licznik energii elektrycznej z interfejsem Modbus, pomiar bezpośredni

NEED MODBUS NEED-MODBUS NEED Master ModBus RTU Slave

SmartDRIVE protokół transmisji szeregowej RS-485

Następnie po znaku x znajdziemy szczegółowe informacje o błędzie: KOD: ZNACZENIE:

Protokół CAN-bus PKP.

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

HP-1 parametry. Pobór prądu (przy zasilaniu 12V) Pobierana moc (przy zasilaniu 12V) 0,036W. Pomiar ciśnienia

KONWERTER IMPULSÓW. Typu PD9 INSTRUKCJA OBS UGI

Magistrala LIN

Przykład zastosowania. x12. Pomiar, wizualizacja i rejestracja ponad 300 parametrów 3-fazowej symetrycznej i niesymetrycznej sieci energetycznej

Wykorzystanie programu Auma Modbus Tester firmy Proloc do komunikacji i diagnozowania komunikacji Modbus RTU

Licznik energii z certyfikatem MID

UNIPROD GLIWICE ul. Sowińskiego 3 tel: , fax kontakt@uniprod.pl

KONWERTER RS-485/CAN. Typu PD7 INSTRUKCJA OBS UGI

N miernik ParametrÓW Sieci. Przykład zastosowania. Ethernet www/ ftp. Ethernet TCP IP RS x 3x 3x 1x ma.

THP-100-x parametry. Pobór prądu (przy zasilaniu 12V) Pobierana moc (przy zasilaniu 12V) 0,036W. Pomiar ciśnienia

Jednofazowy licznik energii elektrycznej z interfejsem Modbus

micro Programator ISP mikrokontrolerów AVR zgodny z AVRISP mkii Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

Komunikacja z czujnikiem

ND08. Miernik parametrów sieci Power network meter. Instrukcja obsługi interfejsu RS-485 PL Interface definition EN

Przetwornik pomiarowy dla czujników siły FlexiForce

Funkcje sterownika CellBOX-UxR ModBUS RTU

CZYTNIK ZBLIŻENIOWY RFID-UR80D

trójfazowy licznik energii dla wszystkich wielkości elektrycznych

SYSTEM E G S MODUŁ ML/A-1m wersja V32.1

SYSTEM E G S MODUŁ ML/A-1m INSTRUKCJA UŻYTKOWANIA

MIERNIK PARAMETRÓW SIECI TYP NR30

MIERNIK PARAMETRÓW SIECI Typu N10

PROGRAMOWALNY CYFROWY MIERNIK TABLICOWY Typu N12P

Instrukcja obsługi. Przetwornik pomiarowy dla czujników siły FlexiForce. Programowalny moduł z wyjściem 0..10V, OC i RS485 (MODBUS)

Systemy mikroprocesorowe - projekt

Kody błędów (opis znaczenia) Kody błędów:

trójfazowy licznik energii elektrycznej niewielkich gabarytów

RS485 MODBUS Module 16O

Ogólne przeznaczenie i możliwości interfejsu sieciowego przepływomierza UniEMP-05 z protokołem MODBUS. ( )

NOWOŚĆ! ND30. PRzykłAD zastosowania. Ethernet www/ ftp. Ethernet TCP IP RS , U 2. , U 3 napięcia międzyfazowe: U 12

RS-H0-05 (K)* Czytnik RFID MHz Mifare. Karta użytkownika

TECHNIKA MIKROPROCESOROWA

CM Konwerter ModBus RTU slave ModBus RTU master

CM Konwerter ModBus RTU slave ModBus RTU slave

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Instrukcja obsługi WDT1

SDM-16RO. Moduł rozszerzający 16 wyjść przekaźnikowych. wyprodukowano dla

2. Format danych i zaimplementowane funkcje MODBUS

RS485 MODBUS Module 16O

ND48-RS protokół komunikacyjny ASCII A2.04

trójfazowy licznik energii dla wszystkich wielkości elektrycznych

LMWD-2X LISTWOWY MODUŁ WYJŚĆ DWUSTANOWYCH DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, listopad 1999 r.

Konwerter RS 232 / Centronics typ KSR

SM210 RS485 - JBUS/MODBUS dla SM102E. Æ Instrukcja obsługi

POWER LINE MODEM PMM-1 VER. 2.2

Transkrypt:

LUBUSKIE ZAK ADY APARATÓW ELEKTRYCZNYCH LUMEL Spó³ka Akcyjna ul. Sulechowska 1, 65-950 Zielona Góra MIERNIK PARAMETRÓW SIECI Typu N10 Instrukcja obs³ugi interfejsu szeregowego 1

SPIS TREŒCI 1. WSTÊP... 3 2. OPIS PROTOKO U MODBUS... 3 2.1 Ramka w trybie ASCII... 5 2.2 Ramka w trybie RTU... 5 2.3 Charakterystyka pól ramki... 6 2.4 Wyznaczenie LRC... 7 2.5 Wyznaczenie CRC... 8 2.6 Format znaku przy transmisji szeregowej... 8 2.7 Przerwanie transakcji... 9 3. OPIS FUNKCJI... 10 3.1 Odczyt n-rejestrów (kod 03)... 10 3.2 Zapis wartoœci do rejestru (kod 06)... 11 3.3 Zapis do n-rejestrów (kod 16)... 12 3.4 Raport identyfikuj¹cy urz¹dzenie (kod 17)... 12 4. KODY B ÊDÓW... 13 5. MAPA REJESTRÓW MIERNIKA N10... 16 DODATEK A OBLICZANIE SUMY KONTROLNEJ... 28 PROGRAM DO MIERNIKÓW N10... 33 2

1. WSTÊP Cyfrowy programowalny miernik N10 przeznaczony do pomiaru parametrów sieci energetycznych zosta³ wyposa ony w ³¹cze szeregowe w standardzie RS485 do komunikacji z innymi urz¹dzeniami. Na ³¹czu szeregowym zosta³ zaimplementowany asynchroniczny znakowy protokó³ komunikacyjny MODBUS. Konfiguracja parametrów ³¹cza szeregowego zosta³a opisana w instrukcji obs³ugi miernika N10. Zestawienie parametrów ³¹cza szeregowego miernika N10: l adres miernika - 1...247 l prêdkoœæ transmisji - 300, 600, 1200, 2400, 4800, 9600, 19200 bit/s, l tryby pracy - ASCII, RTU, l jednostka informacyjna - ASCII: 8N1, 7E1, 7O1; RTU: 8N2, 8E1, 8O1, l maksymalny czas odpowiedzi - 600 ms. 2. OPIS PROTOKO U MODBUS Interfejs MODBUS jest standardem przyjêtym przez producentów sterowników przemys³owych dla asynchronicznej, znakowej wymiany informacji pomiêdzy urz¹dzeniami systemów pomiarowo kontrolnych. Posiada on takie cechy jak: l prosta regu³a dostêpu do ³¹cza oparta na zasadzie master-slave, l zabezpieczenie przesy³anych komunikatów przed b³êdami, l potwierdzenie wykonywania rozkazów zdalnych i sygnalizacja b³êdów, l skuteczne mechanizmy zabezpieczaj¹ce przed zawieszeniem systemu, l wykorzystanie asynchronicznej transmisji znakowej. 3

Kontrolery urz¹dzeñ pracuj¹cych w systemie MODBUS komunikuj¹ siê ze sob¹ przy wykorzystaniu protoko³u typu master-slave, w którym tylko jedno urz¹dzenie mo e inicjalizowaæ transakcje (jednostka nadrzêdna-master), a pozosta³e (jednostki podrzêdneslave) odpowiadaj¹ jedynie na zdalne zapytania jednostki nadrzêdnej. Transakcja sk³ada siê z polecenia wysy³anego z jednostki master do slave oraz z odpowiedzi przesy³anej w odwrotnym kierunku. OdpowiedŸ zawiera dane ¹dane przez master lub potwierdzenie realizacji jego polecenia. Master mo e przesy³aæ informacjê do pojedynczych odbiorców lub informacje rozg³oszeniowe (broadcast), przeznaczone dla wszystkich urz¹dzeñ podrzêdnych w systemie (na polecenia rozg³oszeniowe master nie otrzymuje odpowiedzi). Format przesy³anych informacji jest nastêpuj¹cy: l master slave: adres odbiorcy, kod reprezentuj¹cy ¹dane polecenie, dane, s³owo kontrolne zabezpieczaj¹ce przesy³an¹ wiadomoœæ, l slave master: adres nadawcy, potwierdzenie realizacji rozkazu, dane ¹dane przez master, s³owo kontrolne zabezpieczaj¹ce odpowiedÿ przed b³êdami. Je eli urz¹dzenie slave wykryje b³¹d przy odbiorze wiadomoœci, lub nie mo e wykonaæ polecenia, przygotowuje specjalny komunikat o wyst¹pieniu b³êdu i przesy³a go jako odpowiedÿ do mastera. Urz¹dzenia pracuj¹ce w protokole MODBUS mog¹ byæ ustawione na komunikacjê przy u yciu jednego z dwóch trybów transmisji: ASCII lub RTU. U ytkownik wybiera ¹dany tryb wraz z parametrami portu szeregowego (prêdkoœæ transmisji, jednostka informacyjna), podczas konfiguracji ka dego urz¹dzenia. W systemie MODBUS przesy³ane wiadomoœci s¹ zorganizowane w ramki o okreœlonym pocz¹tku i koñcu. Pozwala to urz¹dzeniu odbieraj¹cemu na odrzucenie ramek niekompletnych i sygnalizacjê zwi¹zanych z tym b³êdów. 4

Ze wzglêdu na mo liwoœæ pracy w jednym z dwóch ró nych trybów transmisji (ASCII lub RTU), definiuje siê dwie ramki. 2.1. Ramka w trybie ASCII W trybie ASCII ka dy bajt wiadomoœci przesy³any jest w postaci dwóch znaków ASCII. Podstawow¹ zalet¹ tego trybu jest to, i pozwala on na d³ugie odstêpy miêdzy znakami (do 1s) bez powodowania b³êdów. Format ramki przedstawiono poni ej: Znacznik Adres Funkcja Dane Kontrola Znacznik pocz¹tku LRC koñca 1 znak «:» 2 znaki 2 znaki n znaków 2 znaki 2 znaki CR LF Znacznikiem pocz¹tku jest znak dwukropka ( : - ASCII 3 Ah), natomiast znacznikiem koñca dwa znaki CR i LF. Czêœæ informacyjn¹ ramki zabezpiecza siê kodem LRC (Longitudinal Redundancy Check). 2.2. Ramka w trybie RTU W trybie RTU wiadomoœci rozpoczynaj¹ i koñcz¹ siê odstêpem trwaj¹cym minimum 3.5 x (czas trwania pojedynczego znaku), w którym panuje cisza na ³¹czu. Najprostsz¹ implementacj¹ wymienionego interwa³u czasowego jest wielokrotne odmierzanie czasu trwania znaku przy zadanej szybkoœci bodowej przyjêtej na ³¹czu. Format ramki przedstawiono poni ej: Znacznik Adres Funkcja Dane Kontrola Znacznik pocz¹tku CRC koñca T1-T2-T3-T4 8 bitów 8 bitów n x 8 bitów 16 bitów T1-T2-T3-T4 5

Znaczniki pocz¹tku i koñca zaznaczono symbolicznie jako odstêp równy czterem d³ugoœciom znaku (jednostki informacyjnej). S³owo kontrolne jest 16 bitowe i powstaje jako rezultat obliczenia CRC (Cyclical Redundancy Check) na zawartoœci ramki. 2.3. Charakterystyka pól ramki Pole adresowe Pole adresowe w ramce zawiera dwa znaki (w trybie ASCII) lub osiem bitów (w trybie RTU). Zakres adresów jednostek slave wynosi 0-247. Master adresuje jednostki slave umieszczaj¹c jej adres na polu adresowym ramki. Kiedy jednostka slave wysy³a odpowiedÿ, umieszcza swój w³asny adres na polu adresowym ramki, co pozwala masterowi sprawdziæ, z któr¹ jednostk¹ realizowana jest transakcja. Adres 0 jest wykorzystywany jako adres rozg³oszeniowy, rozpoznawany przez wszystkie jednostki slave pod³¹czone do magistrali. Pole funkcji Pole funkcji zawiera dwa znaki w trybie ASCII lub 8-bitów w trybie RTU. Zakres kodów funkcji od 1-255. Przy transmisji polecenia z jednostki master do slave, pole funkcji zawiera kod rozkazu, okreœlaj¹cy dzia³anie, które ma podj¹æ jednostka slave na ¹danie mastera. Kiedy jednostka slave odpowiada masterowi, pole funkcji wykorzystuje do potwierdzenia wykonania polecenia lub sygnalizacji b³êdu, je eli z jakichœ przyczyn nie mo e wykonaæ polecenia. Potwierdzenie pozytywne realizowane jest poprzez umieszczenie na polu funkcji kodu wykonanego rozkazu. W przypadku stwierdzenia b³êdu, jednostka slave umieszcza na polu funkcji szczególn¹ odpowiedÿ, któr¹ stanowi kod funkcji z ustawionym na 1 najstarszym bitem. Kod b³êdu umieszczany jest na polu danych ramki odpowiedzi. 6

Pole danych Pole danych tworzy zestaw dwucyfrowych liczb heksadecymalnych, o zakresie 00-FF. Liczby te przy transmisji w trybie ASCII reprezentowane s¹ dwoma znakami, a przy transmisji w trybie RTU jednym. Pole danych ramki polecenia zawiera dodatkowe informacje potrzebne jednostce slave do wykonania rozkazu okreœlonego kodem funkcji. Mog¹ to byæ adresy rejestrów, liczba bajtów w polu danych, dane itp. W niektórych ramkach pole danych mo e posiadaæ zerow¹ d³ugoœæ. Tak jest zawsze, gdy operacja okreœlona kodem nie wymaga adnych parametrów. Pole kontrolne W protokole MODBUS s³owo kontrolne zabezpieczaj¹ce czêœæ informacyjn¹ zale y od zastosowanego trybu transmisji. W trybie ASCII pole kontrolne sk³ada siê z dwóch znaków ASCII, które s¹ rezultatem obliczenia Longitudinal Redundancy Check (LRC) na zawartoœci czêœci informacyjnej ramki (bez znaczników pocz¹tku i koñca). Znaki LRC s¹ do³¹czane do wiadomoœci jako ostatnie pole ramki, bezpoœrednio przed znacznikiem koñca (CR,LF). W trybie RTU s³owo kontrolne jest 16-bitowe i powstaje jako rezultat obliczenia Cyclical Redundancy Check (CRC) na zawartoœci ramki. Pole kontrolne zajmuje dwa bajty do³¹czane na koñcu ramki. Jako pierwszy przesy³any jest mniej znacz¹cy bajt, jako ostatni starszy bajt, który jest jednoczeœnie znakiem koñcz¹cym ramkê. 2. 4. Wyznaczenie LRC Obliczanie LRC polega na sumowaniu kolejnych 8-bitowych bajtów wiadomoœci, odrzuceniu przeniesieñ i na koniec wyznaczeniu uzupe³nienia dwójkowego wyniku. Sumowanie obejmuje ca³¹ 7

wiadomoœæ za wyj¹tkiem znaczników pocz¹tku i koñca ramki. Wartoœæ 8-bitowa sumy LRC jest umieszczana na koñcu ramki w postaci dwóch znaków ASCII, najpierw znak zawieraj¹cy starsz¹ tetradê, a za nim znak zawieraj¹cy m³odsz¹ tetradê LRC. 2.5. Wyznaczenie CRC Obliczanie CRC realizowane jest wed³ug nastêpuj¹cego algorytmu: 1. Za³adowanie FFFFh do 16-bitowego rejestru CRC. 2. Pobranie bajtu z bloku danych i wykonanie operacji EXOR z m³odszym bajtem rejestru CRC. Umieszczenie rezultatu w rejestrze CRC. 3. Przesuniêcie zawartoœci rejestru CRC w prawo o jeden bit po³¹czone z wpisaniem 0 na najbardziej znacz¹cy bit (MSB=0). 4. Sprawdzenie stanu najm³odszego bitu (LSB) wysuniêtego z rejestru CRC w poprzednim kroku. Je eli jego stan równa siê 0, to nastêpuje powrót do kroku 3 (kolejne przesuniecie), je eli 1, to wykonywana jest operacja EXOR rejestru CRC ze sta³¹ A001h. 5. Powtórzenie kroków 3 i 4 osiem razy, co odpowiada przetworzeniu ca³ego bajtu. 6. Powtórzenie sekwencji 2,3,4,5 dla kolejnego bajtu wiadomoœci. Kontynuacja tego procesu a do przetworzenia wszystkich bajtów wiadomoœci. 7. Zawartoœæ CRC po wykonaniu wymienionych operacji jest poszukiwan¹ wartoœci¹ CRC. 8. Wartoœæ CRC jest umieszczana na koñcu ramki najpierw mniej znacz¹cy bajt, a za nim bardziej znacz¹cy bajt. 2.6. Format znaku przy transmisji szeregowej W protokole MODBUS znaki s¹ przesy³ane od najm³odszego do najstarszego bitu. 8

Organizacja jednostki informacyjnej w trybie ASCII: 1 bit startu, 7 bitów pola danych, 1 bit kontroli parzystoœci (nieparzystoœci) lub brak bitu kontroli parzystoœci, 1 bit stopu przy kontroli parzystoœci lub 2 bity stopu przy braku kontroli parzystoœci. Organizacja jednostki informacyjnej w trybie RTU: 1 bit startu, 8 bitów pola danych, 1 bit kontroli parzystoœci (nieparzystoœci) lub brak bitu kontroli parzystoœci, 1 bit stopu przy kontroli parzystoœci lub 2 bity stopu przy braku kontroli parzystoœci. 2.7. Przerwanie transakcji W jednostce master u ytkownik ustawia wa ny parametr jakim jest maksymalny czas odpowiedzi na ramkê zapytania, po którego przekroczeniu transakcja jest przerywana. Czas ten dobiera siê tak, aby ka da jednostka slave pracuj¹ca w systemie (nawet ta najwolniejsza) zd¹ y³a normalnie odpowiedzieæ na ramkê zapytania. Przekroczenie tego czasu œwiadczy zatem o b³êdzie i tak jest traktowane przez jednostkê master. Je eli jednostka slave wykryje b³¹d transmisji, nie wykonuje polecenia oraz nie wysy³a adnej odpowiedzi. Spowoduje to przekroczenie czasu oczekiwania na ramkê odpowiedzi i przerwanie transakcji. W mierniku N10 maksymalny czas odpowiedzi na ramkê zapytania wynosi 600 ms. 9

3. OPIS FUNKCJI W mierniku N10 zaimplementowane zosta³y nastêpuj¹ce funkcje protoko³u: kod znaczenie 03 odczyt n-rejestrów 06 zapis pojedynczego rejestru 16 zapis n-rejestrów 17 identyfikacja urz¹dzenia slave 3.1. Odczyt n-rejestrów (kod 03) ¹danie: Funkcja umo liwia odczyt wartoœci zawartych w rejestrach w zaadresowanym urz¹dzeniu slave. Rejestry s¹ 16 lub 32-bitowymi jednostkami, które mog¹ zawieraæ wartoœci numeryczne zwi¹zane ze zmiennymi procesowymi itp. Ramka ¹dania okreœla 16- bitowy adres pocz¹tkowy rejestru oraz liczbê rejestrów do odczytania. Znaczenie zawartoœci rejestrów o danych adresach mo e byæ ró ne dla ró nych typów urz¹dzeñ. Funkcja nie jest dostêpna w trybie rozg³oszeniowym. Przyk³ad. Odczyt 3 rejestrów zaczynaj¹c od rejestru o adresie 6Bh adres funkcja adres adres liczba liczba suma rejestru rejestru rejestrów rejestrów kontrolna Hi Lo Hi Lo 11 03 00 6B 00 03 7E LRC 10

OdpowiedŸ: Dane rejestrów s¹ pakowane pocz¹wszy od najmniejszego adresu: najpierw starszy bajt, potem m³odszy bajt rejestru. Przyk³ad. Ramka odpowiedzi adres fun- liczba wart. w wart. w wart. w wart. w wart. w wart. w suma kcja bajtów rej.107 rej.107 rej.108 rej.108 rej.109 rej.109 kon- Hi Lo Hi Lo Hi Lo trolna 11 03 06 02 2B 00 00 00 64 55 LRC 3.2. Zapis wartoœci do rejestru (kod 06) ¹danie: Funkcja umo liwia modyfikacjê zawartoœci rejestru. Jest dostêpna w trybie rozg³oszeniowym. Przyk³ad. adres funkcja adres adres wartoœæ wartoœæ suma rejestru rejestru Hi Lo kontrolna Hi Lo 11 06 00 87 03 9E C1 LRC OdpowiedŸ: Prawid³ow¹ odpowiedzi¹ na ¹danie zapisu wartoœci do rejestru jest retransmisja komunikatu po wykonaniu operacji. Przyk³ad. adres funkcja adres adres wartoœæ wartoœæ suma rejestru rejestru Hi Lo kontrolna Hi Lo 11 06 00 87 03 9E C1 LRC 11

3.3. Zapis do n-rejestrów (kod 16) ¹danie: Funkcja dostêpna w trybie rozg³oszeniowym. Umo liwia modyfikacje zawartoœci rejestrów. Przyk³ad. Zapis dwóch rejestrów pocz¹wszy od rejestru o adresie 136 adres funk- adres adres liczba liczba liczba dane dane dane dane suma cja rej. rej. rej. rej. bajtów Hi Lo Hi Lo kon- Hi Lo Hi Lo trolna 11 10 00 87 00 02 04 00 0A 01 02 45 LRC OdpowiedŸ: Prawid³owa odpowiedÿ zawiera adres jednostki slave, kod funkcji, adres pocz¹tkowy oraz liczbê zapisanych rejestrów. Przyk³ad. adres funkcja adres adres liczba liczba suma rej. rej. rej. rej. kontrolna Hi Lo Hi Lo 11 10 00 87 00 02 56 LRC 3. 4. Raport identyfikuj¹cy urz¹dzenie (kod 17) ¹danie: Funkcja pozwala u ytkownikowi uzyskaæ informacje o typie urz¹dzenia, statusie i zale nej od tego konfiguracji. Przyk³ad. Adres funkcja suma kontrolna 11 11 DE LRC 12

OdpowiedŸ: Pole identyfikator urz¹dzenia w ramce odpowiedzi oznacza unikalny identyfikator danej klasy urz¹dzeñ, natomiast pozosta³e pola zawieraj¹ parametry zale ne od typu urz¹dzenia. Przyk³ad dla miernika N10. Adres funkcja liczba identyfikator stan urz¹- zakres zakres suma slave bajtów urz¹dzenia dzenia napiêciowy pr¹dowy kontrolna 11 11 6 50 FF 0064 0001 4. KODY B ÊDÓW Gdy urz¹dzenie master wysy³a ¹danie do urz¹dzenia slave, to za wyj¹tkiem komunikatów w trybie rozg³oszeniowym, oczekuje prawid³owej odpowiedzi. Po wys³aniu ¹dania jednostki master mo e wyst¹piæ jedno z czterech mo liwych zdarzeñ: r je eli jednostka slave odbiera ¹danie bez b³êdu transmisji oraz mo e je wykonaæ prawid³owo, wówczas zwraca prawid³ow¹ odpowiedÿ, r je eli jednostka slave nie odbiera ¹dania, adna odpowiedÿ nie jest zwracana; w programie urz¹dzenia master zostan¹ spe³nione warunki timeout dla ¹dania, r je eli jednostka slave odbiera ¹danie, ale z b³êdami transmisji (b³¹d parzystoœci, sumy kontrolnej LRC lub CRC), adna odpowiedÿ nie jest zwracana; w programie urz¹dzenia master zostan¹ spe- ³nione warunki timeout dla ¹dania, r je eli jednostka slave odbiera ¹danie bez b³êdu transmisji, ale nie mo e go wykonaæ prawid³owo (np. je eli ¹daniem jest odczyt nie istniej¹cego wyjœcia bitowego lub rejestru), wówczas zwraca 13

odpowiedÿ zawieraj¹c¹ kod b³êdu, informuj¹cy urz¹dzenie master o przyczynie b³êdu. Komunikat z b³êdn¹ odpowiedzi¹ zawiera dwa pola odró niaj¹ce go od prawid³owej odpowiedzi: Pole kodu funkcji: W prawid³owej odpowiedzi, jednostka slave retransmituje kod funkcji z komunikatu ¹dania na polu kodu funkcji odpowiedzi. Wszystkie kody funkcji maj¹ najbardziej znacz¹cy bit (MSB) równy 0 (wartoœci kodów s¹ poni ej 80 h). W b³êdnej odpowiedzi urz¹dzenie slave ustawia bit MSB kodu funkcji na 1. To powoduje, e wartoœæ kodu funkcji w b³êdnej odpowiedzi jest dok³adnie o 80 h wiêksza ni by³aby w prawid³owej odpowiedzi. Na podstawie kodu funkcji z ustawionym bitem MSB program urz¹dzenia master mo e rozpoznaæ b³êdn¹ odpowiedÿ i mo e sprawdziæ na polu danych kod b³êdu. Pole danych: W prawid³owej odpowiedzi, urz¹dzenie slave mo e zwróciæ dane na polu danych (pewne informacje ¹dane przez jednostkê master). W b³êdnej odpowiedzi, urz¹dzenie slave zwraca kod b³êdu na polu danych. Okreœla on warunki urz¹dzenia slave, które spowodowa³y b³¹d. Poni ej przedstawiono przyk³ad ¹dania urz¹dzenia master i b³êdn¹ odpowiedÿ urz¹dzenia slave. Dane s¹ w postaci heksadecymalnej. Przyk³ad: ¹danie adres funkcja adres adres liczba liczba suma slave zmiennej zmiennej zmiennych zmiennych kontrolna Hi Lo Hi Lo 0A 01 04 A1 00 01 4F LRC 14

Przyk³ad: b³êdna odpowiedÿ adres slave funkcja kod b³êdu suma kontrolna 0A 81 02 73 LRC W tym przyk³adzie urz¹dzenie master adresuje ¹danie do jednostki slave o numerze 10 (0Ah). Kod funkcji (01) s³u y do operacji odczytu stanu wyjœcia bitowego. Ta ramka oznacza wiêc ¹danie odczytu statusu jednego wyjœcia bitowego o adresie 1245 (04A1h). Je eli w urz¹dzeniu slave nie ma wyjœcia bitowego o podanym adresie, wówczas urz¹dzenie zwróci b³êdn¹ odpowiedÿ z kodem b³êdu nr 02. Oznacza on niedozwolony adres danych w urz¹dzeniu slave. W poni szej tabeli przedstawione s¹ mo liwe kody b³êdów i ich znaczenie. kod znaczenie 01 niedozwolona funkcja 02 niedozwolony adres danych 03 niedozwolona wartoœæ danej 04 uszkodzenie w przy³¹czonym urz¹dzeniu 05 potwierdzenie 06 zajêty, komunikat usuniêty 07 negatywne potwierdzenie 08 b³¹d parzystoœci pamiêci 15

5. MAPA REJESTRÓW MIERNIKA N10 W mierniku N10 dane umieszczone s¹ w rejestrach 16 bitowych lub 32 bitowych. Zmienne procesowe i parametry miernika umieszczone s¹ w przestrzeni adresowej rejestrów w sposób zale ny od typu wartoœci zmiennej. Bity w rejestrze 16 bitowym numerowane s¹ od najm³odszego do najstarszego(b0-b15). Rejestry 32-bitowe zawieraj¹ liczby typu float w standardzie IEEE-745. Mapa rejestrów podzielona zosta³a na nastêpuj¹ce obszary: Zakres adresów Typ wartoœci Opis 4000-4031 integer (16 bitów) Wartoœæ umieszczona jest w jednym rejestrze 16 bitowym. Opis rejestrów zawiera Tabela 1. Rejestry mog¹ byæ odczytywane i zapisywane. 7000-7223 float (32 bity) Wartoœæ umieszczona jest w dwóch kolejnych rejestrach 16 bitowych. Rejestry zawieraj¹ te same dane co rejestry 32 bitowe z obszaru 7500-7611. Przyk³ad: rejestry 7000 i 7001 zawieraj¹ wartoœæ z rejestru 7500, rejestry 7002 i 7003 zawieraj¹ wartoœæ z rejestru 7501 itd. Rejestry s¹ tylko do odczytu. 7500-7779 float (32 bity) Wartoœæ umieszczona jest w rejestrze 32 bitowym. Opis rejestrów zawiera Tabela 2. Rejestry s¹ tylko do odczytu. 16

Zawartoœæ rejestrów 16-bitowych o adresach od 4000 do 4031. Tabela 1 Lp. adres symbol zakres opis rejestru jednostka 1 4000 tr_i 1... 20000 Przek³adnia przek³adnika pr¹dowego 2 4001 tr_u 1... 4000 Przek³adnia przek³adnika napiêciowego 3 4002 Ao_n 0... 34 Wielkoœæ na wyjœciu ci¹g³ym, kod z Tabeli 2 4 4003 Ao_L 80... 120% Wspó³czynnik przeskalowuj¹cy wyjœcie 5 4004 Ao_0 0,1 Zakres wyjœcia ci¹g³ego: 0-0... 20 ma, 1-4... 20 ma 6 4005 Po_n 0, 35... 37 Wielkoœæ na wyjœciu impulsowym, kod z Tabeli 2 7 4006 Po_c 0... 9999 Sta³a wyjœcia impulsowego 8 4007 PI_n 0; 38... 40 Wielkoœæ na wejœciu impulsowym, kod z Tabeli 2 9 4008 PI_c 1... 9999 Sta³a zewnêtrznego licznika energii (wejœcia impulsowego) 10 4009 PI_0 1 Kasowanie zewnêtrznego licznika energii (licznika wejœcia impulsowego) 11 4010 EnP0 1 Kasowanie licznika energii czynnej 12 4011 Enq0 1 Kasowanie licznika energii biernej 13 4012 EnS0 1 Kasowanie licznika energii pozornej 14 4013 PA_0 1 Kasowanie mocy czynnej 15 min P AV (wart. max i min) 15 4014 PA_t 1, 2, 3 Czas uœredniania mocy PAV : 1-15 min, 2-30 min, 3-60 min 17

16 4015 PA_S 0,1 Synchronizacja uœredniania mocy PAV z zegarem rzeczywistym 17 4016 0000...9999 Zmiana kodu dostêpu 18 4017 A1_n 0, 1...34 Wyjœcie dwustanowe 1 - wielkoœæ, kod z Tabeli2 19 4018 A1on 0...120 [%] Wyjœcie dwustanowe 1 - wartoœæ za³¹czenia 20 4019 A1oF 0...120 [%] Wyjœcie dwustanowe 1 - wartoœæ wy³¹czenia 21 4020 A2_n 0, 1...34 Wyjœcie dwustanowe 2 - wielkoœæ, kod z Tabeli 2 22 4021 A2on 0...120 [%] Wyjœcie dwustanowe 2 - wartoœæ za³¹czenia 23 4022 A2oF 0...120 [%] Wyjœcie dwustanowe 2 - wartoœæ wy³¹czenia 24 4023 A3_n 0, 1...34 Wyjœcie dwustanowe 3 - wielkoœæ, kod z Tabeli 2 25 4024 A3on 0...120 [%] Wyjœcie dwustanowe 3 - wartoœæ za³¹czenia 26 4025 A3oF 0...120 [%] Wyjœcie dwustanowe 3 - wartoœæ wy³¹czenia 27 4026 AL_dt 0...100 sek. Zw³oka w dzia³aniu alarmów 28 4027 Year 1998-2083 rok 29 4028 MonDay data w formacie: miesi¹æ*100+dzieñ 30 4029 HourMin czas w formacie: godzina*100+minuta 31 4030 ALR 0...7 stany wyjœæ przekaÿnikowych A1=b0, A2=b1, A3=b2, 1- wyjœcie za³¹czone 32 4031 Harm 0,1 W³¹czenie trybu obliczania harmonicznych 18

Zawartoœæ rejestrów 32-bitowych o adresach od 7500 do 7779. Tabela 2 Lp kod adres symbol jednostka nazwa wielkoœci rejestru 1 00 bez wielkoœci - wyœwietlacz wygaszony 2 01 7500 U1 V Napiêcie fazy L1 3 02 7501 I 1 A Pr¹d fazy L1 4 03 7502 P 1 W Moc czynna fazy L1 5 04 7503 Q 1 VAr Moc bierna fazy L1 6 05 7504 S 1 VA Moc pozorna fazy L1 7 06 7505 Pf 1 Pf Wspó³czynnik mocy czynnej fazy L1 8 07 7506 tϕ 1 tϕ Stosunek mocy biernej do czynnej fazy L1 9 08 7507 U 2 V Napiêcie fazy L2 10 09 7508 I 2 A Pr¹d fazy L2 11 10 7509 P 2 W Moc czynna fazy L2 12 11 7510 Q 2 VAr Moc bierna fazy L2 13 12 7511 S 2 VA Moc pozorna fazy L2 14 13 7512 Pf 2 Pf Wspó³czynnik mocy czynnej fazy L2 15 14 7513 tϕ 2 tϕ Stosunek mocy biernej do czynnej fazy L2 16 15 7514 U 3 V Napiêcie fazy L3 17 16 7515 I 3 A Pr¹d fazy L3 18 17 7516 P 3 W Moc czynna fazy L3 19 18 7517 Q 3 VAr Moc bierna fazy L3 20 19 7518 S 3 VA Moc pozorna fazy L3 21 20 7519 Pf 3 Pf Wspó³czynnik mocy czynnej fazy L3 22 21 7520 tϕ 3 tϕ Stosunek mocy biernej do czynnej fazy L3 23 22 7521 U s V Napiêcie 3-fazowe œrednie 24 23 7522 I s A Pr¹d 3-fazowy œredni 19

25 24 7523 P W Moc czynna 3-fazowa 26 25 7524 Q VAr Moc bierna 3-fazowa 27 26 7525 S VA Moc pozorna 3-fazowa 28 27 7526 Pf Pf Wspó³czynnik mocy czynnej 29 28 7527 tϕ tϕ Stosunek mocy biernej do czynnej 3-fazowy œredni, tϕ= Q/ P. 30 29 7528 f Hz Czêstotliwoœæ 31 30 7529 U 12 V Napiêcie miêdzyfazowe L1-L2 32 31 7530 U 23 V Napiêcie miêdzyfazowe L2-L3 33 32 7531 U 31 V Napiêcie miêdzyfazowe L3-L1 34 33 7532 U 123 V Napiêcie miêdzyfazowe œrednie 35 34 7533 P AV W Moc czynna œrednia np.15 min. 36 35 7534 EnP Wh Energia czynna 3-fazowa 37 36 7535 Enb VArh Energia bierna 3-fazowa 38 37 7536 EnS VAh Energia pozorna 3-fazowa 39 38 7537 EnP z Wh Energia czynna z licznika zewnêtrznego 40 38 7538 Enb z VArh Energia bierna z licznika zewnêtrznego 41 40 7539 EnS z VA Energia pozorna z licznika zewnêtrznego 42 41 7540 Data - dzieñ, miesi¹c 43 42 7541 Data - rok 44 43 7542 Czas - godziny, minuty 45 44 7543 Czas - sekundy 46 7544, 7545 U 1 V Napiêcie fazy L1 - min, max 47 7546, 7547 U 2 V Napiêcie fazy L2 - min, max 48 7548, 7549 U 3 V Napiêcie fazy L3 - min, max 49 7550, 7551 I 1 A Pr¹d fazy L1 - min, max 50 7552, 7553 I 2 A Pr¹d fazy L2 - min, max 51 7554, 7555 I 3 A Pr¹d fazy L3 - min, max 52 7556, 7557 P 1 W Moc czynna fazy L1 - min, max 20

53 7558, 7559 P 2 W Moc czynna fazy L2 - min, max 54 7560, 7561 P 3 W Moc czynna fazy L3 - min, max 55 7562, 7563 S 1 VA Moc pozorna fazy L1 - min, max 56 7564, 7565 S 2 VA Moc pozorna fazy L2 - min, max 57 7566, 7567 S 3 VA Moc pozorna fazy L3 - min, max 58 7568, 7569 Q 1 VAr Moc bierna fazy L1 - min, max 59 7570, 7571 Q 2 VAr Moc bierna fazy L2 - min, max 60 7572, 7573 Q 3 VAr Moc bierna fazy L3 - min, max 61 7574, 7575 Pf 1 Pf Wspó³czynnik mocy czynnej fazy L1 - min, max 62 7576, 7577 Pf 2 Pf Wspó³czynnik mocy czynnej fazy L2 - min, max 63 7578, 7579 Pf 3 Pf Wspó³czynnik mocy czynnej fazy L3 - min, max 64 7580, 7581 tϕ 1 tϕ1 = Q 1 / P1 fazy L 1 - min, max 65 7582, 7583 tϕ 2 tϕ2 = Q 2 / P2 fazy L 2 - min, max 66 7584, 7585 tϕ 3 tϕ3 = Q 2 / P3 fazy L 3 - min, max 67 7586, 7587 U s V Napiêcie 3-fazowe œrednie - min, max 68 7588, 7589 I s A Pr¹d 3-fazowy œredni - min, max 69 7590, 7591 P W Moc czynna 3-fazowa - min, max 70 7592, 7593 Q VAr Moc bierna 3-fazowa - min, max 71 7594, 7595 S VA Moc pozorna 3-fazowa - min, max 72 7596, 7597 Pf Pf Wspó³czynnik mocy czynnej - min, max 73 7598, 7599 tϕ tϕ Wspó³czynnik mocy biernej do czynnej 3-fazowy œredni - min, max 74 7600, 7601 f Hz Czêstotliwoœæ - min, max 75 7602, 7603 U 12 V Napiêcie miêdzyfazowe L1-L2 - min, max 76 7604, 7605 U 23 V Napiêcie miêdzyfazowe L2-L3 - min, max 77 7606, 7607 U 31 V Napiêcie miêdzyfazowe L3-L1 - min, max 21

78 7608, 7609 U 123 V Napiêcie miêdzyfazowe œrednie - min, max 79 7610, 7611 P AV W Moc czynna œrednia np.15 min. - min, max 80 45 7612 THD U1 % Wspó³czynnik zawartoœci harmonicznych napiêcia fazy L1 81 46 7613 THD U2 % Wspó³czynnik zawartoœci harmonicznych napiêcia fazy L2 82 47 7614 THD U3 % Wspó³czynnik zawartoœci harmonicznych napiêcia fazy L3 83 48 7615 THD I1 % Wspó³czynnik zawartoœci harmonicznych pr¹du fazy L1 84 49 7616 THD I2 % Wspó³czynnik zawartoœci harmonicznych pr¹du fazy L2 85 50 7617 THD I3 % Wspó³czynnik zawartoœci harmonicznych pr¹du fazy L3 86 7618, 7619 THD U1 % Wspó³czynnik zawartoœci harmonicznych napiêcia fazy L1 - min, max 87 7620, 7621 THD U2 % Wspó³czynnik zawartoœci harmonicznych napiêcia fazy L2 - min, max 88 7622, 7623 THD U3 % Wspó³czynnik zawartoœci harmonicznych napiêcia fazy L3 - min, max 89 7624, 7625 THD I1 % Wspó³czynnik zawartoœci harmonicznych pr¹du fazy L1 - min, max 90 7626, 7627 THD I2 % Wspó³czynnik zawartoœci harmonicznych pr¹du fazy L2 - min, max 91 7628, 7629 THD I3 % Wspó³czynnik zawartoœci harmonicznych pr¹du fazy L3 - min, max 92 7630 HarU1[1] % 1 Harmoniczna napiêcia fazy L1 93 7631 HarU1[2] % 2 Harmoniczna napiêcia fazy L1 22

94 7632 HarU1[3] % 3 Harmoniczna napiêcia fazy L1 95 7633 HarU1[4] % 4 Harmoniczna napiêcia fazy L1 96 7634 HarU1[5] % 5 Harmoniczna napiêcia fazy L1 97 7635 HarU1[6] % 6 Harmoniczna napiêcia fazy L1 98 7636 HarU1[7] % 7 Harmoniczna napiêcia fazy L1 99 7637 HarU1[8] % 8 Harmoniczna napiêcia fazy L1 100 7638 HarU1[9] % 9 Harmoniczna napiêcia fazy L1 101 7639 HarU1[10] % 10 Harmoniczna napiêcia fazy L1 102 7640 HarU1[11] % 11 Harmoniczna napiêcia fazy L1 103 7641 HarU1[12] % 12 Harmoniczna napiêcia fazy L1 104 7642 HarU1[13] % 13 Harmoniczna napiêcia fazy L1 105 7643 HarU1[14] % 14 Harmoniczna napiêcia fazy L1 106 7644 HarU1[15] % 15 Harmoniczna napiêcia fazy L1 107 7645 HarU1[16] % 16 Harmoniczna napiêcia fazy L1 108 7646 HarU1[17] % 17 Harmoniczna napiêcia fazy L1 109 7647 HarU1[18] % 18 Harmoniczna napiêcia fazy L1 110 7648 HarU1[19] % 19 Harmoniczna napiêcia fazy L1 111 7649 HarU1[20] % 20 Harmoniczna napiêcia fazy L1 112 7650 HarU1[21] % 21 Harmoniczna napiêcia fazy L1 113 7651 HarU1[22] % 22 Harmoniczna napiêcia fazy L1 114 7652 HarU1[23] % 23 Harmoniczna napiêcia fazy L1 115 7653 HarU1[24] % 24 Harmoniczna napiêcia fazy L1 116 7654 HarU1[25] % 25 Harmoniczna napiêcia fazy L1 117 7655 HarU2[1] % 1 Harmoniczna napiêcia fazy L2 118 7656 HarU2[2] % 2 Harmoniczna napiêcia fazy L2 119 7657 HarU2[3] % 3 Harmoniczna napiêcia fazy L2 120 7658 HarU2[4] % 4 Harmoniczna napiêcia fazy L2 121 7659 HarU2[5] % 5 Harmoniczna napiêcia fazy L2 122 7660 HarU2[6] % 6 Harmoniczna napiêcia fazy L2 123 7661 HarU2[7] % 7 Harmoniczna napiêcia fazy L2 124 7662 HarU2[8] % 8 Harmoniczna napiêcia fazy L2 23

125 7663 HarU2[9] % 9 Harmoniczna napiêcia fazy L2 126 7664 HarU2[10] % 10 Harmoniczna napiêcia fazy L2 127 7665 HarU2[11] % 11 Harmoniczna napiêcia fazy L2 128 7666 HarU2[12] % 12 Harmoniczna napiêcia fazy L2 129 7667 HarU2[13] % 13 Harmoniczna napiêcia fazy L2 130 7668 HarU2[14] % 14 Harmoniczna napiêcia fazy L2 131 7669 HarU2[15] % 15 Harmoniczna napiêcia fazy L2 132 7670 HarU2[16] % 16 Harmoniczna napiêcia fazy L2 133 7671 HarU2[17] % 17 Harmoniczna napiêcia fazy L2 134 7672 HarU2[18] % 18 Harmoniczna napiêcia fazy L2 135 7673 HarU2[19] % 19 Harmoniczna napiêcia fazy L2 136 7674 HarU2[20] % 20 Harmoniczna napiêcia fazy L2 137 7675 HarU2[21] % 21 Harmoniczna napiêcia fazy L2 138 7676 HarU2[22] % 22 Harmoniczna napiêcia fazy L2 139 7677 HarU2[23] % 23 Harmoniczna napiêcia fazy L2 140 7678 HarU2[24] % 24 Harmoniczna napiêcia fazy L2 141 7679 HarU2[25] % 25 Harmoniczna napiêcia fazy L2 142 7680 HarU3[1] % 1 Harmoniczna napiêcia fazy L3 143 7681 HarU3[2] % 2 Harmoniczna napiêcia fazy L3 144 7682 HarU3[3] % 3 Harmoniczna napiêcia fazy L3 145 7683 HarU3[4] % 4 Harmoniczna napiêcia fazy L3 146 7684 HarU3[5] % 5 Harmoniczna napiêcia fazy L3 147 7685 HarU3[6] % 6 Harmoniczna napiêcia fazy L3 148 7686 HarU3[7] % 7 Harmoniczna napiêcia fazy L3 149 7687 HarU3[8] % 8 Harmoniczna napiêcia fazy L3 150 7688 HarU3[9] % 9 Harmoniczna napiêcia fazy L3 151 7689 HarU3[10] % 10 Harmoniczna napiêcia fazy L3 152 7690 HarU3[11] % 11 Harmoniczna napiêcia fazy L3 153 7691 HarU3[12] % 12 Harmoniczna napiêcia fazy L3 154 7692 HarU3[13] % 13 Harmoniczna napiêcia fazy L3 155 7693 HarU3[14] % 14 Harmoniczna napiêcia fazy L3 24

156 7694 HarU3[15] % 15 Harmoniczna napiêcia fazy L3 157 7695 HarU3[16] % 16 Harmoniczna napiêcia fazy L3 158 7696 HarU3[17] % 17 Harmoniczna napiêcia fazy L3 159 7697 HarU3[18] % 18 Harmoniczna napiêcia fazy L3 160 7698 HarU3[19] % 19 Harmoniczna napiêcia fazy L3 161 7699 HarU3[20] % 20 Harmoniczna napiêcia fazy L3 162 7700 HarU3[21] % 21 Harmoniczna napiêcia fazy L3 163 7701 HarU3[22] % 22 Harmoniczna napiêcia fazy L3 164 7702 HarU3[23] % 23 Harmoniczna napiêcia fazy L3 165 7703 HarU3[24] % 24 Harmoniczna napiêcia fazy L3 166 7704 HarU3[25] % 25 Harmoniczna napiêcia fazy L3 167 7705 HarI1[1] % 1 Harmoniczna pr¹du fazy L1 168 7706 HarI1[2] % 2 Harmoniczna pr¹du fazy L1 169 7707 HarI1[3] % 3 Harmoniczna pr¹du fazy L1 170 7708 HarI1[4] % 4 Harmoniczna pr¹du fazy L1 171 7709 HarI1[5] % 5 Harmoniczna pr¹du fazy L1 172 7710 HarI1[6] % 6 Harmoniczna pr¹du fazy L1 173 7711 HarI1[7] % 7 Harmoniczna pr¹du fazy L1 174 7712 HarI1[8] % 8 Harmoniczna pr¹du fazy L1 175 7713 HarI1[9] % 9 Harmoniczna pr¹du fazy L1 176 7714 HarI1[10] % 10 Harmoniczna pr¹du fazy L1 177 7715 HarI1[11] % 11 Harmoniczna pr¹du fazy L1 178 7716 HarI1[12] % 12 Harmoniczna pr¹du fazy L1 179 7717 HarI1[13] % 13 Harmoniczna pr¹du fazy L1 180 7718 HarI1[14] % 14 Harmoniczna pr¹du fazy L1 181 7719 HarI1[15] % 15 Harmoniczna pr¹du fazy L1 182 7720 HarI1[16] % 16 Harmoniczna pr¹du fazy L1 183 7721 HarI1[17] % 17 Harmoniczna pr¹du fazy L1 184 7722 HarI1[18] % 18 Harmoniczna pr¹du fazy L1 185 7723 HarI1[19] % 19 Harmoniczna pr¹du fazy L1 186 7724 HarI1[20] % 20 Harmoniczna pr¹du fazy L1 25

187 7725 HarI1[21] % 21 Harmoniczna pr¹du fazy L1 188 7726 HarI1[22] % 22 Harmoniczna pr¹du fazy L1 189 7727 HarI1[23] % 23 Harmoniczna pr¹du fazy L1 190 7728 HarI1[24] % 24 Harmoniczna pr¹du fazy L1 191 7729 HarI1[25] % 25 Harmoniczna pr¹du fazy L1 192 7730 HarI2[1] % 1 Harmoniczna pr¹du fazy L2 193 7731 HarI2[2] % 2 Harmoniczna pr¹du fazy L2 194 7732 HarI2[3] % 3 Harmoniczna pr¹du fazy L2 195 7733 HarI2[4] % 4 Harmoniczna pr¹du fazy L2 196 7734 HarI2[5] % 5 Harmoniczna pr¹du fazy L2 197 7735 HarI2[6] % 6 Harmoniczna pr¹du fazy L2 198 7736 HarI2[7] % 7 Harmoniczna pr¹du fazy L2 199 7737 HarI2[8] % 8 Harmoniczna pr¹du fazy L2 200 7738 HarI2[9] % 9 Harmoniczna pr¹du fazy L2 201 7739 HarI2[10] % 10 Harmoniczna pr¹du fazy L2 202 7740 HarI2[11] % 11 Harmoniczna pr¹du fazy L2 203 7741 HarI2[12] % 12 Harmoniczna pr¹du fazy L2 204 7742 HarI2[13] % 13 Harmoniczna pr¹du fazy L2 205 7743 HarI2[14] % 14 Harmoniczna pr¹du fazy L2 206 7744 HarI2[15] % 15 Harmoniczna pr¹du fazy L2 207 7745 HarI2[16] % 16 Harmoniczna pr¹du fazy L2 208 7746 HarI2[17] % 17 Harmoniczna pr¹du fazy L2 209 7747 HarI2[18] % 18 Harmoniczna pr¹du fazy L2 210 7748 HarI2[19] % 19 Harmoniczna pr¹du fazy L2 211 7749 HarI2[20] % 20 Harmoniczna pr¹du fazy L2 212 7750 HarI2[21] % 21 Harmoniczna pr¹du fazy L2 213 7751 HarI2[22] % 22 Harmoniczna pr¹du fazy L2 214 7752 HarI2[23] % 23 Harmoniczna pr¹du fazy L2 215 7753 HarI2[24] % 24 Harmoniczna pr¹du fazy L2 216 7754 HarI2[25] % 25 Harmoniczna pr¹du fazy L2 217 7755 HarI3[1] % 1 Harmoniczna pr¹du fazy L3 26

218 7756 HarI3[2] % 2 Harmoniczna pr¹du fazy L3 219 7757 HarI3[3] % 3 Harmoniczna pr¹du fazy L3 220 7758 HarI3[4] % 4 Harmoniczna pr¹du fazy L3 221 7759 HarI3[5] % 5 Harmoniczna pr¹du fazy L3 222 7760 HarI3[6] % 6 Harmoniczna pr¹du fazy L3 223 7761 HarI3[7] % 7 Harmoniczna pr¹du fazy L3 224 7762 HarI3[8] % 8 Harmoniczna pr¹du fazy L3 225 7763 HarI3[9] % 9 Harmoniczna pr¹du fazy L3 226 7764 HarI3[10] % 10 Harmoniczna pr¹du fazy L3 227 7765 HarI3[11] % 11 Harmoniczna pr¹du fazy L3 228 7766 HarI3[12] % 12 Harmoniczna pr¹du fazy L3 229 7767 HarI3[13] % 13 Harmoniczna pr¹du fazy L3 230 7768 HarI3[14] % 14 Harmoniczna pr¹du fazy L3 231 7769 HarI3[15] % 15 Harmoniczna pr¹du fazy L3 232 7770 HarI3[16] % 16 Harmoniczna pr¹du fazy L3 233 7771 HarI3[17] % 17 Harmoniczna pr¹du fazy L3 234 7772 HarI3[18] % 18 Harmoniczna pr¹du fazy L3 235 7773 HarI3[19] % 19 Harmoniczna pr¹du fazy L3 236 7774 HarI3[20] % 20 Harmoniczna pr¹du fazy L3 237 7775 HarI3[21] % 21 Harmoniczna pr¹du fazy L3 238 7776 HarI3[22] % 22 Harmoniczna pr¹du fazy L3 239 7777 HarI3[23] % 23 Harmoniczna pr¹du fazy L3 240 7778 HarI3[24] % 24 Harmoniczna pr¹du fazy L3 241 7779 HarI3[25] % 25 Harmoniczna pr¹du fazy L3 27

DODATEK A OBLICZANIE SUMY KONTROLNEJ W dodatku tym przedstawiono przyk³ady funkcji w jêzyku C, obliczaj¹ce sumê kontroln¹ LRC dla trybu ASCII oraz CRC dla trybu RTU. Funkcja do obliczenia LRC ma dwa argumenty: unsigned char *outmsg; WskaŸnik do bufora komunikacyjnego, zawieraj¹cego dane binarne, z których nale y obliczyæ LRC unsigned short usdatalen; Liczba bajtów w buforze komunikacyjnym Funkcja zwraca LRC typu unsigned char. static unsigned char LRC(outMsg, usdatalen) unsigned char *outmsg; /* bufor do obliczenia LRC */ unsigned short usdatalen; /* liczba bajtów w buforze */ { unsigned char uchlrc = 0; /* inicjalizacja LRC */ while (usdatalen- -) uchlrc += *outmsg++; /* dodaj bajt bufora bez przeniesienia */ return ((unsigned char)(-(char uchlrc))); /* zwraca sumê w kodzie uzupe³nienia do dwóch */ } Poni ej przedstawiono przyk³ad funkcji w jêzyku C obliczaj¹cej sumê CRC. Wszystkie mo liwe wartoœci sumy CRC s¹ umieszczone w dwóch tablicach. Pierwsza tablica zawiera starszy bajt wszystkich z 256 mo liwych wartoœci 16-bitowego pola CRC, natomiast druga tablica m³odszy bajt. Wyznaczenie sumy CRC poprzez indeksowanie tablic jest o wiele 28

szybsze ni obliczenie nowej wartoœci CRC dla ka dego znaku z bufora komunikacyjnego. Uwaga: Poni sza funkcja przestawia bajty sumy CRC starszy/m³odszy, tak e wartoœæ CRC zwracana przez funkcjê mo e byæ bezpoœrednio umieszczona w buforze komunikacyjnym. Funkcja do obliczenia CRC ma dwa argumenty: unsigned char *puchmsg; WskaŸnik do bufora komunikacyjnego, zawieraj¹cego dane binarne, z których nale y obliczyæ CRC unsigned short usdatalen; Liczba bajtów w buforze komunikacyjnym Funkcja zwraca CRC typu unsigned short. unsigned short CRC16(puchMsg, usdatalen) unsigned char *puchmsg; /* bufor do obliczenia CRC */ unsigned short usdatalen; /* liczba bajtów w buforze */ { unsigned char uchcrchi = 0xFF; /* inicjalizacja starszego bajtu CRC */ unsigned char uchcrclo = 0xFF; /* inicjalizacja m³odszego bajtu CRC */ while (usdatalen- -) { uindex = uchcrchi ^ *puchmsg++; /* obliczenie CRC */ uchcrchi = uchcrclo ^ crc_hi[uindex]; uchcrclo = crc_lo[uindex]; } return(uchcrchi<<8 uchcrclo); } 29

//tablica starszego bajtu CRC const unsigned char crc_hi[ ]={ 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40 }; 30

//tablica mlodszego bajtu CRC const unsigned char crc_lo[ ]={ 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, 0x40 }; 31

32