МихаилГл ага, увидел, только это явно не пример смены адреса.
МихаилГл ага, увидел, только это явно не пример смены адреса.
Разберём все посылки. Ориентируюсь на эту вот статью из инета: https://ipc2u.ru/articles/prostye-resheniya/modbus-rtu/
Начало посылок - всегда АДРЕС устройства.
Конец - всегда два байта CRC.
Передаём: Для Адреса 0x01 Команда 0x03 - прочитать значение из регистра 0x00 00 в количестве 0x00 01 штук.
Принимаем: От Адреса 0x01 ответ на Команду 0x03 - значения из регистров, занимают 2 байта (1 регистр) и равны 0x00 01.
То есть, тут мы читаем адрес при помощи команды 0x03 из РЕГИСТРА НОМЕР 0.
Это какая-то херня. Мы передаём, если это Modbus, Адресу 6 команду 00. Такого не бывает.
Передаём: для Адреса 0x01 команду 0x03 прочитать регистры начиная 0x00 00 в количестве 0x00 04 - четырёх штук.
Принимаем: от Адреса 0x01 ответ на команду 0x03 (чтение регистров) в виде 0x08 - 8 байт данных (4 регистра по 2 байта). Данные регистров:
0 = 0x00 02
1 = 0xC0 02
2 = 0x00 60
3 = 0x00 00
...якобы в регистре 0 (адрес, как написано в документации) записано 0x00 02.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net
И я не про отбрасывание четверки говорил это само собой разумеющееся, допустим поверили Вам и Cs-Cs, отбросили четверку, получили 1(единицу) и записывают по этому адресу, в итоге опять ни чего не получится, потому что будут менять какой интерфейс использовать, а не адрес слейва(см. первый пост, скрин и последующие примеры запросов ответов)
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Вы имеете ввиду смещение номера регистра от адреса, т.н. смещение offset . Это смотря чем и как писать. В первом посту ТС ни слова про это, хотя встречается часто. На скрине чтение из регистра который я приводил в качестве примера (3- скорость 9600). Если поставить галочку , то да будет 2101.
mbpoll_Ingd8GOxOC.png
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Мы по инерции тут пишем, он уже разобрался давно. Ну как разобрался, нашёл программу, если ещё раз столкнётся с модбасом придёт ещё!
Да я то не ввожу в заблуждение. Иногда в документации вводят в блуд, путая номер р-а с адресом . Про смещение все мы знаем надеюсь, но условно говоря опрашивая разными "мастерами" это смещение может задаваться автоматом. а может нет. Я об этом. Кто то про это смещение и связанные с этим моменты вообще не в курсе. ТС вполне возможно вообще просто целиком 40001 пробовал. Разобрался и хорошо, молодец.
Прорицатель))))
спасибо,доступно для понимания