Promotic
WikipediaLinkedInYoutubeTwitterFacebook

PmModbusSl - Driver do komunikacji protokołem Modbus Slave

Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy zaznajomić się z rozdziałem: Komunikacja przy pomocy driverów PROMOTIC.
 
Podstawowe właściwości drivera:
- Zastosowanie tego drivera wymaga zakup licencji PmModbus. Z wersją freeeware PmFree lub przy opracowywaniu aplikacji (z licencją deweloperską w celach testowania) element ten zawsze funkcjonuje.
- Komunikacja przebiega dla łącza szeregowego (COM1, COM2 ...).
- Z punktu widzenia komunikacji aplikacja PROMOTIC jest zawsze SLAVE (tzn. bodziec do transmisji danych daje zawsze druga strona). Dla komunikacji typu MASTER patrz driver komunikacyjny PmModbusMr.
- Driver jest wbudowany do systemu PROMOTIC przy pomocy obiektu PmaComm.

Driver wspiera wykorzystanie obiektu PmaCommMsg. Obiekt PmaCommGroup nie można zastosować.

Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "Modbus protokół komunikacyjny"

- Driver wspiera wyłącznie SLAVE tryb transmisji RTU.
 
Driver wspiera 3 typy danych Modbus:
- Bit (1Bit): w PLC reprezentowany przez 1 bit. W aplikacji PROMOTIC jako typ danych Boolean.
- Word (2Byte Unsigned Integer): w PLC reprezentowany przez 16 bitów (wartość od 0 do 65535). W aplikacji PROMOTIC jako typ danych Long.
- Int (2Byte Signed Integer): w PLC reprezentowany przez 16 bitów (wartość od -32767 do +32767). W aplikacji PROMOTIC jako typ danych Integer.
 

Opis komunikacji przy pomocy obiektu PmaCommMsg

Opis funkcji protokołu:

Każda z ośmiu wiadomości może zostać uruchomiona tylko raz. To znaczy, że w systemie PROMOTIC w omawianym protokole razem można określić najwyżej 8 wiadomości. Jeżeli należy odczytywać różne obszary pamięci, wtedy komunikacja przebiega w następujący sposób:

- Master prześle zapytanie na obszar pamięci.
- Komunikacja napełni kartę Dane-odbiór.
- Jest wywołane zdarzenie onDataReceive.
- W zdarzeniu onDataReceive projektant stwierdzi z karty "Dane-odbiór", jaki adres i jaką ilość danych wymaga Master i napełni danymi kartę Dane-wysłanie. Jeżeli wymagane dane nie są dostępne, wtedy ustawi w karcie "Dane-wysłanie" pozycję "Validity" na false (nie ważne dane), w innym przypadku ustawi wartość na true (dane ważne).
- Komunikacja stwierdzi czy "Validity" różni się od false i odeśle odpowiednie dane do Master.

Notatka: Jeżeli "Validity" jest ustawione na true a karta "Dane-odbiór" w zdarzeniu onDataReceive nie zostanie napełniona, wtedy komunikacja odeśle do Master zawsze te same dane, bez względu na adres który wymaga Master.

Uwaga! Jeżeli pozycja "Validity" jest ustawiona na false, wtedy komunikacja NIE ODPOWIADA na zapytanie !

 
Lista oraz opis wiadomości komunikacyjnych:
01 - Read Coil Status (Read Output Bits): Wiadomość odczytuje n stanów wyjść (wartości 1-bitowe)
02 - Read Input Status (Read Input Bits): Wiadomość odczytuje n stanów wejść (wartości 1-bitowe)
03 - Read Holding Registers (Read Output Registers): Wiadomość odczytuje n rejestrów wyjściowych (wartości 16-bitowe)
04 - Read Input Registers: Wiadomość odczytuje n rejestrów wejściowych (wartości 16-bitowe)
05 - Force Single Coil (Write 1 Bit): Wiadomość wykona zapis do jednego stanu (wartość 1-bitowa)
06 - Preset Single Register (Write 1 Register): Wiadomość wykona zapis do jednego rejestru (wartość 16-bitowa)
15 - Force Multiple Coils (Write n Bits): Wiadomość wykona zapis do n stanów (wartości 1-bitowe)
16 - Preset Multiple Registers (Write n Registers): Wiadomość wykona zapis do n rejestrów (wartości 16-bitowe)
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice