ModbusSlave

Previous  Next



ModbusSlave to moduł udostępniający wirtualne urządzenia Slave protokołu Modbus, które połączone są do współnego portu szeregowego.
Za pomocą tego modułu, można udostępniać kanały systemu do sieci protokołu Modbus odpytywanej przez obcego Mastera.

graphic

Rysunek przedstawia znaczenie wirtualnych urządzeń stworzonych w module ModbusSlave, oraz możliwy sposób utworzenia sieci Modbus.

Tworzenie wielu wirtualnych urządzeń w module ModbusSlave służyć może do celów symulacji i testów, ponieważ aby udostępnić dane z systemu jako ModbusSlave wystarczy stworzyć jedno urządzenie i podłączyć do niego udostępniane kanały.


Ustawienia konfiguracyjne modułu

graphic
  
Parametr
Wartość
Active
graphic moduł wyłączony
graphic moduł włączony
ConnectionMode
tryb połączenia (ciągły/modem)
DefaultTimeOut
domyślny czas na odpowiedź
Name
nazwa slave





















Ustwienia konfiguracyjne urządzenia

graphic

  
Parametr
Wartość
Active
graphic urządzenie wyłączone
graphic urządzenie włączone
Address
Adres urządzenia z zakresu 1..254 w podsieci Modbus
IOType
typ urządzenia ModbusSlave
Identyfication
ciąg bajtów identyfikujący dane urządzenie zwracany przez funkcję 0x11h Report Slave ID, jeśli jest ona wspierana przez urządzenie.
Mode
wybór trybu Modbus ASCII lub Modbus RTU
Name
nazwa urządzenia w konfiguracji programu

W odróżnieniu od urządzeń definiowanych w module ModbusMaster, wirtualne urządzenie ma zdefiniowane bloki danych, podzielone zgodnie ze specyfikacją protokołu Modbus, na cewki - coils, rejestry wewnętrzne - holding registers, rejestry wejść dyskretnych - input discrete i rejestry wejściowe - input registers.

graphic

Konfigurowanie wirtualnego urządzenia polega na dodaniu do poszczególnych bloków danych kanałów.










Ustawienia konfiguracyjne bloku danych
graphic
Parametr
Wartość
Active
graphic blok nieaktywny
graphic blok aktywny
DataType
możliwe typy danych przypisane blokowi
opis pod tabelką
ExecutionMode
tryb wywoływania bloku
continous
blok odpytywany cyklicznie
callback
odczyt danych wywołany wyłącznie przez funkcję modułu skryptowego
continous and callback
oba wymienione tryby
 
Name
nazwa bloku danych
RangeFrom
dolny zakres rejestów
RangeTo
górny zakres rejestów
Zakresy dolny i górny są wykorzystywane jedynie podczas funkcji Create Channels.

Typy danych DataType
Blok
Funkcje
Typ
Opis
Coils
0x01 Read Coils
0x05 WriteSingleCoil
coil
wartość binarna 0,1
Discrete Inputs
0x02 Read Discrete Inputs
discrete input
wartość binarna 0,1
Holding Registers
0x03 Read Holding Registers
0x06 Write Single Register
16 bit register

32 bit register


2x16 bit register
wartości całkowite
0x00 .. 0xFFFF
wartości całkowite lub zmiennoprzecinkowe
0x00 .. 0xFFFFFFFF
wartości całkowite lub zmiennoprzecinkowe
0xFFFF << 16 + 0xFFFF
Input Registers
0x04 Read Input Registers
 
16 bit register

32 bit register


2x16 bit register
wartości całkowite
0x00 .. 0xFFFF
wartości całkowite lub zmiennoprzecinkowe
0x00 .. 0xFFFFFFFF
wartości całkowite lub zmiennoprzecinkowe
0xFFFF << 16 + 0xFFFF
Queues
0x18 Read FIFO Queue
raw
ciąg bajtów

Konfigurowanie kanałów wykonuje się tak samo jak w przypadku kanałów modułu ModbusMaster.