Всегда с удовольствием смотрю ваши уроки - СПАСИБО. В большинстве промышленных устройств самая первая посылка - опрос флагов (все ли в порядке с устройством) как правило 16 флагов - отвечает что все в порядке, а потом общение .
Спасибо Александр. ПО автоматизации пожалуй стоит наравне с оборудованием. Как производители аппаратного и программного обеспечения понимаем важность всех составляющий систем автоматизации и сопряжения с ПЛК с Modbus/SCADA в частности.
Когда то я писал взаимодействие между Atmega2560 и тремя панелями Weintek по Модбас RTU. Весёлое было время. Контрольную сумму возможно игнорировать только на строне микроконтроллера. Отправляя ответ панели CRC игнорировать уже не получится, так как панель ожидает прихода CRC, если его не будет, то ответ игнорируется.
Александр добрый день. Прежде всего хочу поблагодарить за Ваш труд! С интересом пересматриваю многие уроки. Каждый раз узнаёшь что то новое, что не бросилось в глаза прежде. По реализации протокола, если не ошибаюсь в Вашем проекте используется кварц на 16МГц, судя по UBRR 103 для скорости 9600. При этом распознавание окончание пакета Вы рассчитали в 1,12мс тишины в UART? Тогда как стандарт предписывает паузы не менее 3,5 длительности бита между фреймами, и не более 1,5 длительности бита между битами в фрейме. Для 9600 это (1стартовый + 8 информационных + 2 стоповых )/9600 = 1,14мс это длительность одного бита. То есть по прошествии времени в 1,72 мс между приёмами битов - можно определить ошибку приёма в фрейме, а при 4мс после окончания приёма последнего бита - определяем окончание фрейма. Я правильно считаю, или может что то не так?
Через какую комманду можно передать 100 номер карт em-marine, по 4 байт каждая = 400 байт данных? Во многих примерах в основном считываются/выставляются, входа/выходы. Возможно ли это через modbus?
Здравствуйте Александр, разбираюсь с Modbus RTU и с вашей программой, перенес проект на Atmega32 и не могу понять, дискретные входа читаются и пишутся нормально, а аналоговые постоянно выдают какието случайные числа по всем каналам, не могу разобраться в чем дело, может есть какието мысли у вас
Аlex спасибо большое за прекрасное видео ! У меня есть несколько отвлечёный вопрос : Можно ли в одном приборе объединить устроиства с разными протоkолами общения , например SPI для общения с nRF24L01+, I2C для дисплея , UART для SD micro кард ридера и если да то как это лучше сделать ? Спасибо заранее.Успехов Вам !
5:50 CRC сначала LO потом HI - в модбасе для контрольной суммы обратный порядок байт. Для своей программы не важно, ошибки друг друга нейтрализуют, но промышленные устройства выдадут ошибку CRC
Александр, здравствуйте. Я ваш коллега, в том смысле, что занимаюсь автоматизацией различного производстводственного оборудования. Есть у меня желание, чтобы вы пропиарили меня, на ваших условиях разумеется. Если интересно дайте адрес почты электронной. Там обсудим... Ну а нет так нет))
Помог бы мне кто-оо сделать платку приема команд по modbus для зажигания шести светодиодиков. По факту можно просто modbus relay купить, но мне надо маленькую платку в подрозетник, управлять светодиодами в выключателе. Может кто-то поможет?
Для промышленной электроники обработка испорченного пакета данных может быть сродни хорошему вирусу на компьютере! Ведь можно столько всего "напороть"! Поэтому использование CRC оправдано. Хотя его и игнорируют начинающие программисты. В частности для DS18B20.
Спасибо, у вас явно выраженный дар преподавателя: излагаете кратко, чётко и понятно...
Огромное спасибо, более понятно чем в других местах
Спасибо за видео!!! Все доступно понятно. Буду ждать следующего видео.
Всегда с удовольствием смотрю ваши уроки - СПАСИБО.
В большинстве промышленных устройств самая первая посылка - опрос флагов (все ли в порядке с устройством) как правило 16 флагов - отвечает что все в порядке, а потом общение .
Спасибо Александр. ПО автоматизации пожалуй стоит наравне с оборудованием. Как производители аппаратного и программного обеспечения понимаем важность всех составляющий систем автоматизации и сопряжения с ПЛК с Modbus/SCADA в частности.
Очень полезная для меня информация, с удовольствием подписался и с помощью ваших видео изучаю свое оборудование на производстве.
Как всегда, выше всех похвал! Сперва лайк ставлю, потом смотрю видео :-)
Нашел причину, все прекрасно работает. Очень интересно было разобраться) Спасибо за серию видео)
Спасибо за труд.
Супер!!!
Так давно искал эту инфу!
СПАСИБО!!!!!!
Отличное видео! Но как по мне то лучше читать сразу весь регистр нежли дискретный выход, но для начинающих очень доходчиво. Спасибо.
Когда то я писал взаимодействие между Atmega2560 и тремя панелями Weintek по Модбас RTU. Весёлое было время. Контрольную сумму возможно игнорировать только на строне микроконтроллера. Отправляя ответ панели CRC игнорировать уже не получится, так как панель ожидает прихода CRC, если его не будет, то ответ игнорируется.
С возвращением на просторы ютуба )
Супер спасибо очень доходчиво .
Шикарно. Спасибо
Ждемс продолжения ;)
По этому протоколу работают популярные китайские блоки питания RD6000. Правда это не документировано.
На рисунке под номером пина №6 , расположена ломпочка № 7
Александр добрый день. Прежде всего хочу поблагодарить за Ваш труд! С интересом пересматриваю многие уроки. Каждый раз узнаёшь что то новое, что не бросилось в глаза прежде. По реализации протокола, если не ошибаюсь в Вашем проекте используется кварц на 16МГц, судя по UBRR 103 для скорости 9600.
При этом распознавание окончание пакета Вы рассчитали в 1,12мс тишины в UART? Тогда как стандарт предписывает паузы не менее 3,5 длительности бита между фреймами, и не более 1,5 длительности бита между битами в фрейме. Для 9600 это (1стартовый + 8 информационных + 2 стоповых )/9600 = 1,14мс это длительность одного бита. То есть по прошествии времени в 1,72 мс между приёмами битов - можно определить ошибку приёма в фрейме, а при 4мс после окончания приёма последнего бита - определяем окончание фрейма. Я правильно считаю, или может что то не так?
Та вроде все верно расписали
Через какую комманду можно передать 100 номер карт em-marine, по 4 байт каждая = 400 байт данных? Во многих примерах в основном считываются/выставляются, входа/выходы. Возможно ли это через modbus?
Здравствуйте Александр, разбираюсь с Modbus RTU и с вашей программой, перенес проект на Atmega32 и не могу понять, дискретные входа читаются и пишутся нормально, а аналоговые постоянно выдают какието случайные числа по всем каналам, не могу разобраться в чем дело, может есть какието мысли у вас
Спасби за очень интересный урок, а вы работаете с микроконтроллерами stm32? И будут ли уроки по scada касательно их?
И можете посоветовать литературу про протокол modbus?
stm32 я и сам не знаю )
а можно код с пояснением?. ато мне непонятно как написать програмку для atmega32.
Аlex спасибо большое за прекрасное видео !
У меня есть несколько отвлечёный вопрос :
Можно ли в одном приборе объединить устроиства с разными протоkолами общения , например SPI для общения с nRF24L01+, I2C для дисплея , UART для SD micro кард ридера и если да то как это лучше сделать ?
Спасибо заранее.Успехов Вам !
Конечно можно, главное чтобы при работе эти самые протоколы не мешали друг другу. А это уже ,нужно самому все учитывать при написании программы.
в иходниках небольшая опечатка ptu вместо rtu это баг или фитча?
Класс!
Подскажите на какой частоте работает программа ваша? И под какой камень писали? Спасибо)
16Мгц. Atmega16
Спасибо большое, очень жду продолжения этой темы.
Вы многое не сказали. Вот, те же команды в Modbus - что это за команды? Где это можно узнать?
ipc2u.ru/articles/prostye-resheniya/modbus-rtu/
на 4.30 оговорка. Речь идёт об 11 бит, а сказано "байт"
На какой проге делали эту презентацию???
AnimeStudio
5:50 CRC сначала LO потом HI - в модбасе для контрольной суммы обратный порядок байт. Для своей программы не важно, ошибки друг друга нейтрализуют, но промышленные устройства выдадут ошибку CRC
Это все сказано в другом уроке
Александр, здравствуйте. Я ваш коллега, в том смысле, что занимаюсь автоматизацией различного производстводственного оборудования. Есть у меня желание, чтобы вы пропиарили меня, на ваших условиях разумеется. Если интересно дайте адрес почты электронной. Там обсудим... Ну а нет так нет))
zimtexnik@gmail.com
А чи можливо все це реалізувати звичайному аматору-ардуЇнщику в програмному середовищі ARDUINO INO ???
Для ардуино есть уже готовая библиотека
скажите пожалуйста который вот этого программ я могу скачать в интернет на компьютере?
Мне не понятен ваш вопрос ?
Помог бы мне кто-оо сделать платку приема команд по modbus для зажигания шести светодиодиков. По факту можно просто modbus relay купить, но мне надо маленькую платку в подрозетник, управлять светодиодами в выключателе. Может кто-то поможет?
Опечатку в слово "modbus" исправьте.
Спасибо, не заметил )
Для промышленной электроники обработка испорченного пакета данных может быть сродни хорошему вирусу на компьютере! Ведь можно столько всего "напороть"!
Поэтому использование CRC оправдано. Хотя его и игнорируют начинающие программисты. В частности для DS18B20.
Полностью с Вами согласен
здравствуйте
Интересно, но не понятно
Спасибо за видео!!! Все доступно понятно. Буду ждать следующего видео.