MODBUS_MASTER (193)


MODBUS_MASTER (193)

ID                          193

 

   

 

Zastosowanie:

PLC

 

Grupa: I/O

 

Opis skrótowy: 

Funkcja wymieniająca wskazane rejestry za pomocą protokołu modbus z wybranym urządzeniem slave na magistrali RS485.

 

Wejścia (1 sztuka):

Nr

Typ

Impuls

Oznaczenie

Uwagi

1

B

 

nie

exe

Stan wysoki załącza wymianę danych 

 

Wyjścia (3 sztuki):

Nr

Typ

Impuls

Oznaczenie

Uwagi

1

B

nie

busy

Sygnalizacja trwania 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
03 - ReadHoldingRegisters
05 - WriteSingleCoil
06 - WriteSingleRegister 
15 - WriteMultipleCoils
16 - WriteMultipleRegisters 

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
5 I SlaveID Identyfikator urządzenia slave na magistrali modbus

 

Działanie funkcji:

Funkcja MODBUS_MASTER komunikuje się z urządzeniami zewnętrznymi za pomocą protokołu Modbus. W bloku dostępne są 3 funkcje za pomocą, których można wysyłać lub odbierać dane.


 

Funkcja 01 - ReadCoils odczytuje dowolne markery 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

blok wysyła zapytanie do urządzenia slave o wybrane markery, po otrzymaniu odpowiedzi rejestry są kopiowane do wybranych markerów sterownika. Jeśli na wejściu bloku pojawi się kolejny impuls blok wykona

się, jeśli poprzednia komunikacja została zakończona lub minął czas na odpowiedź. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. Blok w tej konfiguracji działa podobnie jak w powyższej, jedyna

różnica polega na tym że blok zaczyna kolejny cykl odczytu danych automatycznie w momencie zakończenia poprzedniego.
 

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 blok wysyła zapytanie do urządzenia slave o wybrane rejestry, po otrzymaniu odpowiedzi rejestry są kopiowane do wybranych rejestrów sterownika. Jeśli na wejściu bloku pojawi się kolejny impuls blok wykona się, jeśli poprzednia komunikacja została zakończona lub minął czas na odpowiedź. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. Blok w tej konfiguracji działa podobnie jak w powyższej, jedyna różnica polega na tym że blok zaczyna kolejny cykl odczytu danych automatycznie w momencie zakończenia poprzedniego.


Funkcja 05 - WriteSingleCoil umożliwia zapis pojedynczego markera do urządzenia slave, ilość markeró w tym przypadku będzie zawsze równa 1. Blok może działać w dwóch konfiguracjach. Pierwsza

polega na impulsowaniu bloku. Jeśli na wejściu bloku pojawi się jedynka blok wysyła wybrany marker do urządzenia slave i czeka na odpowiedz. Jeśli na wejściu bloku pojawi się kolejny impuls

blok wykona się jeśli poprzednia komunikacja została zakończona lub miną czas na odpowiedź. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. Blok w tej konfiguracji działa

podobnie jak w powyższej, jedyna różnica polega na tym że blok zaczyna kolejny cykl zapisu danych automatycznie w momencie zakończenia poprzedniego.

 

Funkcja 06 - WriteSingleRegister umożliwia zapis pojedynczego rejestru do urządzenia slave, ilość rejestrów w tym przypadku będzie zawsze równa 1. Blok może działać w dwóch konfiguracjach. Pierwsza

polega na impulsowaniu bloku. Jeśli na wejściu bloku pojawi się jedynka blok wysyła wybrane rejestry do urządzenia slave i czeka na odpowiedz. Jeśli na wejściu bloku pojawi się kolejny impuls

blok wykona się jeśli poprzednia komunikacja została zakończona lub miną czas na odpowiedź. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. Blok w tej konfiguracji działa

podobnie jak w powyższej, jedyna różnica polega na tym że blok zaczyna kolejny cykl zapisu danych automatycznie w momencie zakończenia poprzedniego.


 

Funkcja 15 - WriteMultipleCoils jest przeznaczona do wysłania dowolnej liczby markerów. Blok może działać w dwóch konfiguracjach. Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku

pojawi się jedynka blok wysyła wybrane markery do urządzenia slave i czeka na odpowiedz. Jeśli na wejściu bloku pojawi się kolejny impuls blok wykona się jeśli poprzednia komunikacja została

zakończona lub miną czas na odpowiedź. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. Blok w tej konfiguracji działa podobnie jak w powyższej, jedyna różnica polega na tym że

blok zaczyna kolejny cykl zapisu danych automatycznie w momencie zakończenia poprzedniego.
 

Funkcja 16 - WriteMultipleRegisters jest przeznaczona do wysłania dowolnej liczby rejestrów. Blok może działać w dwóch konfiguracjach. Pierwsza polega na impulsowaniu bloku. Jeśli na wejściu bloku

pojawi się jedynka blok wysyła wybrane rejestry do urządzenia slave i czeka na odpowiedz. Jeśli na wejściu bloku pojawi się kolejny impuls blok wykona się jeśli poprzednia komunikacja została

zakończona lub miną czas na odpowiedź. Druga konfiguracja to podanie na wejście bloku jedynki na stałe. Blok w tej konfiguracji działa podobnie jak w powyższej, jedyna różnica polega na tym że

blok zaczyna kolejny cykl zapisu danych automatycznie w momencie zakończenia poprzedniego.

 

 

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 Brak funkcji do wykonania
2 Odebrano nieprawidłowe dane od slave'a
3 Wysłano niepoprawne dane do slave'a
4 Przekroczenie czasu na odpowiedz od slave'a

 

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 zdefiniowane przez użytkownika w ustawieniach bloku.