ДРАКОН и Ардуино (Atmel mega..) - есть готовые решения?
- Войдите на сайт для отправки комментариев
Втр, 12/04/2016 - 05:59
Собственно вопрос в заголовке. Поясню:
Есть такой язык программирования ДРАКОН. Активно используется в российской космической отрасли. Вроде даже как имеет компилятор в С/С++. ИМХО, это то чему надо учить детишек, а не "Лего-скретчам"..
А поскольку некоторые варианты Атмелов выпускаются и нашей электронной промышленностью, возник этот вопрос .. по идее "должно быть". Кто знает, подсобите "на водками", не очень хочется свой огород городить .. а если нету, то предлагаю нагородить свой огород.
Кто что думает по этому поводу?
Есть такой язык программирования ДРАКОН.
Активно используется в российской космической отрасли.
ИМХО, это то чему надо учить детишек,
по идее "должно быть". Кто знает, подсобите "на водками", не очень хочется свой огород городить ..
а если нету, то предлагаю нагородить свой огород.
Пошерстил уже интернет, вашей ссылки не обнаружил, спасибо. А вот то, что на нем летал Буран и летают Прогрессы и кое-что ишо от Роскосмоса - в сети много где есть. Да, как понял это больше метаязык алгоритмов, а реализация возможна на любом языке программирования. Вроде как привязка к С/С++, пока только ссылки понаходил, но ещё не смотрел.
Как раз и интересно наличие готовой привязки к avr-gcc. Потому как если таковая есть, то привязать к avrdude и распиновке для ардуин в стиле wiring - в общем-то "мелочь".
И в целом, это вообще целый пласт "над языков" .. их оказывается многа.
Понравилось из прочитанного: "Есть железка, её работу инженегр прописывает на ДРАКОНе, он вообще программировать ни на чем не умеет. Я смотрю через привязку на С и вижу готовый драйвер. Проверяю и всё работает".
Как понимаю, ДРАКОН позволяет грамотно описывать конечные автоматы железок .. то есть "то что доктор прописал" для микроконтроллеров. Да, находил какие-то форумы по пиковским разработкам на нем.
P.S. Кстати, до меня кажется доперло как можно реализовать на макросах ногодрыги и пр. приколы одновременно, как с номером пина так и с именем переменной .. но перерабатывать в arhat.h почти всё .. лениво. :)
Как понимаю, ДРАКОН позволяет грамотно описывать конечные автоматы железок .. то есть "то что доктор прописал" для микроконтроллеров. Да, находил какие-то форумы по пиковским разработкам на нем.
Он позволяет гораздо больше. Если интересуют конечные автоматы. то поройте насчёт языка ЛЯПАС. Язык специально созданный под атоматную логику. Это действительно язык. Причём позволяет очень эффективную реализацию. Проводились тесты эффективности ЛЯПАС - прямое написание на ассемблере, так ЛЯПАС получил результат не хуже, чем Фортран.
Язык был разработан в СССР, затем экспортирован в США вместе с разработчиком. Судьба у него, как у многих других наших разработок - у нас он остался интересным предметом обсуждения в академических кругах. В США же переименовался в RPL (Russian Progammming Language) (т.к. интеллектуальная собственность принадлежала СССР) и активно использовался во многих системах управляемых микроконтроллерами, от небосрёбных лифтов до гидроэнергетики.
Язык жив. Последнюю статью про него я видел в прошлом году.
Что же касается дракона, там ноги растут из R-технологии, а в самой концепции языка поковырялись очень грамотные язычники из ИПМ. Но там была беда - секретность. Что может быть секретного в среде программирования я не знаю, но очень долго даже о существовании языка не писалось.
А вообще, мне он напоминает "общую терия всего" или язык Ада.
Чуть-чуть пощупал FLProg несколько месяцев назад, если и учить - так ладдерным диаграммам) промышленный стандарт в принципе.
Немного под сиеменсовский ПЛК (Simatic) писал - опять же на том же LD.
Посмотрите здесь http://forum.easyelectronics.ru/viewtopic.php?f=13&t=8992
Господа! Но ведь "визаульный язык" это, в некотором роде "скидка" для тупых военных, у которых воображения ни на что, кроме блок схем, не хватает.
Неужели никто не пробовал AVR программировать на Алгоритм Билдер (http://algrom.net/)? Судя по репликам - может кому и понравится, но это же УЖАС! К великому сожалению - это самое подходящее средство для тиньки 13, 85 и пр. Но какое же оно неудобное.
У человека, получившего нормальное техническое образование и человеческое, не военное, воспитание - просто обязано хватать воображения для программирования без дебильных костылей в виде блок-схем.
Блок-схема - вовсе не дебильный костыль. Это первое чему начинал учить ребенка .. ещё лет с 8 по-немногу. "-Не люблю кошек. - Зря, Вы просто не умеете их готовить". :)
ЕвгенийП, Пасибки, тоже поковыряюсь. На "изя-электроник" уже отписался, посмотрю что там авторы скажут.
"АДА" - это уже "хорошее начало" .. когда-то давно-давно участовал в написании компилятора с него. Остались очень хорошие воспоминания .. позже делал библиотеку "адских задачных примитивов" на С/С++ .. задачи, семейства, входы, очереди ожидания.. получилось прикольно.
Больше всего запомнилась книжка "Язык АДА" с золотым тиснением и в строгом черном переплете .. читал в поезде, народ - шарахался. :)
не знаю, может я как-то не так устроен, но программировать учился еще без компьюетера по журналам Квант,были такие в совке, может кто и помнит. И всегда считал блок-схемы - отвлекающей ерундой. Либо ты можешь поставить себя на место машины и понять, как будет работать код "на себе", либо нет.
Возможно многие нуждаются в визуализации, возможно я виноват, что меряю по себе, я - не нуждаюсь в визуализации, даже полагаю ее вредной, ибо не точной. Раз вас, сторонников визуализации, так много, то, возможно, я не прав.
Больше всего запомнилась книжка "Язык АДА" с золотым тиснением и в строгом черном переплете .. читал в поезде, народ - шарахался. :)
А я вообще в математику так пришел. На Московской городской олимпиаде по программированию, за 3-е место - получил "Проектирование и конструирование компиляторов". И на другой - "Язык АДА". Так шаг, за шагом: матлигнвистика, теория автоматов, и на последнем шаге выбора - матлогика. Так и пришло решение поступать на Мехмат. Сорри за воспоминания.
На МехМате военная кафедра (спец. АСУ ПВО) общая была с ВМК и на их территории. Вот там военные нас и задолбали теорвером и блок схемами так, что на всю жизнь неприятие осталось. Они все писали на PL-1 и вы не представляете уровень их "интеллекта"... Я теперь даже во сне напишу напишу статистически достоверную модель нападения "вражеских" бомбардировщиков, уровень проникновения, поражения и прочую херню.
Так прелести и практику "телефонного теста" никто не отменял. Если ты можешь рассказать другому что делает твоя программа - значит она верна. :)
Одно - другое только дополняет. Блок-схема хороша не только как средство визуализации алгоритма программы. Это "ваще алгоритм", в общем виде. И программировать "блок-схемами" крайне полезно и по жизни в целом. Они точно также поддаются оптимизации, и последующий "перевод" на конкретный язык, зачастую - дело техники.
Программист - это в первую очередь то, кто создает блок-схемы решений, а тот кто их реализует на языке - кодер. Можно вот, категорично как я люблю зачастую "вещать". :) Хотя часто, хороший программист - это "5 в 1" .. он ещё и архитехтур данных, и допостановщик задач по хотелкам заказчиков, и тестировщик и алгоритмист (блок-схемщик) и кодер .. одно без другого живет крайне плохо и однобоко.
Насобирал кучу ссылок, получил книжки по языку .. сел разбираться что это и как к чему прикрутить можно. У автора есть просто шикарная книжка по информатике для детишек:
"Занимательная информатика" .. мой уже отложил Властелина Колец и засел читать, говорит это интересней.
Ха! Так это знаменитые UML диаграммы по сути, только выпущенные в свет лет на 10 раньше с учетом сроков секретности ..
Ха! Так это знаменитые UML диаграммы по сути, только выпущенные в свет лет на 10 раньше с учетом сроков секретности ..
Не спешите с выводами.
Та небольшая часть дракона, которая похожа на uml выпущена на на 10, а на все 40 лет раньше, т.к. это не что иное, как Р-технология, разработанная группой академика Вельбицкого под руководством Глушкова в ИК АН УССР ещё в 70-ые (начало работ 1965, окончание что-то около 1984). Но дракон этим далеко не ограничивается.
Да, там ещё много чего читать .. но, просто нашел "знакомые ориентиры". :)
Поставил "ИС ДРАКОН" от Тышова в демо версии.
В общем, скетч сделал, скомпилял, всё получилось. Для прикручивания к Ардуине ничего собственно не надо делать "особенного".
Для этого надо иметь:
а) Образец ДРАКОН-схемы с уже заготовленными иконами: "Гном"[#include "Arduino.h"], "Примитив"[main()], "Примитив"[setup()] и "Примитив"/"Силуэт"[loop()]
б) В описании модуля надо указывать целевой файл как *.ino или *.cpp и потом переименовать в *.ino (я делал так)
в) полученный результат можно будет компилировать средствами Ардуино ИДЕ.
Недостаток:
ДРАКОН схема по сути никак не связана с кодом на языке. Писать алгоритм придется практически дважды. Увидеть на самой схеме код языка - не нашел как, что создает дополнительные неудобства.
Сам по себе редактор ИС ДРАКОН - сделан замечательно с небольшим геммороем (он везде бывает).
Вот так выглядит Blink в ДРАКОНе:
А это результат компиляции:
Попробовал остальные варианты редакторов.
Фабула - чистый ДРАКОН, но "иногда падает" .. это слова автора. :) Применение к программированию МК, соответственно не имеет;
DRAKON-Editor более продвинут, умеет отрисовывать в т.ч. и схемы данных, но англозяычен, что ставит крест на целях обучения дитенков. Под Линуксом его tcl основа как-то странно глючит. Веб вариант несколько получше.
ИС ДРАКОН - имеет существенный, на мой взгляд недостаток - это невозможность вывода П-слоя на тело икон, при этом имеет обилие способов комментирования алгоритма (как понимаю, требование военных). Что резко снижает наглядность результата и повышает вкрапление ошибок. Особенно вкупе с тем, что сам ДРАКОН - это чистый алгоритм и в нем нет ничего про "описание данных".
Но, последний редактор имеет крайне удобный граф. интерфейс, позволяет компилировать ДРАКОН-схему "во что угодно", в т.ч. и под Wiring. Нашел кучу описаний по использованию этого редактора для программирования на Ардуино. Всё украдено до нас, я далеко не первый, кто этим заинтересовался. В целом, ничего особо специального делать не требуется.
Ребенок уже на ИС ДРАКОН отрисовал 2 программки полностью сам. В этом плане, настоятельно рекомендую всем (и начинающим и профи) найти и перечитать книжки Паронджанова "Занимательная информатика" и "Учись писать, читать и понимать алгоритмы". Очень простой, наглядный и доходчивый стиль изложения. Респект автору.
Нашел работы Вильбицкого по Р-Технологии .. к сожалению вынужден констатировать что R-Technology от UML продвинуты заметно дальше, несмотря на более поздний старт (1994 против 1970). :(
Как итог: использовать ДРАКОН в Ардуино - можно, и в целях обучения - даже полезно.
Решил дополнить тему списком книг Владимир Даниэловича:
http://drakon.su/knigi_vladimira_parondzhanova._skachat
Читать всем! :)
Читать всем! :)
А что будет тем, кто ослушается и не прочитает?
А что будет тем, кто ослушается и не прочитает?
Приговорят к пожизненному использованию arhat.h
Поставил "ИС ДРАКОН" от Тышова в демо версии.
В общем, скетч сделал, скомпилял, всё получилось. Для прикручивания к Ардуине ничего собственно не надо делать "особенного".
Для этого надо иметь:
а) Образец ДРАКОН-схемы с уже заготовленными иконами: "Гном"[#include "Arduino.h"], "Примитив"[main()], "Примитив"[setup()] и "Примитив"/"Силуэт"[loop()]
б) В описании модуля надо указывать целевой файл как *.ino или *.cpp и потом переименовать в *.ino (я делал так)
в) полученный результат можно будет компилировать средствами Ардуино ИДЕ.
Недостаток:
ДРАКОН схема по сути никак не связана с кодом на языке. Писать алгоритм придется практически дважды. Увидеть на самой схеме код языка - не нашел как, что создает дополнительные неудобства.
Сам по себе редактор ИС ДРАКОН - сделан замечательно с небольшим геммороем (он везде бывает).
Добрый вечер.
Прошу прощения за не правельную терминологию и глупые вопросы...
Скачал ДРАКОН, запустил, потыркал, ни чего не понял....и решил задать глупые вопросы;)
1. Кто нибудь пользуется сей программой для програмирования(в качестве "помошника") Ардуино (или микроконтроллеров) на данный момент?
Архат попал :)
Мне не важно кто даст ответ...
может Вы мне чем поможете...если есть чем...
Нет, я не помогу, к сожалению. У меня сложные отношения с драконом и всем, что вокруг него происходило и происходит.
Мне не важно кто даст ответ...
может Вы мне чем поможете...если есть чем...
Для начала, чтоб понимать - как вы оцениваете свой уровень программирования? Сколько лет пишете на Си?
Не очень понятно что Вы не поняли и главное зачем и какую программу запускали. ДРАКОН-редакторов есть несколько, в т.ч. и "веб-версия". Самое то - посетить и внимательно почитать сайт по языку drakon.su, кажется так. Затем просто обязательно почитать книжки Паронджанова по практическому применению языка и вообще алгоритмическому мышлению и подходу.
И только потом что-то "запускать и пробовать", ибо ДРАКОН не имеет "типовых библиотек" для написания программ методом "скачал из сети готовое, помогите кто может". По большей части это инструмент для освоения алгоритмирования программ, а не их реализации в конкретном языке, хотя и это можно.
Конкретно по ИС "ДРАКОН": сейчас не пользуем, поскольку дитенок вырос из этого инструмента в какой-то мере. Но, это был очень полезный этап в понимании и переходе на Ардублок и теперь уже "С/С++". Вот на тот момент делал комплект для прямой генерации скетчей из ИС ДРАКОН. Это оказалось несколько неудобно, а автор отказался дополнять программу ИС ДРАКОН необходимыми изменениями, поэтому лежит где-то заброшенный уже больше года.
В общем, прежде чем "запускать и пробовать" надо четко ответить себе на вопрос "Зачем оно мне надо?". Весь язык требует существенного развития для полноценного применения как визуальный ЯП. В применяемой в оборнке версии - это только часть системы ГРАФИТ-ФЛОКС .. вот развитие в полноценную систему и не хватает ДРАКОНу. Ещё раз - это только часть, причем наиболее простая.
Кстати, за это время и уже достаточно давно, нашел и прочитал и про Вельбицкого и про Р-технологию .. ДРАКОН не совсем Р-Технология на мой взгляд. Первая несколько ширше, но менее удобна в ряде случаев .. ну и имеет специфику применения, ориентированную на текстовое отображение больше чем на графику. То что она развернута в горизонталь - не самое важное отличие вовсе. Куда важнее подход к оформлению ветвлений и их условий в программах. Ну и "удобство" .. на мой взгляд, весьма сомнительное.
ДРАКОН не совсем Р-Технология на мой взгляд.
Конечно, но Р-технология, это "шинель из которой он вырос".
ДРАКОН - это всего лишь часть из всей системы ГРАФИТ-ФЛОКС и полезность отдельной компоненты для "общего применения" всегда сомнительна. А остальной части в "общем доступе" увы - не просматривается. Пробовал развить ДРАКОН в сторону DDL, но ничего кузявого так и не получается.. подход UML диаграмм, где каждому овощу своя схема .. мне сильно не нравится, а вот предложить нечто такое же простое как ДРАКОН - не получилось .. периодически возвращаюсь к вопросу .. так что может быть "пока не получилось". :)
Используем редактор С.Митькина для программирования Ардуино. В результате ручной доработки кода и написания на основе примеров специального генератора пишем и для Arduino, и для Processing, и для OpenSCAD. https://forum.drakon.su/viewtopic.php?f=62&t=6187
Правда, пришлось изучить TCL. Но зато теперь школьники с базовым уровнем подготовки по Информатике могут за пару часов на Драконе научиться программировать железки на базе Arduino или ESP8266 (сетевые устройства для умного дома, например). Надраконить :)
Правда, пришлось изучить TCL. Но зато теперь школьники с базовым уровнем подготовки по Информатике могут за пару часов на Драконе научиться программировать железки на базе Arduino или ESP8266 (сетевые устройства для умного дома, например). Надраконить :)
А может изучить Ритчу с Керниганом и не парить моск? Если усе равно что-то изучать придется?
Похоже на цифровой автомат в новой маркетинговой упаковке.
ПС:Р-технология http://glushkov.org/?page_id=112
Используем редактор С.Митькина для программирования Ардуино. В результате ручной доработки кода и написания на основе примеров специального генератора пишем и для Arduino, и для Processing, и для OpenSCAD. https://forum.drakon.su/viewtopic.php?f=62&t=6187
Правда, пришлось изучить TCL. Но зато теперь школьники с базовым уровнем подготовки по Информатике могут за пару часов на Драконе научиться программировать железки на базе Arduino или ESP8266 (сетевые устройства для умного дома, например). Надраконить :)
Спасибо. Проделана большая работа.
Похоже на цифровой автомат
ПС:Р-технология
Не похоже от слова совсем. Это принципиально разные вещи.
в новой маркетинговой упаковке.
Вообще-то Р-технология - разработка 70-х годов прошлого века - ей уж скоро полтиниик стукнет.
Ну, Вы ж в #33 про Р-технологию писали, разве нет? Так и я про неё отвечал
Мне не важно кто даст ответ...
может Вы мне чем поможете...если есть чем...
Для начала, чтоб понимать - как вы оцениваете свой уровень программирования? Сколько лет пишете на Си?
Извените ...за долгий ответ..
Уровень программирования на Си = 0,00000001...
уточню- пробовал переписывать примеры из статей/учебников и всячески над ними издевался....
по истечению времени(с первого поста в этой теме) немного начал понимать суть...
Про ДРАКОН программу: скачивал и тыкал/мыкал ИС ДРАКОН и Drakon Editor...
нашел "Пособие молодого бойца" для PIC...принцып создания алгоритма описан доходчего...
но программистом так и не стал ;) ;) ;)
продолжаю тыкать/мыкат....а вось прийду к куда нибудь......
Используем редактор С.Митькина для программирования Ардуино. В результате ручной доработки кода и написания на основе примеров специального генератора пишем и для Arduino, и для Processing, и для OpenSCAD. https://forum.drakon.su/viewtopic.php?f=62&t=6187
Правда, пришлось изучить TCL. Но зато теперь школьники с базовым уровнем подготовки по Информатике могут за пару часов на Драконе научиться программировать железки на базе Arduino или ESP8266 (сетевые устройства для умного дома, например). Надраконить :)
А Вы могли бы свои разработки "рассекретить" и выложить на форуме?