Promotic

PmModbusSl - Driver do komunikacji poprzez protokół Modbus Slave

Przed zastosowaniem tego drivera w aplikacji PROMOTIC należy obejżeć "PROMOTIC wideo kurs 4 - Drivery komunikacyjne".

Podstawowe właściwości drivera:
- Zastosowanie tego drivera wymaga zakup licencji PmModbus. Podczas wytwarzania aplikacji w trybie freeware PmFree lub z licencją deweloperską oraz podczas jej testowania w runtime element ten jest zawsze funkcjonalny.
- Komunikacja jest 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 zastosowanie obiektu PmaCommMsg. Obiekt PmaCommGroup nie można zastosować.
Dla łatwego dodania tego drivera do aplikacji jest dogodne zastosować: Konfiguracje wstępne w grupie "Modbus"
- 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 sterowniku PLC reprezentowany przez 16 bitów (wartość od 0 do 65535). W aplikacji PROMOTIC jako typ danych Long.
- Int (2Byte Signed Integer): W sterowniku 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ść ta odczyta n stanów wyjść (wartości 1-bitowe)
02 - Read Input Status (Read Input Bits): Wiadomość ta odczyta n stanów wejść (wartości 1-bitowe)
03 - Read Holding Registers (Read Output Registers): Wiadomość ta odczyta n rejestrów wyjściowych (wartości 16-bitowe)
04 - Read Input Registers: Wiadomość ta odczyta n rejestrów wejściowych (wartości 16-bitowe)
05 - Force Single Coil (Write 1 Bit): Wiadomość ta zapisze do jednego stanu (wartość 1-bitowa)
06 - Preset Single Register (Write 1 Register): Wiadomość ta zapisze do jednego rejestru (wartość 16-bitowa)
15 - Force Multiple Coils (Write n Bits): Wiadomość ta zapisze do n stanów (wartości 1-bitowe)
16 - Preset Multiple Registers (Write n Registers): Wiadomość ta zapisze do n rejestrów (wartości 16-bitowe)
© MICROSYS, spol. s r.o.