MODBUS_SLAVE_B (197)


MODBUS_SLAVE_B (197)

ID                                                 197

 

 

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 (5 sztuk):

Nr

Typ

Impuls

Oznaczenie

Uwagi

1

B

nie

enabled

stan wysoki na wejściu aktywuje wymianę danych

2 I - func

Numer funkcji. 

Dostępne funkcje :

01 - ReadCoils

05 - WriteSingleCoil

15 - WriteMultipleCoils

06 - WriteSingleRegister

16 - WriteMultipleRegisters

03 - ReadHoldingRegisters

3 I - addr Numer początkowy rejestru modbus
4 I - num Numer początkowy rejestru lub markera
5 I - size Ilość rejestrów lub markerów do wysłania/odczytania

 

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: brak

 

Opis działania:

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
2 Niedozwolona ilość rejestrów
3 Niedozwolony numer rejestru modbus
4 Niedozwolony zakres rejestrów modbus
5 Niedozwolony numer markera sterownika
6 Niedozwolony zakres markerów sterownika
7 Niedozwolony numer rejestru sterownika
8 Niedozwolony zakres rejestrów sterownika

 

Do nawiązania komunikacji należy użyć jednorazowo funkcji RS485WriteSettings i skonfigurować w ten sposób parametry interfejsu Modbus.   

 

Uwagi:

 

Używane rejestry R i znaczniki M:

Blok wykorzystuje rejestry bądź markery zdefiniowane przez użytkownika na wejściach bloku.