Вы в железе проверили? Работает?CraCk писал(а):Конечно актуально
Вы в железе проверили? Работает?CraCk писал(а):Конечно актуально
Да сижу разбираюсь моргаю входами. Пока что работает на сервер немного приходит с задержкой. С сервера отправка происходит намного быстрее. Боле сложно адаптировать по себя весь проект, не все понятно.golowa70 писал(а):Вы в железе проверили? Работает?
А как же без него))) Каждое устройство должно знать свое время для передачи дабы не получился салат-компот. Как в данном случае синхронизировать все устройства не имея RTC и учитывая то что протокол PJON реализован без прерываний ??? Да и с часами тоже желательно, но можно на много увеличить время цикла. Под "циклом" подразумевается время от синхроимпульса до следующего синхроимпульса.CraCk писал(а):Не понимаю зачем создавать цикл. И все что с ним связанно.
В проекте можно добавить ещё одно устройство без переделок. А если хотите больше, тогда нужно увеличить количество интервалов.CraCk писал(а): И если будет увеличено количество устройств. Тогда как его настраивать
В этом месте счётчик считает количество отправок (каждая новая команда отправляется 4 раза для надёжности) а потом обнуляет флаг и переменную. Не совсем понял что и где обжуливается....)))CraCk писал(а):По ID1 вопрос
1. Зачем считать до 4. А потом обжуливать.
Ну да. Так Вы уже определитесь, Вам шашечки или ехать...CraCk писал(а):Если передавать больше чем один байт. Тогда нужно городить логику отправки по каждому байту?
Периодичность отправки от клиентов к серверу выставляется на стороне клиента. А на стороне сервера (ID1) можно сбрасывать счётчик каждый раз когда приходят данные, если счётчик не сбросился, значит авария.CraCk писал(а):Как происходит опрос датчиков, есть ли они в сети?
При изменении состояния входов /выходов выставляется флаг, затем три раза отправляются данные, затем счётчик и флаг сбрасывается.CraCk писал(а): Как это работает и зачем
Чем дальше в лес, тем толще партизаны)))CraCk писал(а):чем глубже в лес тем больше дров, начинает набирать актуальности.
Задержка должна быть не более 1,5 - 2 секунд.CraCk писал(а): на сервер немного приходит с задержкой.
Так и должно быть на рисунке видно почемуCraCk писал(а):С сервера отправка происходит намного быстрее.
Все и за того что нет подтверждения отправленных данных:( Приходится делать лишние повторы оправок.golowa70 писал(а):В этом месте счётчик считает количество отправок (каждая новая команда отправляется 4 раза для надёжности)
Вы делает ручное обнуливание. А есть Ваш блок на подобие блоков Слимпера там есть - time_to_reset - таймер обнуленя выходов данных (начинает считать с момента последнего приема данных ) в милисекундах. Что упрощает схему.golowa70 писал(а):Не совсем понял что и где обжуливается....)))
Чего нет, того нетCraCk писал(а): нет подтверждения отправленных данных
Ну так а флаги всё равно придётся сбрасывать.CraCk писал(а):Вы делает ручное обнуливание. А есть Ваш блок на подобие блоков Слимпера там есть - time_to_reset - таймер обнуленя выходов данных (начинает считать с момента последнего приема данных ) в милисекундах. Что упрощает схему.
А где же там подтверждение доставки?CraCk писал(а):Там есть интересная вещь. Кроме адреса получателя и подтверждения доставки,
В библиотеке PJON такого нет, а в библиотеке которую использовал Слимпер такое есть.CraCk писал(а):есть еще typeMessage - тип сообщения, ситема уникальных идентификторов сообщений
Например от чего?CraCk писал(а):Что практически избавляет от большого количества логики.
Блоки достаточно функциональные и пока переделок в планах нет.CraCk писал(а):Такое можно добавить в НС-12?
Например в блоках от Boroda на приемнике есть выход ОК подтверждения доставки пакета черезgolowa70 писал(а):А где же там подтверждение доставки?
Если есть идентификатор сообщения, тогда блоков трансмитеров в одном проектеgolowa70 писал(а):Например от чего?
Подтверждение получения есть только в синхронном режиме, при котором также присутствует глюк с невосстановлением связи после сброса ардуины.CraCk писал(а):Подробное описания нашел и в PJON. Но прикрутить его мне не в силах.
Не, не получится. При использовании более одного блока в проекте нужно в каждом блоке автоматически присваивать переменным уникальные имена соответствующие конкретному блоку, а такое может сделать только АВТОР этой замечательной программы.CraCk писал(а):Если есть идентификатор сообщения, тогда блоков трансмитеров в одном проекте
можно набросать сколько за угодно, только останется организовать по
очередность отправки
А этого я и не видел, у меня блоки старые.....CraCk писал(а):В блоках Слимпера как раз на стороне трансмиттера есть подтверждение полученных данных приемником.
Выход Status
Попробовал. Из папки PJON удалил все файлы. Новые скаченные закинул в каталог PJON. Скомпилировалось все без проблем. Но ничего не заработало. Может изменились команды к библиотеке?golowa70 писал(а):Попробуйте восьмую версию библиотеки использовать с блоками из 18го сообщения, они на сколько я помню с подтверждением.
В Flprog такого нет.Boroda писал(а):Странно. Модбас мастер читает слейвов с заданным периодом, но если в мастере изменилась переменная которая должна отправляться (например изменили уставку для удаленного термостата), то эта команда должна немедленно отправляться слейву, не дожидаясь периода опроса.
Вобще не заработало или только подтверждение?CraCk писал(а):Попробовал. Из папки PJON удалил все файлы. Новые скаченные закинул в каталог PJON. Скомпилировалось все без проблем. Но ничего не заработало.
Идентификаторы выставлены правильно?CraCk писал(а):Вообще ни как.
Попробовал, тоже не работает. Получается что версии библиотек не совместимы.... и нужно всё переделывать.CraCk писал(а):А у Вас работает? Пробовали?
Это ограничивает время цикла до 100 мс ..... не очень гуд .A delay between every receive call higher than 100 millisseconds can disurpt the synchronous acknowledment transmission phase
Что в 100мс можно впихнуть?golowa70 писал(а):Это ограничивает время цикла до 100 мс ..... не очень гуд .
Три блока для мк с тремя Уартами типа Mega?golowa70 писал(а):Блоки приема-передачи четырех байт данных
При отправки используется только выход подтверждения acknowledge_OK? Все другие выхода используются только при приеме новых данных?golowa70 писал(а):Есть подтверждение приема.
Конечно!!!!!golowa70 писал(а):Может кому пригодится.
Да, выбираете в соответствии с нужным портом.CraCk писал(а):Три блока для мк с тремя Уартами типа Mega?
ДаCraCk писал(а):При отправки используется только выход подтверждения acknowledge_OK? Все другие выхода используются только при приеме новых данных?
Повторная отправка поисходит автоматически по истечению таймаута ожидания подтверждения .Количество повторов по умолчанию 3 , таймаут по умолчанию 200мс.CraCk писал(а):Прочитал на транслите немного о самой библиотеке. Так понимаю что происходит несколько повторных отправок. Повторные отправки происходят в одном цикле или нужно самому их создавать?