Parametry techniczne wysokosprawnego przemiennika częstotliwości
CRC CHK (młodszy bajt)
CRC CHK nadrzędne
Komunikat odpowiedzi slave'a
ADR
CMD
Adres danych (starszy bajt)
Adres danych (młodszy bajt)
Zawartość danych (starszy bajt)
Zawartość danych (młodszy bajt)
CRC CHK (młodszy bajt)
CRC CHK (starszy bajt)
Metoda weryfikacji - metoda weryfikacji CRC: CRC (cykliczna kontrola nadmiarowa) przyjmuje format ramki RTU, a komunikat za-
wiera pole detekcji błędu oparte na metodzie CRC. Pole CRC wykrywa zawartość całej wiadomości. Pole CRC ma dwa bajty, w tym 16-
bitową binarną wartość systemową. Urządzenie transmisyjne oblicza je i dodaje do wiadomości. Urządzenie odbierające ponownie obli-
cza CRC odebranego komunikatu i porównuje go z wartością w odebranym polu CRC. Jeśli dwie wartości CRC nie są równe, transmisja
jest nieprawidłowa.
CRC najpierw przechowuje 0xFFFF, a następnie wywołuje proces do przetwarzania ciągłych 8-bitowych bajtów w komunikacie i war-
tości w bieżącym rejestrze. Tylko 8 bitów danych w każdym znaku jest ważnych dla CRC, a bit startu, bit stopu i bit parzystości są
nieważne.
W procesie generowania CRC każdy 8-bitowy bajt jest poddawany XOR-owaniu z osobną zawartością rejestru. Na koniec przesuwa się
w kierunku najmniej znaczącego bitu, a najbardziej znaczący bit jest wypełniany wartością 0. LSB jest wyodrębniany w celu wykrycia.
Jeśli LSB ma wartość 1, rejestr zostanie XORowany z wartością zadaną. Jeśli LSB ma wartość 0, brak działania. Cały proces jest powta-
rzany 8 razy. Po zakończeniu ostatniego bitu (ósmy bit), następny 8-bitowy bajt zostanie XORowany z bieżącą wartością samego rejestru.
Wartością końcową w rejestrze jest wartość CRC po wykonaniu wszystkich bajtów we wiadomości.
Dodając CRC do wiadomości, najpierw dodać młodszy bajt, a następnie starszy bajt. Obliczanie CRC jak niżej:
Definicja adresu parametru komunikacyjnego
W tej części znajdują się treści komunikacyjne służące do sterowania pracą przemiennika częstotliwości, ustawiania stanu i powiązanych
parametrów przemiennika.
Parametr kodu funkcji do odczytu i zapisu (niektórych kodów funkcji nie można modyfikować, mogą być używane lub monitorowane
przez producenta).
Zasady oznaczania adresu parametru kodu funkcji:
Reguła wyrażenia adresu parametru z numerem grupy i oznaczeniem nr kodu funkcji będącego adresem parametru: starszy bajt: P0 ~ PF
(grupa P), A0 ~ AF (grupa A), 70 ~ 7F (grupa U); młodszy bajt: 00 ~ FF,
wartość CRC CHK do obliczenia
02H
06H
F0H
0AH
13H
88H
wartość CRC CHK do obliczenia
unsigned int crc_chk_value(unsigned char *data_value, unsigned char length){
unsigned int crc_value=0xFFFF;
int i;
while(length--)
{
^0xa001;
}
return(crc_value);
}
{
crc_value^=*data_value++;
for(i=0;i<8;i++)
if(crc_value&0x0001)
crc_value= ( crc_value>> 1)
}
else
crc_value=crc_value>>1;
{
}
}
{