MODBUS_SLAVE (194)
MODBUS_SLAVE (194)
ID 194
Zastosowanie: |
PLC |
Grupa: I/O
Opis skrótowy:
Funkcja wymieniająca wskazane rejestry lub markery za pomocą protokołu modbus z urządzeniem master na magistrali RS485.
Wejścia (1 sztuka):
Nr |
Typ |
Impuls |
Oznaczenie |
Uwagi |
1 |
B |
nie |
enabled |
Stan wysoki na wejściu aktywuje wymianę danych |
Wyjścia (3 sztuki):
Nr |
Typ |
Impuls |
Oznaczenie |
Uwagi |
1 |
B |
nie |
ready |
Sygnalizacja gotowości wymiany danych |
2 |
B |
tak (0->1) |
error |
Sygnalizacja błędu |
3 |
I |
- |
error_id |
Numer błędu |
Ustawienia:
nr |
typ |
oznaczenie |
uwagi |
1 | I | Function |
Dostępne funkcje: 01 - ReadCoils 05 - WriteSingleCoil 15 - WriteMultipleCoils 06 - WriteSingleRegister 16 - WriteMultipleRegisters 03 - ReadHoldingRegisters |
2 | I | StartAddress | Numer początkowy rejestru modbus |
3 | I | StartRegister | Numer początkowy rejestru lub markera |
4 | I | Quantity | Ilość rejestrów lub markerów do wysłania/odczytania |
Działanie funkcji:
Funkcja MODBUS_SLAVE komunikuje się z urządzeniami zewnętrznymi za pomocą protokołu Modbus. W bloku dostępnych jest 6 funkcji za pomocą których można wysyłać lub odbierać dane.
Funkcja 06 - WriteSingleRegister umożliwia zapis pojedyńczego rejestru do urządzenia slave, ilość rejestrów w tym przypadku będzie zawsze równa 1. Blok może działać również w dwóch konfiguracjach.
Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku pojawi się jedynka to dane z buforów modbus zostaną jednorazowo skopiowane do rejestrów/markerów. W tym przypadku urządzenie master może
ale nie musi wysyłać danych do urządzenia slave. Powyższa konfiguracja synchronizuje wymianę danych z poziomu urządzenia slave. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. W
momencie załączenia bloku, blok przechodzi w tryb czekania na dane od mastera. Po otrzymaniu danych od mastera, blok kopiuje bufory modbus do wybranych rejestrów/markerów. Kolejna wymiana danych
zajdzie dopiero w momencie otrzymania danych z urządzenia master. Powyższa konfiguracja synchronizuje wymianę danych z poziomu urządzenia master.
Funkcja 16 - WriteMultipleRegisters jest przeznaczona do wysłania dowolnej liczby rejestrów. Blok może działać również w dwóch konfiguracjach. Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku
pojawi się jedynka to dane z buforów modbus zostaną jednorazowo skopiowane do rejestrów/markerów. W tym przypadku urządzenie master może ale nie musi wysyłać danych do urządzenia slave. Powyższa
konfiguracja synchronizuje wymianę danych z poziomu urządzenia slave. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. W momencie załączenia bloku, blok przechodzi w tryb czekania na dane
od mastera. Po otrzymaniu danych od mastera, blok kopiuje bufory modbus do wybranych rejestrów/markerów. Kolejna wymiana danych zajdzie dopiero w momencie otrzymania danych z urządzenia
master. Powyższa konfiguracja synchronizuje wymianę danych z poziomu urządzenia master.
Funkcja 03 - ReadHoldingRegisters odczytuje dowolne rejestry urządzenia slave. Blok może działać w dwóch konfiguracjach. Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku pojawi się jedynka
to zdefiniowane rejestry/markery zostaną jednorazowo skopiowane do buforów modbus. Urządzenie master może odczytać te dane w dowolnym momencie ale nie musi. Jeśli na wejściu bloku pojawi się kolejny
impuls to ponownie zostaną załadowane rejestry do buforów modbus. Powyższa konfiguracja synchronizuje wymianę danych z poziomu urządzenia slave. Druga konfiguracja to podanie na wejście bloku jedynki
na stałe. W momencie załączenia bloku, jednorazowo kopiowane są rejestry/markery do buforów modbus. Urządzenie master musi odebrać dane aby doszło do ponownego załadowania rejestrów/markerów przez
blok. W momencie odebrania danych przez urządzenie master, dochodzi do automatycznego załadowania rejestrów/markerów do buforów modbus. Powyższa konfiguracja synchronizuje wymianę danych z
poziomu urządzenia master.
Funkcja 01 - ReadCoils odczytuje wiele markerów z urządzenia slave. Blok może działać w dwóch konfiguracjach. Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku pojawi się jedynka to
zdefiniowane rejestry/markery zostaną jednorazowo skopiowane do buforów modbus. Urządzenie master może odczytać te dane w dowolnym momencie ale nie musi. Jeśli na wejściu bloku pojawi się kolejny
impuls to ponownie zostaną załadowane rejestry do buforów modbus. Powyższa konfiguracja synchronizuje wymianę danych z poziomu urządzenia slave. Druga konfiguracja to podanie na wejście bloku jedynki
na stałe. W momencie załączenia bloku, jednorazowo kopiowane są rejestry/markery do buforów modbus. Urządzenie master musi odebrać dane aby doszło do ponownego załadowania rejestrów/markerów przez
blok. W momencie odebrania danych przez urządzenie master, dochodzi do automatycznego załadowania rejestrów/markerów do buforów modbus. Powyższa konfiguracja synchronizuje wymianę danych z
poziomu urządzenia master.
Funkcja 05 - WriteSingleCoil zapisuje pojedynczy marker do sterownika. Blok może działać również w dwóch konfiguracjach. Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku pojawi się jedynka to
dane z buforów modbus zostaną jednorazowo skopiowane do rejestrów/markerów. W tym przypadku urządzenie master może ale nie musi wysyłać danych do urządzenia slave. Powyższa konfiguracja
synchronizuje wymianę danych z poziomu urządzenia slave. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. W momencie załączenia bloku, blok przechodzi w tryb czekania na dane od mastera.
Po otrzymaniu danych od mastera, blok kopiuje bufory modbus do wybranych rejestrów/markerów. Kolejna wymiana danych zajdzie dopiero w momencie otrzymania danych z urządzenia master. Powyższa
konfiguracja synchronizuje wymianę danych z poziomu urządzenia master.
Funkcja 15 - WriteMultipleCoils zapisuje wiele markerów do sterownika. Blok może działać również w dwóch konfiguracjach. Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku pojawi się jedynka to
dane z buforów modbus zostaną jednorazowo skopiowane do rejestrów/markerów. W tym przypadku urządzenie master może ale nie musi wysyłać danych do urządzenia slave. Powyższa konfiguracja
synchronizuje wymianę danych z poziomu urządzenia slave. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. W momencie załączenia bloku, blok przechodzi w tryb czekania na dane od mastera.
Po otrzymaniu danych od mastera, blok kopiuje bufory modbus do wybranych rejestrów/markerów. Kolejna wymiana danych zajdzie dopiero w momencie otrzymania danych z urządzenia master. Powyższa
konfiguracja synchronizuje wymianę danych z poziomu urządzenia master.
W trakcie trwania komunikacji wyjście busy jest załączone. Wyjścia error i err_id są aktywowane w momencie wystąpienia błędów. Tabela z opisem błędów znajduje się poniżej:
Err_id |
Opis |
0 | Brak błędu |
1 | Nieobsługiwana funkcja |
Do nawiązania komunikacji należy użyć jednorazowo funkcji RS485WriteSettings i skonfigurować w ten sposób parametry interfejsu Modbus.
Uwagi:
- Dla sterownika w wersji 4s2a można zaadresować od 1 do 127 urządzeń slave
- W wersji 4s2a sterownika, funkcje przeznaczone do zarządzania wejściami/wyjściami operują jedynie na markerach
- W wersji 4s2a sterownika, dopuszczalny zakres adresów modbus wynosi od 0 do 999
- W wersji 4s2a sterownika, dopuszczalny zakres adresów rejestrów sterownika wynosi od 1 do 5000
- W wersji 4s2a sterownika, dopuszczalny zakres adresów markerów sterownika wynosi od 1 do 2000
- W wersji 4s2a sterownika, maksymalna ilość rejestrów/markerów sterownika i rejestrów modbus wynosi 800
- minimalny czas odpowiedzi sterownika wynosi ok 30ms
Używane rejestry R i znaczniki M:
Blok wykorzystuje rejestry bądź markery zdefiniowane przez użytkownika w ustawieniach bloku.