Досадно, что уроков на эту тему не будет, только нашел нормальные уроки и на тебе... Хотел на ардуине сделать что то вроде ПЛК 323 фирмы Овен, для телемеханики на ТП. Придется дальше искать.
с L6 не понятно, почему он стал стартовым. Где много лампочек опрос, тогда он почему=то становится третьим слева. По логике в первом примере должно быть не 0b 000 0001(L8 L7 L6 L5 L4 L3 L2 L1), а 0b 001 0000. И должно тогда получится десятичное число 32, а не 1.
Важно как ты формируешь запрос. Фактически, запрос был сформирован "В каком состоянии находится лампа 6?"("пятого порта микроконтроллера") Ответ " В единице". Если бы ты спросил " В каком состоянии находятся все лампы", как во втором примере, то получил бы то о чем ты говоришь. Для Modbus - это чтение из другого адреса ячейки или нескольких ячеек.
А в дальнейшем будет расчет CRC? Хотелось бы посмотреть. А то мой код на ассемблере для DS18B20 выполняется за 1037 тактов, а на Си в несколько раз больше ( в обоих примерах одинаковые числа)...
@@АлександрПисанец Я нашел решение: volatile register unsigned char j, i, Data asm("r16"), tmp asm("r17"), CRC asm("r18"); - и внутри функции используется не оперативная память с 5-ю тактами на инструкцию, а РОН - с одной. И если в качестве переменных в цикле for компилятор и так использует РОН, то с данными все не так гладко...
Что такие фид? Меня тоже раздражают всякие американизмы, только не понимаю, чем всех раздражают премьеры??? Пришло оповещение: через 30 минут будет премьера. Ну и что? Если интересно, посмотрю. Но мне в целом пофигу, посмотрю я что-то на'ютубе или не посмотрю)))
Александр, наверное ты ошибся. Мы передаём байты, но в них манипулируем битами. И возводим биты а не байты. А то получается из твоих слов что мы должны передать 10 байт а не 2 байта в которых идёт информация о 10 лампочках в 10 битах
Блин, сбил и меня с толку, подзабыл уже, но, кажется, состояние катушек именно отдельными байтами передаётся, а не складывается по 8 штук в один байт. Вообще, кому нафиг надо это чтение/записывание катушек? Кто им пользуется или, хотя бы, когда-то пользовался? Я никогда не видел. Все нормальные люди описывают пользовательские регистры и работают с ними как хотят.
TCP-IP протокол транспортного уровня, Modbus на ступень выше. Из-за того, что он чаще всего Modbus- RTU и на RS485 летает, есть заморочки. Modbus-TCP во всех отношениях лучше, за исключением стоимости реализации. А вообще, слишком примитивный и очень допотопный, когда логику ещё даже не процессоры выполняли - Modbus-RTU можно обрабатывать рассыпухой - сдвиговыми регистрами, грубо говоря. Потому пытались как-то стандартизировать протокол примитивного обмена, минимизировать трафик. Profibus в этом отношении со своими телеграммами куда мощнее. Лично мне на ethernet линиях удобнее кажется использовать датаграммы: подчинённый фигачит полный дамп данных и реагирует на команды или получает полный дамп параметров - типа синхронизация. :)
Добрый день, нужен специалист, который настроит мониторинг и управление контроллером горелки котла по протоколу modbus. Сможете помочь или кого-то посоветовать? регион Москва
Так не может быть, ибо эти два протокола между собой должны ещё иметь транспортный и канальный уровни. RS485 - это физический уровень, аппаратная часть принимающая и передающая голые биты. В нём нет ни адресации, ни чего либо вообще. И MQTT понятия не имеет о физических адресах и узлах. Да где в зоне досягаемости на RS485 будет висеть сервер? :)
Нафиг эти премьеры! Они некликабелные в емыл уведомлениях и ещё не сортируются из-за разных тем. Уже несколько каналов, засранными этими премьерами, я покинул. Пару раз тут повториться и тоже к херам подписку.
Досадно, что уроков на эту тему не будет, только нашел нормальные уроки и на тебе...
Хотел на ардуине сделать что то вроде ПЛК 323 фирмы Овен, для телемеханики на ТП. Придется дальше искать.
Спасибо за уроки, очень жду продолжения!
Александр, могли бы снять видеоролик и рассказать подробно про харт протокол и всё, что с ним связано. Спасибо
Спасибо!!!!!!!!!!!!!!!!!!! Жду продолжения.
Добрый день. Контрольная сумма CRC передаётся сначала Lo байт, затем Hi байт.
Спасибо, мне очень помогло!!!
с L6 не понятно, почему он стал стартовым. Где много лампочек опрос, тогда он почему=то становится третьим слева. По логике в первом примере должно быть не 0b 000 0001(L8 L7 L6 L5 L4 L3 L2 L1), а 0b 001 0000. И должно тогда получится десятичное число 32, а не 1.
Важно как ты формируешь запрос. Фактически, запрос был сформирован "В каком состоянии находится лампа 6?"("пятого порта микроконтроллера") Ответ " В единице". Если бы ты спросил " В каком состоянии находятся все лампы", как во втором примере, то получил бы то о чем ты говоришь. Для Modbus - это чтение из другого адреса ячейки или нескольких ячеек.
Очень нужны комментарии к вашим исходным кодам в виде видео.
А в дальнейшем будет расчет CRC? Хотелось бы посмотреть. А то мой код на ассемблере для DS18B20 выполняется за 1037 тактов, а на Си в несколько раз больше ( в обоих примерах одинаковые числа)...
Табличным методом в десяток тактов влезет... И чьих тактов? На каком процессоре? Неужели, многотактовый, не по такту на команду у Вас нашёлся? :)
@@f33net Табличный занимает много места, а я писал slawe на ATtiny13...
А потом решил перенести код на Си и сравнить.
Будет, только особо разжёвывать не буду. Времени потрачу много а толку от этого мало, смотря по просмотрам это мало кому интересно
@@АлександрПисанец Я нашел решение:
volatile register unsigned char j, i, Data asm("r16"), tmp asm("r17"), CRC asm("r18");
- и внутри функции используется не оперативная память с 5-ю тактами на инструкцию, а РОН - с одной. И если в качестве переменных в цикле for компилятор и так использует РОН, то с данными все не так гладко...
Александр, продолжение будет?
Эта фича Ютуба с премьерами совершенно раздражающая. Премьеры портят мой фид, я не знаю что с ними делать.
Решил попробовать, но мне тоже не нравится
твой фид повесь на стенку
Что такие фид? Меня тоже раздражают всякие американизмы, только не понимаю, чем всех раздражают премьеры??? Пришло оповещение: через 30 минут будет премьера. Ну и что? Если интересно, посмотрю. Но мне в целом пофигу, посмотрю я что-то на'ютубе или не посмотрю)))
@@АлександрПисанец Не слушайте этих раздражающихся, нормальная функция
Александр, наверное ты ошибся. Мы передаём байты, но в них манипулируем битами. И возводим биты а не байты. А то получается из твоих слов что мы должны передать 10 байт а не 2 байта в которых идёт информация о 10 лампочках в 10 битах
Блин, сбил и меня с толку, подзабыл уже, но, кажется, состояние катушек именно отдельными байтами передаётся, а не складывается по 8 штук в один байт. Вообще, кому нафиг надо это чтение/записывание катушек? Кто им пользуется или, хотя бы, когда-то пользовался? Я никогда не видел. Все нормальные люди описывают пользовательские регистры и работают с ними как хотят.
Вы все правильно описали, но я вроде так и рассказал.
я может не совсем понял, но если Binary_Output это массив, то почему там выделено на 11 значений? а добавлено 12?
Ошибся, нужно 12
Толи мне кажется, толи Модбас какой-то избыточный? По моему TCP-IP проще
TCP-IP протокол транспортного уровня, Modbus на ступень выше. Из-за того, что он чаще всего Modbus- RTU и на RS485 летает, есть заморочки. Modbus-TCP во всех отношениях лучше, за исключением стоимости реализации. А вообще, слишком примитивный и очень допотопный, когда логику ещё даже не процессоры выполняли - Modbus-RTU можно обрабатывать рассыпухой - сдвиговыми регистрами, грубо говоря. Потому пытались как-то стандартизировать протокол примитивного обмена, минимизировать трафик. Profibus в этом отношении со своими телеграммами куда мощнее. Лично мне на ethernet линиях удобнее кажется использовать датаграммы: подчинённый фигачит полный дамп данных и реагирует на команды или получает полный дамп параметров - типа синхронизация. :)
Подскажите, от куда берётся адрес устройства (в видео - 10), кто его назначает и по какому принципу?
Его назначает пользователь. Выбор произвольный.
Добрый день, нужен специалист, который настроит мониторинг и управление контроллером горелки котла по протоколу modbus. Сможете помочь или кого-то посоветовать? регион Москва
Здравствуйте. Учитывая место проживания врятли я вам подойду. Насколько я вас понял данную работу не получится удалено реализовать
А кто встречал MQTT поверх RS485?
Так не может быть, ибо эти два протокола между собой должны ещё иметь транспортный и канальный уровни. RS485 - это физический уровень, аппаратная часть принимающая и передающая голые биты. В нём нет ни адресации, ни чего либо вообще. И MQTT понятия не имеет о физических адресах и узлах. Да где в зоне досягаемости на RS485 будет висеть сервер? :)
не очень понятно. вопросы возникли.
3:10 для оставшихся ТРЁХ! 3:39 а тоно сначала младший байт? и в пакете точно не будет 187 - будет BB (передача всегда идет в 16ричном формате!)
Нафиг эти премьеры! Они некликабелные в емыл уведомлениях и ещё не сортируются из-за разных тем. Уже несколько каналов, засранными этими премьерами, я покинул. Пару раз тут повториться и тоже к херам подписку.