Страница 3 из 4

Modbus RTU

Добавлено: 14 апр 2024, 06:18
tronik1
ecoins писал(а): 14 апр 2024, 00:37
tronik1 писал(а): 13 апр 2024, 23:26 А вот с сименсом не хочет работать в ообще. Даже пробовал два регистра, всё равно не пишет.
Предложу в начале с Сименсом поработать через компьютер(утилиты Modbus_Poll, Modbus_Slave или др.) и установить точно параметры обмена(скорость, кол-во стоповых бит и пр.).
В принципе это можно (и лучше) посмотреть логическим анализатором, коли Сименс выступает в роли мастера.
А вот как раз на ноуте запускаю прогу модбас слейв то сименс всё пишет идеально. Думаю может проблема в шилде, сегодня приедет тот что без пина pe-de. Также сегодня буду анализатором смотреть линию. Думал может на форуме кого-то был такой опыт.

Re: Modbus RTU

Добавлено: 29 апр 2025, 08:39
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 29 апр 2025, 09:31
ecoins
dstrufanov писал(а): 29 апр 2025, 08:39 Добрый день! Кто-нибудь в курсе, какие функции Modbus RTU поддерживаются в FLProg? В частности запись в коилы 0х05 (запись одного регистра) и 0х0F (групповая запись)
Можно просто ответить и вместе с Вами заочно продолжать исследовать FLProg.
Выступить в роли "экспертов". Потом "эксперты" дают заключения о предмете о котором они имеют смутное представление.
Есть другой путь.
Откройте в меню слева раздел коммуникации, выберите Modbus Slave, войдите в раздел переменные и посмотрите какие переменные поддерживаются. Там 4-е типа - поддерживается и групповая запись.

Re: Modbus RTU

Добавлено: 29 апр 2025, 09:45
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 29 апр 2025, 10:33
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 29 апр 2025, 15:05
ecoins
dstrufanov писал(а): 29 апр 2025, 10:33 Еще вопрос есть по модбасу.
Как правильно определять конец кадра? По спецификации на модбас по интервалу тишины в 3,5 символа, но пару раз читал рекомендации, что так лучше не делать, т.к. в каналах могут быть задержки и межсимвольный интервал 1,5 символа растягивается и воспринимается как межкадровый, поэтому лучше декодировать байты по мере поступления и вычислять конец кадра.
Но ведь данные внутри кадра могут быть битыми, мы еще не вычислили CRC, а уже делаем какие-то выводы о содержимом пакета?
Modbus устоявшийся протокол, в течении десятилетий сформировались и устоялись методы работы с ним.
Эти методы реализованы разработчиком в FLProg.
Реализовать обмен по Modbus можно - но задача не простая.
Возможно она имеет смысл для реализации усеченной версии Modbus для MCU с ограниченными ресурсами (Nano,STM32F030F4P и др.).
Посмотрите дополнительно библиотеки на GitHub. Там есть простые реализации.
----
По Вашему вопросу - по длине пакета или CRC будет принято решение о ошибочной транзакции. Master не получив ответную транзакцию обычно отправляет повторный пакет.
----
Рекомендую посмотреть в сторону Modbus-ASCII. В этом протоколе маркером начала посылки является ':', окончание CR.
Внутри все тоже самое, но HEX передается с формате ASCII.
У этого протокола много плюсов относительно Modbus-RTU - большее кол-во методов проверки, простота визуализации, надежное разделение пакетов.
Недостатки - большая длина транзакции, менее распространен.
----
С уважением, ecoins.

Re: Modbus RTU

Добавлено: 29 апр 2025, 15:37
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 29 апр 2025, 16:07
ecoins
dstrufanov писал(а): 29 апр 2025, 15:37
ecoins писал(а): 29 апр 2025, 15:05 Modbus устоявшийся протокол, в течении десятилетий сформировались и устоялись методы работы с ним.
Эти методы реализованы разработчиком в FLProg.
Спасибо! Но альтернативный метод предлагают не рядовые разработчики, а вполне себе авторитетные (стр. 25, 26 например):
https://ftp.owen.ru/CoDeSys3/98_Books/ModbusTips.pdf
Вам спасибо за хороший и развернутый материал по ModBus.

Re: Modbus RTU

Добавлено: 30 апр 2025, 11:08
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 16 май 2025, 13:06
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 16 май 2025, 14:02
Evgesha
Не пробовали вместо input coil использовать

Re: Modbus RTU

Добавлено: 16 май 2025, 14:14
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 16 май 2025, 15:40
Evgesha
У меня вообще модбас рту с платами имеющими пины de/re заработала только в версии 7.2.2.

Re: Modbus RTU

Добавлено: 16 май 2025, 15:44
ecoins
Evgesha писал(а): 16 май 2025, 15:40 У меня вообще модбас рту с платами имеющими пины de/re заработала только в версии 7.2.2.
У меня работает.
Выложите тестовый проект.

Re: Modbus RTU

Добавлено: 16 май 2025, 15:51
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 16 май 2025, 16:20
slsl
Флп9.3-12
RTU (слэйв)
rtu.png

Re: Modbus RTU

Добавлено: 16 май 2025, 17:41
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 16 май 2025, 21:00
slsl
dstrufanov писал(а): 16 май 2025, 17:41
slsl писал(а): 16 май 2025, 16:20 Флп9.3-12
RTU (слэйв)
Так а дискретные входы читаются?
Так третья строка в скрине.

Re: Modbus RTU

Добавлено: 16 май 2025, 21:09
dstrufanov
Сообщение удалено

Re: Modbus RTU

Добавлено: 16 май 2025, 23:01
Evgesha
ecoins писал(а): 16 май 2025, 15:44
Evgesha писал(а): 16 май 2025, 15:40 У меня вообще модбас рту с платами имеющими пины de/re заработала только в версии 7.2.2.
У меня работает.
Выложите тестовый проект.