Modbus
Modbus – protokół komunikacyjny stworzony przez firmę Modicon. Służy do komunikacji z programowalnymi kontrolerami tej firmy, a także innych producentów. Umożliwia zarządzanie siecią takich urządzeń jak np. system sterowania temperatury i wilgotności. Powstały wersje dla portu szeregowego i dla sieci IP. W sieciach IP używany jest protokół TCP na porcie 502. Modbus jest protokołem typu Client-Server.

Modbus został stworzony w 1979r. przez firmę Modicon. Firma ta została przejęta przez Schneider Electric. Modbus jest obecnie standardem otwartym, co przyczyniło się do dużego rozpowszechnienia standardu. Początkowo działał poprzez port szeregowy RS-232 lecz wraz z rozwojem protokołu możliwe było wykorzystanie RS-485, co pozwalało na zwiększenie prędkości transmisji.
Modbus ASCII
Ramka komunikacji w trybie ASCII
| : | Adres | Kod funkcji | Dane | Suma kontrolna | CR | LF | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| ... | |||||||||||
- bajty są wysyłane szesnastkowo (po dwa znaki ASCII)
- odstępy pomiędzy kolejnymi znakami ramki < 1s
Modbus RTU
Ramka komunikacji w trybie RTU
| Adres | Kod funkcji | Dane | Suma kontrolna | |||
|---|---|---|---|---|---|---|
| ... | ||||||
- bajty są wysyłane binarnie jako znaki ośmiobitowe
- każda ramka jest poprzedzona odstępem (cisza na linii)> 3,5T (gdzie T oznacza czas transmisji jednego znaku)
- odstępy pomiędzy kolejnymi znakami ramki < 1,5T
Znaczenie bajtów
adres
0 – adres rozgłoszeniowy
1 – 247 – adres jednostki server
kod funkcji
1 $01 odczyt wyjść bitowych
2 $02 odczyt wejść bitowych
3 $03 odczyt n rejestrów
4 $04 odczyt n rejestrów wejściowych
5 $05 zapis 1 bitu
6 $06 zapis 1 rejestru
7 $07 odczyt statusu
8 $08 test diagnostyczny
15 $0F zapis n bitów
16 $10 zapis n rejestrów
17 $11 identyfikacja urządzenia server
128 – 255 $80–$FF zarezerwowane na odpowiedzi błędne
rejestry i zmienne
Urządzenie jest widziane jako 16-bitowe rejestry Wn.
Typy zmiennych umieszczanych w rejestrach:
bitowe – bity rejestrów W0 W4095
2-bajtowe – całe rejestry Wn
4-bajtowe – sąsiednie rejestry Wn ; Wn+1
zalecenie
W celu ułatwienia przesyłania danych przy pomocy ramek z funkcja, ”odczyt/zapis n rejestrów” rejestry powinny zajmować spójny obszar adresowany od 0 do REJmax.
Diagnoza błędów
Wykrywanie błędów transmisji następuje dzięki kontroli parzystości poprzecznej (bit parzystości znaku) i wzdłużnej (LRC, CRC).
Wykrywanie i diagnozowanie błędów komunikacji następuje przez:
- odesłanie przez server ramki z kodem błędu:
- 01 – niedozwolona funkcja
- 02 – niedozwolony numer rejestru
- 03 – niedozwolona wartość danej
- 04 – uszkodzenie w przyłączonym urządzeniu
- 05 – potwierdzenie pozytywne
- 06 – brak gotowości, komunikat usunięty
- 07 – potwierdzenie negatywne
- 08 – błąd parzystości pamięci
- przekroczenie czasu oczekiwania na odpowiedź (timeout w jednostce client) – server nie odsyła odpowiedzi przy błędach w ramce żądania
Zobacz też
Linki zewnętrzne
- Opis protokołu (ang.)
- Organizacja Modbus-IDA (ang.)
- Jak Modbus działa (ang.)
- Test oprogramowania Simply Modbus (ang.)
- Serwer OPC dla Modbus. commsvr.com. [zarchiwizowane z tego adresu (2008-10-07)]. (link nieaktywny)
- Symulator jednostki master dla protokołów ModbusTCP oraz ModbusRTU (ang.)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.