miernik parametrów sieci

Komentarze

Transkrypt

miernik parametrów sieci
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:
- 1...247
- 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.
l
l
adres miernika
prêdkoœæ transmisji
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:
⇒slave: adres odbiorcy, kod reprezentuj¹cy ¿¹dane polecel master⇒
nie, dane, s³owo kontrolne zabezpieczaj¹ce przesy³an¹ wiadomoœæ,
⇒master:
l slave⇒
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
pocz¹tku
Adres
Funkcja
1 znak «:» 2 znaki 2 znaki
Dane
Kontrola
LRC
n znaków 2 znaki
Znacznik
koñca
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
pocz¹tku
Adres Funkcja
T1-T2-T3-T4 8 bitów 8 bitów
Dane
Kontrola
CRC
n x 8 bitów 16 bitów
Znacznik
koñca
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
03
znaczenie
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 16bitowy 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
11
03
10
adres
adres
liczba
liczba
suma
rejestru rejestru rejestrów rejestrów kontrolna
Hi
Lo
Hi
Lo
00
6B
00
03
7E
LRC
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 konHi
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
11
funkcja
06
adres adres
rejestru rejestru
Hi
Lo
00
87
wartoϾ wartoϾ suma
Hi
Lo
kontrolna
03
9E
C1
LRC
OdpowiedŸ:
Prawid³ow¹ odpowiedzi¹ na ¿¹danie zapisu wartoœci do rejestru jest
retransmisja komunikatu po wykonaniu operacji.
Przyk³ad.
adres
11
funkcja
06
adres
adres wartoϾ wartoϾ suma
rejestru rejestru
Hi
Lo
kontrolna
Hi
Lo
00
87
03
9E
LRC
C1
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 konHi
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
rej.
Hi
adres
rej.
Lo
liczba
rej.
Hi
liczba
rej.
Lo
11
10
00
87
00
02
suma
kontrolna
56
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
11
11
12
suma kontrolna
DE
LRC
LRC
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¹slave
11
bajtów urz¹dzenia
11
6
50
dzenia
FF
zakres
zakres suma
napiêciowy pr¹dowy kontrolna
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
slave
0A
14
adres
adres
liczba
zmiennej zmiennej zmiennych
01
liczba
suma
zmiennych kontrolna
Hi
Lo
Hi
Lo
04
A1
00
01
4F
LRC
Przyk³ad: b³êdna odpowiedŸ
adres slave
0A
funkcja
81
kod b³êdu
suma kontrolna
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
rejestru
symbol
zakres
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
4
4003
Ao_L
80... 120%
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 PAV (wart. max i min)
4014
PA_t
1, 2, 3
15
opis
Wielkoœæ na wyjœciu ci¹g³ym,
kod z Tabeli 2
Wspó³czynnik przeskalowuj¹cy
wyjœcie
Czas uœredniania mocy PAV :
1- 15 min, 2- 30 min, 3- 60 min
17
16
4015
17
4016
18
4017
A1_n
0, 1...34
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
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
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
PA_S
0,1
0000...9999
Synchronizacja uœredniania
mocy PAV z zegarem rzeczywistym
Zmiana kodu dostêpu
Wyjœcie dwustanowe
1 - wielkoϾ, kod z Tabeli2
Wyjœcie dwustanowe
2 - wielkoϾ, kod z Tabeli 2
Wyjœcie dwustanowe
3 - wielkoϾ, kod z Tabeli 2
Zawartoœæ rejestrów 32-bitowych o adresach od 7500 do 7779.
Tabela 2
Lp kod
adres symbol jednostka
rejestru
nazwa wielkoœci
1
00
bez wielkoœci - wyœwietlacz
wygaszony
2
01
7500
U1
V
3
02
7501
I1
A
Pr¹d fazy L1
4
03
7502
P1
W
Moc czynna fazy L1
Napiêcie fazy L1
5
04
7503
Q1
VAr
Moc bierna fazy L1
6
05
7504
S1
VA
Moc pozorna fazy L1
7
06
7505
Pf1
Pf
Wspó³czynnik mocy czynnej fazy L1
8
07
7506
tϕ1
tϕ
Stosunek mocy biernej do czynnej
fazy L1
Napiêcie fazy L2
9
08
7507
U2
V
10
09
7508
I2
A
Pr¹d fazy L2
11
10
7509
P2
W
Moc czynna fazy L2
12
11
7510
Q2
VAr
Moc bierna fazy L2
13
12
7511
S2
VA
Moc pozorna fazy L2
14
13
7512
Pf2
Pf
Wspó³czynnik mocy czynnej fazy L2
15
14
7513
tϕ2
tϕ
Stosunek mocy biernej do czynnej
fazy L2
16
15
7514
U3
V
Napiêcie fazy L3
17
16
7515
I3
A
Pr¹d fazy L3
18
17
7516
P3
W
Moc czynna fazy L3
19
18
7517
Q3
VAr
Moc bierna fazy L3
20
19
7518
S3
VA
Moc pozorna fazy L3
21
20
7519
Pf3
Pf
Wspó³czynnik mocy czynnej fazy L3
22
21
7520
tϕ3
tϕ
Stosunek mocy biernej do czynnej
fazy L3
23
22
7521
Us
V
Napiêcie 3-fazowe œrednie
24
23
7522
Is
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
U12
V
Napiêcie miêdzyfazowe L1-L2
32 31
7530
U23
V
Napiêcie miêdzyfazowe L2-L3
33 32
7531
U31
V
Napiêcie miêdzyfazowe L3-L1
34 33
7532
U123
V
Napiêcie miêdzyfazowe œrednie
35 34
7533
PAV
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
EnPz
Wh
Energia czynna z licznika
zewnêtrznego
40 38
7538
Enbz
VArh
Energia bierna z licznika
zewnêtrznego
41 40
7539
EnSz
VA
42 41
7540
Data - dzieñ, miesi¹c
43 42
7541
Data - rok
44 43
7542
Czas - godziny, minuty
45 44
7543
Energia pozorna z licznika
zewnêtrznego
Czas - sekundy
46
7544 , 7545
U1
V
Napiêcie fazy L1 - min, max
47
7546, 7547
U2
V
Napiêcie fazy L2 - min, max
48
7548, 7549
U3
V
Napiêcie fazy L3 - min, max
49
7550, 7551
I1
A
Pr¹d fazy L1 - min, max
50
7552, 7553
I2
A
Pr¹d fazy L2 - min, max
51
7554, 7555
I3
A
Pr¹d fazy L3 - min, max
52
7556, 7557
P1
W
Moc czynna fazy L1 - min, max
20
53
7558, 7559
P2
W
54
7560, 7561
P3
W
Moc czynna fazy L2 - min, max
Moc czynna fazy L3 - min, max
55
7562, 7563
S1
VA
Moc pozorna fazy L1 - min, max
56
7564, 7565
S2
VA
Moc pozorna fazy L2 - min, max
57
7566, 7567
S3
VA
Moc pozorna fazy L3 - min, max
58
7568, 7569
Q1
VAr
Moc bierna fazy L1 - min, max
59
7570, 7571
Q2
VAr
Moc bierna fazy L2 - min, max
60
7572, 7573
Q3
VAr
Moc bierna fazy L3 - min, max
61
7574, 7575
Pf1
Pf
Wspó³czynnik mocy czynnej
fazy L1 - min, max
62
7576, 7577
Pf2
Pf
Wspó³czynnik mocy czynnej
fazy L2 - min, max
63
7578, 7579
Pf3
Pf
Wspó³czynnik mocy czynnej
fazy L3 - min, max
64
7580, 7581
tϕ1
tϕ1 = Q1/ P1 fazy L1 - min, max
65
7582, 7583
tϕ2
tϕ2 = Q2/ P2 fazy L2 - min, max
66
7584, 7585
tϕ3
67
7586, 7587
Us
68
7588, 7589
69
7590, 7591
70
tϕ3 = Q2/ P3 fazy L3 - min, max
V
Napiêcie 3-fazowe œrednie - min, max
Is
A
Pr¹d 3-fazowy œredni - min, max
P
W
Moc czynna 3-fazowa - min, max
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
U12
V
Napiêcie miêdzyfazowe
L1-L2 - min, max
76
7604, 7605
U23
V
Napiêcie miêdzyfazowe
L2-L3 - min, max
77
7606, 7607
U31
V
Napiêcie miêdzyfazowe
L3-L1 - min, max
21
78
7608, 7609
U123
V
Napiêcie miêdzyfazowe œrednie min, max
79
7610, 7611
PAV
W
Moc czynna œrednia np.15 min. min, max
80 45
7612
THDU1
%
Wspó³czynnik zawartoœci
harmonicznych napiêcia fazy L1
81 46
7613
THDU2
%
Wspó³czynnik zawartoœci
harmonicznych napiêcia fazy L2
82 47
7614
THDU3
%
Wspó³czynnik zawartoœci
harmonicznych napiêcia fazy L3
83 48
7615
THDI1
%
Wspó³czynnik zawartoœci
harmonicznych pr¹du fazy L1
84 49
7616
THDI2
%
Wspó³czynnik zawartoœci
harmonicznych pr¹du fazy L2
85 50
7617
THDI3
%
Wspó³czynnik zawartoœci
harmonicznych pr¹du fazy L3
86
7618, 7619
THDU1
%
Wspó³czynnik zawartoœci
harmonicznych napiêcia
fazy L1 - min, max
87
7620, 7621
THDU2
%
Wspó³czynnik zawartoœci
harmonicznych napiêcia
fazy L2 - min, max
88
7622, 7623
THDU3
%
Wspó³czynnik zawartoœci
harmonicznych napiêcia
fazy L3 - min, max
89
7624, 7625
THDI1
%
Wspó³czynnik zawartoœci
harmonicznych pr¹du
fazy L1 - min, max
90
7626, 7627
THDI2
%
Wspó³czynnik zawartoœci
harmonicznych pr¹du
fazy L2 - min, max
91
7628, 7629
THDI3
%
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
11 Harmoniczna napiêcia fazy L1
102
7640
HarU1[11]
%
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
11 Harmoniczna napiêcia fazy L2
127
7665
HarU2[11]
%
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
11 Harmoniczna napiêcia fazy L3
152
7690
HarU3[11]
%
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;
unsigned short usDataLen;
WskaŸnik do bufora komunikacyjnego, zawieraj¹cego dane binarne, z których nale¿y obliczyæ CRC
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
30
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
};
//tablica starszego bajtu CRC
const unsigned char crc_hi[ ]={
31
0x00,
0x04,
0x08,
0x1D,
0x11,
0x37,
0x3B,
0x2E,
0x22,
0x62,
0x6E,
0x7B,
0x77,
0x51,
0x5D,
0x48,
0x44,
0x40
};
0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,
//tablica mlodszego bajtu CRC
const unsigned char crc_lo[ ]={
32

Podobne dokumenty