Ile wynosi maksymalna prędkość przesyłania danych do urządzenia, którego dane techniczne przedstawiono w tabeli?
| Napięcie zasilające | 230 V AC; 50 Hz |
| Wejście pomiarowe | Pt100/Pt500/Pt1000 |
| Rezystancja przewodów pomiarowych | maksymalnie 20 Ω w każdym przewodzie |
| Wyjścia przekaźnikowe | 2 styki zwierne; 2 A/250 V AC (cosφ=1) |
| Interfejs komunikacyjny | RS485 |
| Szybkość transmisji | 1 200 b/s ÷ 115 200 b/s |
| Pamięć danych | EEPROM |
W tabeli szybkość transmisji podano jako zakres od 1 200 b/s do 115 200 b/s. Kluczowy jest tutaj zapis jednostek: małe b oznacza bity, a duże B oznacza bajty. Ponieważ 1 bajt ma 8 bitów, maksymalną wartość z dokumentacji trzeba podzielić przez 8: 115 200 b/s ÷ 8 = 14 400 B/s. Dlatego maksymalna prędkość przesyłania danych wyrażona w bajtach na sekundę wynosi 14 400 B/s. Moim zdaniem to jest klasyczny przykład pytania, gdzie nie chodzi o pamięciowe znanie RS485, tylko o uważne czytanie danych technicznych. W praktyce przy RS485, np. w regulatorach temperatury, sterownikach PLC albo licznikach energii, prędkość transmisji ustawia się po obu stronach identycznie, często 9 600 b/s, 19 200 b/s albo 115 200 b/s. Dobra praktyka branżowa jest taka, żeby zawsze sprawdzać, czy producent podaje b/s, Bd czy B/s, bo pomyłka między bitem i bajtem daje błąd aż ośmiokrotny. Trzeba też pamiętać, że rzeczywista przepustowość danych użytkowych może być trochę mniejsza przez bity startu, stopu, parzystości i protokół, na przykład Modbus RTU, ale w tym pytaniu liczymy wartość maksymalną wynikającą wprost z tabeli.
Najczęstszy problem w tym zadaniu wynika z pomieszania bitów z bajtami. W dokumentacji urządzenia zapisano maksymalną szybkość jako 115 200 b/s, czyli 115 200 bitów na sekundę. To nie jest to samo co 115 200 B/s, bo duża litera B oznacza bajt. Jeden bajt składa się z 8 bitów, więc wartości nie wolno przepisać bez przeliczenia. Poprawne przeliczenie daje 14 400 B/s i dopiero taka wartość pasuje do pytania, bo odpowiedzi są podane w bajtach na sekundę. Warto też uważać na dolną granicę zakresu. Liczba 1 200 b/s oznacza minimalną szybkość transmisji z tabeli, a po przeliczeniu daje tylko 150 B/s. Taka wartość może się pojawić, gdy ktoś dobrze wykona dzielenie przez 8, ale zastosuje je do złego końca zakresu. Z kolei 1 200 B/s wygląda podobnie do zapisu z tabeli, ale znowu ma złą jednostkę i nie oznacza maksimum. Z mojego doświadczenia takie pomyłki często wychodzą przy uruchamianiu komunikacji RS485: ktoś wpisze właściwą liczbę, ale źle rozumie jednostkę albo nie sprawdzi, czy chodzi o szybkość linii, czy realny transfer danych. Standardowo przy interfejsach szeregowych patrzy się na parametry transmisji jako komplet: szybkość, liczba bitów danych, parzystość i bity stopu. Tutaj jednak sedno jest prostsze: trzeba odczytać wartość maksymalną 115 200 b/s i zamienić bity na bajty przez podzielenie przez 8.