Jak złożyć ramkę modbus RTU ?

0

Cześć !

Muszę skomunikować 2 sterowniki złożone na atmega 2560.
W sterowniku jest zrealizowany odbiór danych i odpowiedź według standardu modbus RTU.
Problem polega na tym, że nie wiem jak poskładać ramkę do wysłania.

0

Powinieneś ustawić na 1 bajcie adres urządzenia w sieci Modbus, później na 1 bajcie numer funkcji, którą chcesz wywołać i następnie dane i zakończyć to sumą CRC. Przy manualu sprzętu powinieneś mieć też opis jego funkcji i tego jakich danych oczekuje.

0

Ale ma stworzyć tablicę z danymi [adres] [kod funkcji] [dane][suma kontrolna] ?Dobrze to rozumiem ?

0

Do końca nie wiem jak chciałbyś zrobić to w C, ja robiąc to w Javie przygotowałem tablicę bajtów, wypełniłem danymi i wysyłałem przez port :) Raczej nie powinno być dużej rozbieżności bo ogólnie protokół jest ten sam. Tutaj masz więcej informacji jak coś takiego poskładać: http://www.simplymodbus.ca/FC04.htm

edit: Możesz też skorzystać z którejś z gotowych bibliotek, które wymagają od Ciebie podania wymaganych danych, np adresu, funkcji i danych, a resztę poskładają za Ciebie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1