Comments 20
Интересный обзор, но с точки зрения наглядности и удобства управления логикой мне больше нравится ДРАКОН.
На видео решение похожей задачи
На видео решение похожей задачи
0
А что в этом подходе нестандартного?
0
это же очевидно: программирование мышью
+1
Это попытка переносы промышленного языка FBD на микроконтроллеры.
0
Да, это нестандартно, но на сегодняшний момент уже устарело. Сейчас действительно интересно не столько графическое программирование, сколько моделирование этого всего на десктопе — еще до этапа компиляции кода. То есть вы должны иметь возможность промоделировать ваш замок со всех сторон на десктопе со всех сторон, и отладить его, прежде чем загружать код в контроллер. Так можно гораздо быстрее найти и исправить ошибки. Типичным представителем этого подхода есть Matlab/Simulink.
0
Была идея использовать для эмуляции утилиту avrsim но к сожалению список поддерживаемых для эмуляции устройств достаточно мал. Сейчас есть идея создать блок «debug», кидаешь ее на форму и программа подключится к устройству и будет возможность внутрисхемной отладки.
0
Внутрисхемная отладка — это хорошо, но не всегда возможно.
Во первых нужен отдельный порт и соединение с хостом, во вторых, когда оно работает в реал-тайме не всегда возможно отследить или задать нужные сигналы в нужное время. Моделирование гораздо проще в этом плане.
Во первых нужен отдельный порт и соединение с хостом, во вторых, когда оно работает в реал-тайме не всегда возможно отследить или задать нужные сигналы в нужное время. Моделирование гораздо проще в этом плане.
0
Ну зачем же так сложно. Да и к чему эта привязка к конкретной архитектуре микроконтроллера и подключение к устройству вообще. Пользователи же захотят не имея контроллера отладить несложную схему.
У вас же некий FBD-интерпретатор в микроконтроллере? Вы когда-нибудь захотите его перенести на другое железо.
На мой взгляд, достаточно научить вашу среду исполнять в режиме эмуляции тот же FBD-микрокод, который разбирает сейчас микроконтроллер. Ну и дать возможность при симуляции менять входные воздействия.
Я бы ещё попытался поднять работу с периферией микроконтроллера на уровень выше, чтобы максимально отвязать их от конкретного микроконтроллера, а в среде накидывать только логику поведения.
У вас же некий FBD-интерпретатор в микроконтроллере? Вы когда-нибудь захотите его перенести на другое железо.
На мой взгляд, достаточно научить вашу среду исполнять в режиме эмуляции тот же FBD-микрокод, который разбирает сейчас микроконтроллер. Ну и дать возможность при симуляции менять входные воздействия.
Я бы ещё попытался поднять работу с периферией микроконтроллера на уровень выше, чтобы максимально отвязать их от конкретного микроконтроллера, а в среде накидывать только логику поведения.
0
И это уже давно изобретено, разработано и продается. Называется Soft-PLC. Адруина, конечно, слишком слабовата для этого, но даже Распберри уже вполне справляется.
SoftPLC — это некий рантайм — операционка реального времени + интерпретатор, который выполняется на заданной платформе и обеспечивает не только выполнение нужного кода в реальном времени, а и его загрузку, выполнение по шагам, отладку, просмотр всех переменных во время работы, работу с периферией через стандартные интерфейсы, коммуникации типа Modbus RTU и т.д.
Типичный пример — Codesys. Рантаймы есть для множества платформ. Моделирование в свою очередь обеспечивается в самой среде программирования. Есть еще TwinCAT. Из опенсоурсного есть Beremiz -его, помоему даже на ту же ардуину и портировали.
SoftPLC — это некий рантайм — операционка реального времени + интерпретатор, который выполняется на заданной платформе и обеспечивает не только выполнение нужного кода в реальном времени, а и его загрузку, выполнение по шагам, отладку, просмотр всех переменных во время работы, работу с периферией через стандартные интерфейсы, коммуникации типа Modbus RTU и т.д.
Типичный пример — Codesys. Рантаймы есть для множества платформ. Моделирование в свою очередь обеспечивается в самой среде программирования. Есть еще TwinCAT. Из опенсоурсного есть Beremiz -его, помоему даже на ту же ардуину и портировали.
0
Подтягивающий резистор на PD6 избыточен, так как есть внутренний.
0
Конечно нестандартно — использовать многоногую Мегу где сгодилась бы и 8-ногая Тинька… Ах да, это же из-за того, что этот визуальный чудо-редактор нам полтора килобайта кода нагенерил… Ну тогда можно развивать нестандартность дальше, и переписать проект на распберри пи, ардуине или вообще на десктопе — на скретче…
0
Полтора килобайта кода можно поместить и в 8-ногую тиньку, а по мне это очень даже неплохо поместить данную схему в полтора килобайта.
0
на самую распространенную 13 тиньку нет, там только килобайт
а вообще полтора килобайта на такую задачу это расточительство.
Делая сейчас проектик: измеритель частоты импульсов с медианным фильтром и управление двумя независимыми каналами ШИМ с примитивным ПИД-регулятором на одном — занимает у меня на данный момент ~800 байт. И это на C и я не супер спец по программированию МК, а на ассемблере можно было бы еще ужать.
а вообще полтора килобайта на такую задачу это расточительство.
Делая сейчас проектик: измеритель частоты импульсов с медианным фильтром и управление двумя независимыми каналами ШИМ с примитивным ПИД-регулятором на одном — занимает у меня на данный момент ~800 байт. И это на C и я не супер спец по программированию МК, а на ассемблере можно было бы еще ужать.
0
В деньгах экономия большая выходит?
0
тинька стоит 22 руб, мега8 35руб в розницу, sop и tqfp исполнение соответственно
здесь больше вопрос целесообразности и задействования ресурсов
размеры меньше, разводка платы под восьминогий корпус тоже проще и быстрее чем под 32-ногий (и дешевле как и пайка если говорить о промышленности)
в конце концов(в порядке бреда уже) тини13 элементарно легче
здесь больше вопрос целесообразности и задействования ресурсов
размеры меньше, разводка платы под восьминогий корпус тоже проще и быстрее чем под 32-ногий (и дешевле как и пайка если говорить о промышленности)
в конце концов(в порядке бреда уже) тини13 элементарно легче
0
Зачем вообще было цифровые кнопки на одну ногу сажать, когда куча ног свободными осталась?
0
Sign up to leave a comment.
Нестандартный подход к программированию микроконтроллера