5.6 Modbus
5.6.1 Wartości pomiarowe i parametry poprzez Modbus
W systemie Modbus jako informacje o urządzeniu udostępniane są różne wartości pomiarowe i parametry.
Tabela 10: Wywoływanie informacji o urządzeniu
Funkcja Kod funkcji
Odczyt Kod funkcji 03
(0x03 Read Holding Registers)
Zapis Kod funkcji 16
(0x10 Write Multiple Registers) Polecenia wyjść
binarnych
Kod funkcji 05
(0x05 Write Single Coil)
Modbus RTU używa rejestrów 16-bitowych. W przypadku wartości zapisanych jako liczby 32-bitowe konieczny jest odczyt dwóch rejestrów.
Rejestr i długość są przedstawiane w formie liczb szesnastkowych i mogą być zastosowane w tej formie bezpośrednio w protokole Modbus RTU.
WSKAZÓWKA
Rejestry (4500 … 4537) mogą zostać odczytane za pomocą kodu funkcji 03 (0x03 Read Holding Registers) jako cały blok. W przypadku przerw w adresie lub błędnych danych odczytu wartość zwrotna wynosi 00.
5 Ustawienie/montaż
28 z 56
PumpMeter
5.6.1.1 Parametry pracy Modbus RTU Tabela 11: Przegląd parametrów pracy Modbus
Rejestr Długość w bajtach
Typ / format Parametry Opis parametrów Jednostka Rodzaj dostępu Odczyt
jako blok pojedynczo 45 00 00 02 UINT32 1-1-1 Aktywne błędy z kodowaniem bitowym Bit 1 = kod błędu E01…Bit 20
Kod błędu E20
read only ✘
-45 02 00 02 INT32 1-1-2 Zmierzone ciśnienie zasysania Pa (1 bar = 1 × 105 Pa) read only ✘
-45 04 00 02 INT32 1-1-3 Zmierzone ciśnienie końcowe Pa (1 bar = 1 × 105 Pa) read only ✘
-45 06 00 02 INT32 1-1-4 Obliczone ciśnienie różnicowe Pa (1 bar = 1 × 105 Pa) read only ✘
-45 08 00 02 UINT32 1-1-5 Obliczona wysokość tłoczenia 1/1000 m read only ✘
-45 15 00 02 UINT32 1-1-6 Wydajność m³/h × 1000 read only ✘
-45 0C 00 02 UINT32 1-1-8 Moc na wale Watt read only ✘
-45 0E 00 01 ENUM 1-1-9 Wskazanie jakościowe punktu
znamionowego pracy (ð Rozdział 6.1, Strona 33)
0 = brak wskazania wydajności 1 = skrajne obciążenie częściowe (1.
ćwiartka)
2 = umiarkowane obciążenie częściowe (2. ćwiartka) 3 = optimum (3. ćwiartka) 4 = przeciążenie (4. ćwiartka) 5 = obciążenie częściowe (1. i 2.
ćwiartka) 6 = błąd EXX
(ukryte wskazanie punktu znamionowego pracy)
read only ✘
-45 0F 00 01 ENUM 1-1-10 Wyświetlanie ikony EFF 0 = brak ikony EFF na wyświetlaczu
(pompa działa efektywnie) 1 = ikona EFF jest wyświetlana (potrzeba optymalizacji)
read only ✘
-45 10 00 01 ENUM 1-1-11 Wyjście analogowe Mode wyjście 0 = ciśnienie końcowe
wyjście 1 = ciśnienie różnicowe wyjście 2 = wydajność Q
read only ✘
-45 11 00 02 UINT32 1-1-12 Czas pracy modułu PumpMeter h read only
-45 13 00 02 UINT32 1-1-13 Cykle przełączania - read only ✘
-45 1C 00 02 UINT32 1-1-14 Wartość pomiarowa Q PumpDrive m³/h × 1000 read / write 10) ✘
-10 Wartości muszą być aktualizowane cyklicznie przynajmniej co 14 s.
5 Ustawienie/montaż
PumpMeter
29 z 56Rejestr Długość w bajtach
Typ / format Parametry Opis parametrów Jednostka Rodzaj dostępu Odczyt
jako blok pojedynczo
45 1E 00 01 UINT16 1-1-15 Aktualna prędkość obrotowa min⁻¹ read only ✘
-45 1F 00 01 UINT16 1-1-16 Częstotliwość wyjściowa przetwornicy częstotliwości
Hz × 10 read / write 10) ✘
-45 20 00 01 UINT16 1-1-17 Prędkość obrotowa przetwornicy częstotliwości PumpDrive
min⁻¹ read / write10) ✘
-45 21 00 02 UINT32 1-1-18 Moc czynna przetwornicy częstotliwości PumpDrive
kW × 100 read / write10) ✘
-45 24 00 01 ENUM 1-1-19 Źródło prędkości obrotowej 0 = nominalna prędkość obrotowa silnika
1 = przetwornica częstotliwości PDrive 0…10 V
2 = Modbus PDrive
read only ✘
-45 25 00 02 UINT32 1-1-20 Wydajność z wysokości tłoczenia m³/h read only ✘
-45 29 00 02 UINT32 1-1-21 Wydajność z mocy m³/h read only ✘
-45 35 00 01 ENUM 1-1-22 Źródło wydajności 0 = wartość szacunkowa Qest
1 = PumpDrive Q PDrive
read only ✘
-45 36 00 01 ENUM 1-1-23 Status pompy 0 = pompa wyłączona
1 = pompa pracuje
read only ✘
-45 37 00 02 UINT32 1-1-24 Godziny pracy pompy w zależności od rejestru 01 02
„Jednostka czasu pracy” (Default = h)
read only ✘
-34 00 00 01 UINT8 3-10-1 Adres Modbus Default 247 read / write - ✘
34 01 00 01 ENUM 3-10-2 Prędkość transmisji danych Modbus 0 = 9600 1 = 19200 2 = 38400 3 = 115200
read / write - ✘
34 02 00 01 UINT8 3-10-3 Modbus Timeout Default 15s read / write - ✘
34 03 00 01 ENUM 3-10-4 IO Mode 0 = Modbus Timeout<1/> (1 = wej./
wyj. analogowe)<2/> 2 = Modbus na stałe
read / write - ✘
33 09 00 01 ENUM 3-3-12 Wskazanie punktu znamionowego
pracy
0 = wył.
1 = wł.
read / write - ✘
33 04 00 001 UINT8 3-3-9 Tolerancja EFF 0 … 100 % read / write - ✘
5 Ustawienie/montaż
30 z 56
PumpMeter
Rejestr Długość w bajtach
Typ / format Parametry Opis parametrów Jednostka Rodzaj dostępu Odczyt
jako blok pojedynczo
33 0D 00 01 ENUM 3-3-14 Możliwość wyboru wskazywanej
wartości
0 = według przyłącza 1 = wysokość tłoczenia 2 = ciśnienie różnicowe
read / write - ✘
46 24 00 01 ENUM 3-3-15 Możliwość wyboru wyjścia
analogowego
0 = według przyłącza 1 = wysokość tłoczenia 2 = ciśnienie różnicowe 3 = wydajność Q
read / write - ✘
45 66 00 01 ENUM 3-1-21 Wykryta częstotliwość łopatek 0 = wył.
1 = wł.
read / write - ✘
00 44 00 02 UINT 16 3-7-3 Gęstość medium kg/m3 read / write - ✘
01 02 00 01 ENUM 3-5-1 Jednostka czasu pracy 0 = s
1 = min 2 = h 3 = dni
read / write - ✘
70 7B 00 02 UINT32 3-9-4 Częstotliwość znamionowa Hz read / write - ✘
Tabela 12: Przegląd poleceń wyjść binarnych
Kod funkcji Output Address Output Value Opis
0x05 0x0001 0xFF00 Polecenie wyjścia binarnego powoduje reset urządzenia.
0x05 0x0003 0xFF00 Polecenie wyjścia binarnego do zapisu zmodyfikowanych danych.
4072.8/10-PL
5.6.1.2 Przykłady
Przykład: parametr odczytu 1-1-2 (4502) ciśnienie ssania Request: F7 03 45 02 00 02 64 51
F7 Adres Slave (247 = F7 hex)
03 Functions Code (read Analog Output Holding Registers) 45 02 Adres danych pierwszego żądanego rejestru
00 02 Łączna liczba żądanych rejestrów
64 51 Wartość CRC11) (cyclic redundancy check) do kontroli błędów Response: F7 03 04 00 00 05 54 6E 93
F7 Adres Slave (247 = F7 hex)
03 Functions Code (read Analog Output Holding Registers)
04 Następująca liczba bajtów danych (2 registers x 2 bytes = 4 bytes) 00 00 05 54 554 hex (wartość parametru 0x4502 w [Pa])
6E 93 Wartość CRC (cyclic redundancy check) do kontroli błędów
Przykład: parametr zapisu 1-1-20 (4520) prędkość obrotowa PumpDrive -> 2500 rpm Request: F7 10 45 20 00 01 02 09 C4 9D 93
F7 Adres Slave (247 = F7 hex)
10 Functions Code (Preset Multiple Registers 16 = 10 hex) 45 20 Adres danych pierwszego rejestru
00 01 Liczba rejestrów, które są zapisywane
02 Następująca liczba bajtów danych (1 registers x 2 bytes = 2 bytes) 09 C4 Wartość, która jest zapisywana w rejestrze 45 20
9D 93 Wartość CRC (cyclic redundancy check) do kontroli błędów Response: F7 10 45 20 00 01 01 99
F7 Adres Slave (247 = F7 hex)
10 Functions Code (Preset Multiple Registers 16 = 10 hex) 45 20 Adres danych pierwszego rejestru
00 01 Liczba rejestrów do zapisania
01 99 Wartość CRC (cyclic redundancy check) do kontroli błędów Przykład: zmiana adresu Modbus urządzenia PumpMeter (parametr 3-10-1) za pomocą Modbus
Zapisywanie parametru 3-10-1
F7 10 34 00 00 01 02 00 01 37 07
F7 Adres Slave (247 = F7 hex; adres standardowy) 10 Functions Code (Preset Multiple Registers 16 = 10 hex) 34 00 Adres danych pierwszego rejestru
00 01 Liczba rejestrów, które są zapisywane
02 Następująca liczba bajtów danych (1 registers x 2 bytes = 2 bytes) 00 01 Wartość, która jest zapisywana w rejestrze 34 00 (nowy adres
Modbus = 1)
37 07 Wartość CRC (cyclic redundancy check) do kontroli błędów Zapisywanie parametrów F7 05 00 03 FF 00 68 AC
F7 Adres Slave (247 = F7 hex; ważne, aby w tym miejscu podać stary adres!)
05 Kod funkcji (Write Single Coil)
00 03 Polecenie wyjścia binarnego (Save Parameters)
11 CRC-16 (Modbus) zgodnie z obowiązującą specyfikacją Modbus V1.1b
5 Ustawienie/montaż
4072.8/10-PL
FF 00 Wartość wyjścia binarnego (FF 00 = ON), następuje uruchomienie zapisu
68 AC Wartość CRC (cyclic redundancy check) do kontroli błędów Wykonanie resetu F7 05 00 01 FF 00 C9 6C
F7 Adres Slave (247 = F7 hex; ważne, aby w tym miejscu podać stary adres!)
05 Kod funkcji (Write Single Coil)
00 01 Polecenie wyjścia binarnego (Reset Device)
FF 00 Wartość wyjścia binarnego (FF 00 = ON), reset zostaje wykonany C9 6C Wartość CRC (cyclic redundancy check) do kontroli błędów
4072.8/10-PL