Странно. Модбас мастер читает слейвов с заданным периодом, но если в мастере изменилась переменная которая должна отправляться (например изменили уставку для удаленного термостата), то эта команда должна немедленно отправляться слейву, не дожидаясь периода опроса.CraCk писал(а):Большая частота опроса слейвов. Если ее уменьшит до 10сек и больше, тогда получаем сильное опоздание реакции слейвов на команды управления
Согласен.Boroda писал(а):Тут модбас проигрывает.
Зачем слейву знать когда будет опрос. Он все время просто будет слушать эфир, и и все что будет мастер транслировать сверяет со своим адресом тогда принимает если адреса совпали.Boroda писал(а):Опрос слейвов надо сделать с определенным периодом. Слейв знает, когда в следующий раз его опросит мастер
Этого как раз и не хватает в Модбасе.Boroda писал(а):и если ему надо будет срочно передать информацию, а ждать опроса еще долго, то он ее передаст.
Такой вариант будет самый надежный по доставке сообщения.Boroda писал(а):Но может произойти ситуация, когда три слейва одновременно захотят передать сообщение (например произошел БАХ и выбило все стекла и двери с датчиками). Тут поможет многократная передача с обратной связью, рендомным периодом и минимальной длиной посылки.................................
Идеальный вариант чтобы не напрягать мастера опросами слейвов.Boroda писал(а):Да и опрос датчиков от мастера можно не делать.
Дал ответ здесь с nRF24L01+ тоже намучился 5 штук валяется. После экспериментов они почему то перестали работать, для меня это был сплошной кошмар. Тем более только учусь электронике.Boroda писал(а):Как дела обстоят с HC-12?
Мне кажется что их невозможно убить кривой конфигурацией. Есть даже программка конфигуратор http://thebackshed.com/forum....fig.zipBoroda писал(а):Пробовали в него загнать кривую конфигурацию?
Да стоит STM. Прикиньте если б flprog поддерживал STM процессоры, тогда можно загонять вообще свои прошивки. И творить чудеса.Boroda писал(а):Там ведь МК стоит с непонятной китайской прошивкой.
Можно период синхронизации не увеличивать, а программно включать/выключать опрос конкретного слэйва при помощи блока "'Активность слэйва ". То есть опрашивать слэйв исключительно по мере необходимости, хоть по таймеру раз в минуту, хоть по событию(нажатие кнопки и т.д.CraCk писал(а):Недостатки работы по ModBus1) Большая частота опроса слейвов. Если ее уменьшит до 10сек и больше, тогда получаем сильное опоздание реакции слейвов на команды управления
Настройте HC-12 на другой канал,например на 100 , это 473 MHzCraCk писал(а):2)При большой частоте опроса. Используя радио модули с мощностью 100мвт при одном мастере и 10 слевов будет получать нехилое облучение и глушение частоты 433мгц.
Если речь идет о слэйвах, так можно загонять их в слип вместе с ардуиной , периодически будить для опроса датчиков и послушать эфир,если тихо-спать дальше,если есть запрос-ответить и спать дальше.CraCk писал(а):3)При большой частоте опроса. Невозможно сделать систему энерго независимой.
Это не есть гуд, так как кто-то может перехватить данные о температуре в вашем сарае ))))))CraCk писал(а):4)Нет никакого шифрование данных.
Это всё есть в МодбасCraCk писал(а):Теперь что нужно от беспроводного протокола.1)Адресация модулей.
2)Пингование радио модулей на присутствие в сети 1-5мин. Если нет в сети после нескольких запросов создавать уведомление.
3)Центральный модуль оправляет в эфир сообщение. Все модули клиенты слушают. Но только один модуль принимает команды и обрабатывает их, в которого совпал адрес сообщение и его собственная адреса.
Контроль целостности данных(CRC) заложен в модбас,а контроль доставки можно реализовать программно ,но нужно будет поковыряться.CraCk писал(а):5) Контроль доставки данных
Если слэйвы без исполнительных устройств ,так тогда можно использовать одностороннюю связь используя например библиотеку "VirtualWire" или ManchesterCraCk писал(а):6) Данные от клиентов, это срабатывание концевиков и отправка температуры.
Хорошая идея.golowa70 писал(а):программно включать/выключать опрос конкретного слэйва
А как мастер будет знать когда слейв проснулся, для проведение опроса?golowa70 писал(а):Если речь идет о слэйвах, так можно загонять их в слип вместе с ардуиной , периодически будить для опроса датчиков и послушать эфир,если тихо-спать дальше,если есть запрос-ответить и спать дальше.
У меня не тот скил чтоб такое реализовать. Максимум могу какой то блок вставит если кто сделает, последовательно перед отправкой данных в переменную модбаса.golowa70 писал(а):севозможных KeeLog и работать с SI4463 напрямую
golowa70 писал(а):контроль доставки можно реализовать программно ,но нужно будет поковыряться.
И в конечном результате получим новый протокол. Сам такое реализовать не могу. Буду надеется когда наши гуру программисты обзаведутся такими модулями может тогда что то придумают на С. А пока эта тема, будет просто так поболтать.golowa70 писал(а):Если слэйвы без исполнительных устройств ,так тогда можно использовать одностороннюю связь используя например библиотеку "VirtualWire" или Manchester
А он не будет знать, он будет попадать)))). Допустим слэйв просыпается раз в секунду на одну секунду, а мастер опрашивает например с периодом 250 миллисекунд, так вот при любом раскладе как минимум три раза мастер успеет опросить слэйв. Если нужна более быстрая реакция на события, тогда уменьшаем интервалы. Не идеально, но как вариант.CraCk писал(а):А как мастер будет знать когда слейв проснулся, для проведение опроса
А потом Вас вычислят хозяева машин, стоящих на парковке у дома и придется Вам быстро убегать!golowa70 писал(а):мастер опрашивает например с периодом 250 миллисекунд
Как модуль определяет конец посылки?golowa70 писал(а):Мои полевые испытания HC-12
Все таки при большой задержке опроса например 5мин. Слейв не сможет вовремя передать аварию.golowa70 писал(а):а программно включать/выключать опрос конкретного слэйва при помощи блока "'Активность слэйва ".
Boroda писал(а):А потом Вас вычислят хозяева машин, стоящих на парковке у дома и придется Вам быстро убегать!
Вот по этому стандартный модбас не катит.Boroda писал(а):Сделаете частоту выше 433 - приедут к Вам дядечки и попросят пройти с ними. За 433 больше 10мВт тоже могут докопаться.
Волков бояться, в лес не ходить)))Boroda писал(а):Сделаете частоту выше 433 - приедут к Вам дядечки и попросят пройти с ними. За 433 больше 10мВт тоже могут докопаться.
Спасибо за идею. У меня контроллер DeepSea с одной стороны и ноут с родной скадой с другой, соединенные по модбас через HC-12, когда начинается пропуск пакетов, значит связь на грани дальности.Boroda писал(а):Как модуль определяет конец посылки?
Передаете строку "123456789", ждете 50мс и передаете строку "123". Что будет на другом конце канала связи?
Если Вы об этомBoroda писал(а):Нашел:
FU1 - период пакетов 25мс, скорость RS любая, скорость RF 250кбод, 100м.
FU2 - период пакетов 500мс, скорость RS 1200-4800бод, скорость RF 250кбод, 100м.
FU3 - период пакетов 80мс, скорость RS любая, скорость RF 5..236кбод, 100..1000м.
FU4 - период пакетов 1000мс, скорость RS 1200бод, скорость RF 500бод, 1800м.
Период указан для одного байта в пакете.
Для вычисления периода передачи можно использовать формулу:
Период = (период для 1 байта) + (1000/Х)*(длина пакета), где Х - скорость в бод.
Так вот и я говорю, беспроводной модбас не очень подходит для Вашей задачи.CraCk писал(а):Все таки при большой задержке опроса например 5мин. Слейв не сможет вовремя передать аварию
Посмотрим.CraCk писал(а):Еще нашел сопряжение pjon + HC12 . Но я в этом дуб дубом.
Скорость RF в данном случае всегда будет больше, чтобы чип успевал обрабатывать буфер, потому как FIFO не безразмерный )))Boroda писал(а):FU4 - период пакетов 1000мс, скорость RS 1200бод, скорость RF 500бод, 1800м.
Где вы раньше были? Я уже hc-12 накупил.golowa70 писал(а):если будут желающие тестировать, попробую сделать блоки под si4432 из библиотеки Rf22
Посмотрел на PJON, выглядит заманчиво, по свободе попробую. Если не пойдёт, есть ещё библиотека RadioHead, она тоже может с uart работать.CraCk писал(а):Где вы раньше были? Я уже hc-12 накупил.
Попробуйте эти блоки,отправка и прием четырех байт .По проводам работает , а по воздуху пока нет возможности проверить.Скорость 9600, через софтовый уарт пины 10,11 .CraCk писал(а):Я уже hc-12 накупил.
Попробовал. Передаю аналоговое значение из анал. входа. Работает. Но есть проблема. Во время работы если ресетнуть приемник второй раз. После первого ресета соединение восстанавливается. Тогда невозможно восстановить связь. И выход fail на трансмитере не сигнализирует о том что нет ответа от приемника. Приходиться перезапускать трансмитер. Аж после этого уже приемник начинает что то принимать. Можно как то исправить?golowa70 писал(а):Попробуйте эти блоки,отправка и прием четырех байт
Это при проводном соединении или по воздуху?CraCk писал(а):Попробовал. Передаю аналоговое значение из анал. входа. Работает. Но есть проблема. Во время работы если ресетнуть приемник второй раз. После первого ресета соединение восстанавливается. Тогда невозможно восстановить связь. И выход fail на трансмитере не сигнализирует о том что нет ответа от приемника. Приходиться перезапускать трансмитер. Аж после этого уже приемник начинает что то принимать. Можно как то исправить?
В общем не плохо получилось. Очень мало занимает памяти и пинов МК. А какой Вы пример использовали для блоков. Есть что еще улучшать?
Добавлено (06.03.2017, 17:47)CraCk писал(а):Во время работы если ресетнуть приемник второй раз. После первого ресета соединение восстанавливается. Тогда невозможно восстановить связь. И выход fail на трансмитере не сигнализирует о том что нет ответа от приемника. Приходиться перезапускать трансмитер.
Модули НС-12. Пробовал 500мс 2000мс. При 2000мс не всегда теряется связь на втором отключение ресивера. Иногда на четвертом, иногда на шестом разе, уже может трансмитер переставать передавать данные.golowa70 писал(а):Это при проводном соединении или по воздуху? Какая частота отправки данных?
Попробуйте с блоками из 18го сообщения. Они чуток переделанные.CraCk писал(а):Пробовал 500мс 2000мс. При 2000мс не всегда теряется связь на втором отключение ресивера. Иногда на четвертом