Przykłady sieci obiektowych EIA485 (RS-485) Przykłady sieci obiektowych
Odporność sygnału różnicowego
RS422
RS422 poziomy sygnału
Nadajnik 485
RS485
Przykłady sieci obiektowych ModBUS, ProfiBUS
Protokół dostępu : master-slave MODBUS Sieć ta wprowadzona została przez firmę Modicon w 1979 roku i w krótkim czasie została przyjęta jako standard przez większość producentów sterowników przemysłowych dla komunikacji asynchronicznej. Sam protokół sieci jest bardzo prosty, a przesyłanie danych tzw. ramka danych krótka. Z tego powodu sieci typu MODBUS mogą być w prosty sposób instalowane w dowolnych urządzeniach. Protokół dostępu : master-slave www.modbus.org
Ramka MODBUS PDU-Protocol Data Unit
MODBUS na tle modelu warstwowego
Kod Funkcji 1 byte – zakres od 1 ... 255 (128 – 255 zarezerwowane dla odpowiedzi z błędami). Pole function code określa akcję jak ą odbiorca powinien wykonać Function code "0" jest niepoprawne.
Kategorie kodów funkcji
Pole danych Zawiera dodatkowe informacje niezbędne do zrealizowania polecenia określonego kodem funkcji (zawartości rejestrów wartości parametrów, liczbę bajtów pola danych) Uwaga: Pole danych może mieć zerową długość! Pole danych ramki odpowiedzi zawiera żądane dane lub informację o kodzie błędu jeśli wystąpił błąd Do zasygnalizowania błędu wykorzystuje się pole kodu funkcji ustawiając MSB (kody 128-255)
Poprawna transakcja
Błędna transakcja
Funkcja 02 (0x02) Read Discrete Inputs
Przykładowe ramki funkcji 02
Funkcja diagnostyczna 08
Modbus na tle ISO/OSI mapping EIA485
Reguła Master-slave Only one master (at the same time) is connected to the bus, and one or several (247 maximum number) slaves nodes are also connected to the same serial bus. A MODBUS communication is always initiated by the master. The slave nodes will never transmit data without receiving a request from the master node. The slave nodes will never communicate with each other. The master node initiates only one MODBUS transaction at the same time.
Tryb „indywidualny”
Tryb „rozgłaszania”
Ramka (PDU) i adresowanie On MODBUS Serial Line, the Address field only contains the slave address.
Tryby transmisji danych ASCII mode RTU mode Uwaga: The transmission mode (and serial port parameters) must be the same for all devices on a MODBUS Serial Line.
Ramka w trybie ASCII
Znaki w trybie ASCII
Tryb RTU
Znaki w trybie RTU
Synchronizacja blokowa
Struktura fizyczna zgodna z 485
Generacja LRC (w trybie ASCII) 1. Add all bytes in the message, excluding the starting ‘colon’ and ending CRLF. Add them into an 8–bit field, so that carries will be discarded. 2. Subtract the final field value from FF hex (all 1’s), to produce the ones–complement. 3. Add 1 to produce the twos–complement.
CRC 1. Load a 16–bit register with FFFF hex (all 1’s). Call this the CRC register. 2. Exclusive OR the first 8–bit byte of the message with the low–order byte of the 16–bit CRC register, putting the result in the CRC register. 3. Shift the CRC register one bit to the right (toward the LSB), zero–filling the MSB. Extract and examine the LSB. 4. (If the LSB was 0): Repeat Step 3 (another shift). (If the LSB was 1): Exclusive OR the CRC register with the polynomial value 0xA001 (1010 0000 0000 0001). 5. Repeat Steps 3 and 4 until 8 shifts have been performed. When this is done, a complete 8–bit byte will have been processed. 6. Repeat Steps 2 through 5 for the next 8–bit byte of the message. Continue doing this until all bytes have been processed. 7. The final content of the CRC register is the CRC value. 8. When the CRC is placed into the message, its upper and lower bytes must be swapped!.
Kolejność bajtów sumy kontrolnej CRC For example, if the CRC value is 1241 hex (0001 0010 0100 0001):