PDA

Просмотр полной версии : ПР205, получить значения с датчика по MODBUS RTU



KRUPSKIY
22.05.2024, 12:40
Помогите, пожалуйста считать данные с датчика в ПР205 по MODBUS RTU. Есть описание протокола MODBUS-RTU к этому датчику. Не могу разобраться с адресацией.

melky
22.05.2024, 12:48
Судя по тексту, сперва надо задать адрес устройству, отличный от нуля.

Например можно воспользоваться утилитой Com Port ToolKit, ну и CRC посчитать ручками через какой-нибудь калькулятор в режиме Modbus

KRUPSKIY
22.05.2024, 13:05
А как узнать адрес регистра?

KRUPSKIY
22.05.2024, 13:06
Там только один параметр

МихаилГл
22.05.2024, 13:20
Там только один параметр

For example: send 01 03 00 00 00 01 84 0A
Вот тут написано

KRUPSKIY
22.05.2024, 13:43
Ясно. И как я понял, адрес устройства по умолчанию не задан?

melky
22.05.2024, 13:55
Вероятно не задан, либо смена адреса выполняется иначе, чтобы не зная адреса, можно было назначить новый. Возможно по умолчанию идет адрес = 1 у всех.

KRUPSKIY
22.05.2024, 14:06
Адрес 1 пробовал-не читает

KRUPSKIY
22.05.2024, 14:09
For example: send 01 03 00 00 00 01 84 0A
Т.е. в OWEN Logic адрес переменной =1 ?

KRUPSKIY
22.05.2024, 14:10
То есть регистр = 1 ?

melky
22.05.2024, 14:48
У вас же примеры все есть. https://rapidscada.net/modbus/ воспользуйтесь, там все указано.
регистр может быть и 0 надо задавать, это зависит от производителя чем он задается, логическим или физическим адресом.

Dimensy
22.05.2024, 14:52
For example: send 01 03 00 00 00 01 84 0A
Т.е. в OWEN Logic адрес переменной =1 ?

Слейв 1, регистр 0

МихаилГл
22.05.2024, 16:17
И там 2 специфичные команды на чтение адреса и задание нового. Пробуйте

Васильев
22.05.2024, 17:24
Проблем быть не должно.
Подключите терминальные резисторы. Интервал между посылками 1000мс -не забудьте.
Надо проверить может ли пр205 работать с регистром 0.

KRUPSKIY
23.05.2024, 16:39
Получилось считать данные. Адрес устройства по умолчанию 1, Регистры 0 и 1 (два параметра - температура и влажность воздуха). Осталось разобраться, как менять адрес устройства.

МихаилГл
23.05.2024, 16:43
Получилось считать данные. Адрес устройства по умолчанию 1, Регистры 0 и 1 (два параметра - температура и влажность воздуха). Осталось разобраться, как менять адрес устройства.

Скачивайте Геркулес для работы с com портом, и вперёд. Если необходимо считать crc, то на сайте рапид скады есть калькулятор для модбас запросов. Хотя там не стандартные запросы, и возможно из инструкции просто подойдут.

KRUPSKIY
06.06.2024, 09:36
HELP ! Никак не получается записать новый адрес в устройство. Чтение адреса работает, точно как в инструкции. А запись нет. Пробовал десяток программ для работы с СОМ-портм. Ничего не выходит. Сейчас пробовал Com Port Toolkit. Адрес читается на не записывается. Отправляю посылку 00 10 bd c0 , как в инструкции. Очень надо, спасибо заранее.

Dimensy
06.06.2024, 11:05
HELP ! Никак не получается записать новый адрес в устройство. Чтение адреса работает, точно как в инструкции. А запись нет. Пробовал десяток программ для работы с СОМ-портм. Ничего не выходит. Сейчас пробовал Com Port Toolkit. Адрес читается на не записывается. Отправляю посылку 00 10 bd c0 , как в инструкции. Очень надо, спасибо заранее.

по инструкции надо отправить команду 00 10 <новый адрес> <CRC>.
CRC нужно считать. Например можно вот здесь https://www.tahapaksu.com/crc/

Вот скрин для адреса 01

76320

полученный CRC переворачиваем и получаем 00 10 01 BD CO - вот это уже как в инструкции

KRUPSKIY
06.06.2024, 11:08
Немного разобрался. По ходу запись не идет из-за неправильного CRC. Уже мозг сломал с расчетами. Помогите, кто может. Для адресов 2 и 3.

МихаилГл
06.06.2024, 11:10
Немного разобрался. По ходу запись не идет из-за неправильного CRC. Уже мозг сломал с расчетами. Помогите, кто может. Для адресов 2 и 3.

Скорее всего да, вы сами догадались. Ищите CRC калькуляторы, типа https://crccalc.com/

МихаилГл
06.06.2024, 11:21
Немного разобрался. По ходу запись не идет из-за неправильного CRC. Уже мозг сломал с расчетами. Помогите, кто может. Для адресов 2 и 3.

https://www.sunshine2k.de/coding/javascript/crc/crc_js.html

76321

Вот как раз для вас, на скрине посмотрите как настроено...

00 10 02 FD C1
00 10 03 0С 13 тут проверить, 0x13C в программе

KRUPSKIY
06.06.2024, 11:29
сПАСИБО ОГРОМНОЕ! получилось.

МихаилГл
06.06.2024, 11:36
сПАСИБО ОГРОМНОЕ! получилось.

Для 3го адреса какой? Как я написал, или по другому? Просто я предположил, что если 3 цифры, то так...

Dimensy
06.06.2024, 11:51
Для 3го адреса какой? Как я написал, или по другому? Просто я предположил, что если 3 цифры, то так...

0x13C = 0х013С, отсюда, 3С 01

МихаилГл
06.06.2024, 12:09
0x13C = 0х013С, отсюда, 3С 01

Логично, туплю