Pull to refresh

Comments 20

Интересный обзор, но с точки зрения наглядности и удобства управления логикой мне больше нравится ДРАКОН.
На видео решение похожей задачи

А что в этом подходе нестандартного?
это же очевидно: программирование мышью
Реинкарнация Algorithm Builder?
Это попытка переносы промышленного языка FBD на микроконтроллеры.
Да, это нестандартно, но на сегодняшний момент уже устарело. Сейчас действительно интересно не столько графическое программирование, сколько моделирование этого всего на десктопе — еще до этапа компиляции кода. То есть вы должны иметь возможность промоделировать ваш замок со всех сторон на десктопе со всех сторон, и отладить его, прежде чем загружать код в контроллер. Так можно гораздо быстрее найти и исправить ошибки. Типичным представителем этого подхода есть Matlab/Simulink.
Была идея использовать для эмуляции утилиту avrsim но к сожалению список поддерживаемых для эмуляции устройств достаточно мал. Сейчас есть идея создать блок «debug», кидаешь ее на форму и программа подключится к устройству и будет возможность внутрисхемной отладки.
Внутрисхемная отладка — это хорошо, но не всегда возможно.
Во первых нужен отдельный порт и соединение с хостом, во вторых, когда оно работает в реал-тайме не всегда возможно отследить или задать нужные сигналы в нужное время. Моделирование гораздо проще в этом плане.
Ну зачем же так сложно. Да и к чему эта привязка к конкретной архитектуре микроконтроллера и подключение к устройству вообще. Пользователи же захотят не имея контроллера отладить несложную схему.
У вас же некий FBD-интерпретатор в микроконтроллере? Вы когда-нибудь захотите его перенести на другое железо.
На мой взгляд, достаточно научить вашу среду исполнять в режиме эмуляции тот же FBD-микрокод, который разбирает сейчас микроконтроллер. Ну и дать возможность при симуляции менять входные воздействия.
Я бы ещё попытался поднять работу с периферией микроконтроллера на уровень выше, чтобы максимально отвязать их от конкретного микроконтроллера, а в среде накидывать только логику поведения.
И это уже давно изобретено, разработано и продается. Называется Soft-PLC. Адруина, конечно, слишком слабовата для этого, но даже Распберри уже вполне справляется.
SoftPLC — это некий рантайм — операционка реального времени + интерпретатор, который выполняется на заданной платформе и обеспечивает не только выполнение нужного кода в реальном времени, а и его загрузку, выполнение по шагам, отладку, просмотр всех переменных во время работы, работу с периферией через стандартные интерфейсы, коммуникации типа Modbus RTU и т.д.

Типичный пример — Codesys. Рантаймы есть для множества платформ. Моделирование в свою очередь обеспечивается в самой среде программирования. Есть еще TwinCAT. Из опенсоурсного есть Beremiz -его, помоему даже на ту же ардуину и портировали.

Подтягивающий резистор на PD6 избыточен, так как есть внутренний.
Да, совершенно верно избыточный, его можно убрать а в свойстве блока PinD6 выбрать «подтяжка к VCC».
а у вас исходники на proteus есть… если есть можете скинуть?
Конечно нестандартно — использовать многоногую Мегу где сгодилась бы и 8-ногая Тинька… Ах да, это же из-за того, что этот визуальный чудо-редактор нам полтора килобайта кода нагенерил… Ну тогда можно развивать нестандартность дальше, и переписать проект на распберри пи, ардуине или вообще на десктопе — на скретче…
Полтора килобайта кода можно поместить и в 8-ногую тиньку, а по мне это очень даже неплохо поместить данную схему в полтора килобайта.
на самую распространенную 13 тиньку нет, там только килобайт
а вообще полтора килобайта на такую задачу это расточительство.
Делая сейчас проектик: измеритель частоты импульсов с медианным фильтром и управление двумя независимыми каналами ШИМ с примитивным ПИД-регулятором на одном — занимает у меня на данный момент ~800 байт. И это на C и я не супер спец по программированию МК, а на ассемблере можно было бы еще ужать.
В деньгах экономия большая выходит?
тинька стоит 22 руб, мега8 35руб в розницу, sop и tqfp исполнение соответственно

здесь больше вопрос целесообразности и задействования ресурсов
размеры меньше, разводка платы под восьминогий корпус тоже проще и быстрее чем под 32-ногий (и дешевле как и пайка если говорить о промышленности)

в конце концов(в порядке бреда уже) тини13 элементарно легче
Зачем вообще было цифровые кнопки на одну ногу сажать, когда куча ног свободными осталась?
Sign up to leave a comment.

Articles