Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.93/163: Рейтинг темы: голосов - 163, средняя оценка - 4.93
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1

Графический язык ДРАКОН для программирования микроконтроллеров

19.08.2014, 10:44. Показов 31991. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Язык ДРАКОН разработан совместными усилиями Российского космического агентства (НПЦ автоматики и приборостроения, г. Москва) и Российской академии наук (Институт прикладной математики им. М.В. Келдыша, г. Москва) как обобщение опыта работ по созданию космического корабля «Буран». На базе ДРАКОНА построена автоматизированная технология проектирования программных систем (CASE-технология) под названием «ГРАФИТ-ФЛОКС». Она успешно используется в ряде крупных космических проектов: «Морской старт», «Фрегат», «Протон-М» и др.
ДРАКОН — визуальный язык, в котором используются два типа элементов: графические фигуры (графоэлементы) и текстовые надписи, расположенные внутри или снаружи графических фигур (текстоэлементы). Следовательно, синтаксис ДРАКОНА распадается на две части. Визуальный синтаксис охватывает алфавит графоэлементов, правила их размещения в поле чертежа и правила связи графоэлементов с помощью соединительных линий. Текстовый синтаксис задает алфавит символов, правила их комбинирования и привязку к графоэлементам (привязка необходима потому, что внутри разных графических фигур используются разные типы выражений). Оператором языка ДРАКОН является графоэлемент или комбинация графоэлементов, взятые вместе с текстовыми надписями.

Первый ИС Дракон выпущен в 2008 году. Программа умеет превращать дракон-схемы в исходные тексты программ на языках семейств 1С, Delphi, C, Oberon, ASM. Отличительной особенностью программы является высокая степень автоматизации ввода графики.

Видеоуроки (на примере управления дверным замком):
Разработка программы управления автоматическим дверным замком
Программирование битовых операций: инициализация процессора, настройка таймера
Проектирование сложного алгоритма реального времени. Проектирование разветвленного алгоритма
Работа с несколькими таймерами


Разработчик: Тышов Геннадий Николаевич.
Офсайт: http://drakon.su/programma_is_drakon
Скачать: тут (последнее обновление в 2013-м)
2
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2014, 10:44
Ответы с готовыми решениями:

Какой язык выбрать для программирования микроконтроллеров
Добрый день, хочу изучить язык программирования микроконтроллеров, опыт небольшой есть. В года 2 назад в университете делал лабораторные на...

Языки программирования для контроллеров, микроконтроллеров и пр.
Извините за нубский вопрос: а собственно на каком языке можно программировать например ПЛИС, и какие среды разработки, для этого существуют...

Дракон - визуальный алгоритмический язык программирования и моделирования
Приветствую Дракон - https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D Захотел найти на вашем форуме информацию...

51
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.08.2014, 16:41
Рекламу этого "дракона" не первый год вижу. А вот сравнительного анализа, доказывающего, что он хотя бы не хуже "классических" вариантов разработки, что-то не попадалось.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
19.08.2014, 17:01  [ТС]
...а в чем адекватность сравнивать визуальный (схемотехнический) способ проектирования с написанием кода? Разный подход, разные преимущества, разные недостатки. Мне как разработчику ПЛИС приходится сталкиваться и с тем и другим, но как схемотехнику очень не хватает подобного и в МК.

Потому и пользуются популярностью:
Algorithm Builder. Графическая среда для разработки ПО для МК AVR
LD под PIC and AVR
https://www.cyberforum.ru/blog... og350.html
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
19.08.2014, 17:29
Цитата Сообщение от raxp Посмотреть сообщение
сравнивать визуальный (схемотехнический) способ проектирования с написанием кода
Например, скорость разработки, размер кода, возможно, удобство тестирования итд.

IMHO, визуальный алфавит заведомо ограничен. С одной стороны, есть профессиональные среды для графического вывода, которые используют символическое описание (ex: TeX), с другой, разработки в RAD-системах кажутся мне убогими. Потому и хотелось бы услышать, чем разработчики визуальных языков обосновывают их преимущества. (с МЭК-языками почти не сталкивался, но их использование, кажется, одними контроллерами и ограничивается).
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
19.08.2014, 18:18  [ТС]
Не вижу смысла сравнивать, это вещи не конкуренты, они просто разные и взаимодополняющие. Взять тот же Altium, ISE, ....

Если говорить о ПЛИС: "Визуальный алфавит" основывается на элементарной логике из которой можно построить все. Ограничение лишь в количестве макроблоков (ячеек), т.е. памяти. В МК тоже самое, ограничение памяти. Кода в схемотехнической реализации как такового нет, все транслируется в элементарные базисы и схему соединений и разработчику не показывается. В то же время, в тех же ПЛИС средами поддерживается параллельно с графическим и cи/паскале подобные AHDL/VHDL, которые в итоге все равно транслируются в элементарный базис. Удобство - да, симуляторы дают возможность отладки. Но чем он лучше или хуже симулятора в том же Протеус? Да ничем, и там и там виртуальная лаборатория, под свое железо.

Поэтому сравнивать среды с разным подходом, нонсенс. Вот пришел киповец, ему нужно что-то запрограммировать в AVR. Что ему делать? Либо изучать Си, либо за пару минут накидать релейную рабочую схему. И в то же время, пришел программист, который ничерта не смыслит в релейных схемах, но при реализации алгоритма задачи решит ту же задачу в ПЛК при наличии возможности написания FBD-блоков. Я не говорю об универсалах.

с МЭК-языками почти не сталкивался, но их использование, кажется, одними контроллерами и ограничивается
мы говорим о микроконтроллерах/контроллерах или о языках высокого уровня и операционных системах? Нет. Так к чему это упоминать? Есть промышленные задачи, есть повседневные бытовые.
1
 Аватар для NoobsEnslaver
136 / 48 / 2
Регистрация: 31.07.2014
Сообщений: 238
08.09.2014, 18:30
Читал я про этот дракон и смотрел видеоуроки - не совсем точно будет говорить что это язык программирования. Скорее, это язык построения алгоритма. Конечно, среда генерирует часть кода, но только самую малость - в основном if, for. В остальном среда представляет из себя средство повышения наглядности в отношениях между функциями. И то, не сказать чтобы каждому от нее стало нагляднее.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
08.09.2014, 19:51  [ТС]
не совсем точно будет говорить что это язык программирования
название темы читали и содержание первого поста? Перечитайте снова и не вырывайте из контекста.
0
 Аватар для Ethereal
6773 / 2741 / 385
Регистрация: 17.02.2013
Сообщений: 4,048
20.04.2015, 15:28
>Вот пришел киповец, ему нужно что-то запрограммировать в AVR. Что ему делать? Либо изучать Си, либо за пару минут накидать релейную рабочую схему.

Зачем киповцу AVR ? Куча фирм производят промышленные контроллеры, которые вообще языков программирования не знают. Для них именно-что рисуются в среде разработки релейные и не очень схемы. Контроллеры Альфа от Мицубиси, например.
http://www.industrialauto.ru/m... p?lid=2281

Добавлено через 26 минут
Либо изучать Си, либо за пару минут накидать релейную рабочую схему. И в то же время, пришел программист, который ничерта не смыслит в релейных схемах, но при реализации алгоритма задачи решит ту же задачу в ПЛК при наличии возможности написания FBD-блоков.
Т.е. Вы создаете очередной протез мозга. Некую очередную программу, чтобы не надо было думать.
Результатом будет дальнейшее отупление среднего программиста и только.
От этого отупления полезного программистами в итоге будет сделано не больше, а меньше.

Результаты появления компиляторов Си в сфере МК, симуляторов и сред разработки уже на лицо.
Перед глазами примеры пареньков, которые год вымучивали на симуляторах то, что я писал
за три дня, имея только ассемблер командной строки. А это только потому, что когда я
начинал, за время компиляции программы можно было пообедать. И это жутко поднимало
профессионализм, потому как любая ошибка и любой тупняк наказывались кусанием локтей
при лишней компиляции. Учило отлаживать мысленно - просто просматривая ассемблерный
листинг с карандашом. А так уже никто не может. Почему не может ?
А от интегрированных сред и симуляторов атрофировался мозг.
И в итоге протезы из симуляторов и сред мозга все равно не заменили.
В конце концов средства, призванные, якобы, ускорить разработку программ, ее замедлили.
Потому как тупить за симулятором это гораздо медленнее, чем думать с карандашом.
0
 Аватар для raxper
10236 / 6614 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
20.04.2015, 15:54  [ТС]
Оффтоп выделяется тегами OFF/
0
 Аватар для NoobsEnslaver
136 / 48 / 2
Регистрация: 31.07.2014
Сообщений: 238
24.04.2015, 15:25
Цитата Сообщение от Ethereal Посмотреть сообщение
Потому как тупить за симулятором это гораздо медленнее, чем думать с карандашом.
Вы не поняли смысла ДРАКОНа, он и есть этот карандаш - вместо того, чтобы хвататься за задачу с наскоку, ты садишься и начинаешь клепать алгоритм. Сначала совсем абстрактный, типа "инициализация", "рабочий цикл", "состояние аварии" и тд, а потом всё уточняешь и уточняешь, а потом этот лист можно распечатать, или просто как картинку сохранить и передать коллегам, у которых сходная задача или они будут сопровождать проект. Непосредственная генерация кода - это лишь вкусная плюшка программы, но она не выдерживает критики, её основное назначение - написание алгоритма, который одновременно будет документацией, от которого можно однозначно перейти к коду, думая уже не обо всей программе, а, например, как реализовать вот эту функцию "Парсинг пакета" и тд.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
30.10.2019, 23:30
В узких кругах известна среда разработки ПРИМИУС (не нашёл в интернете), о которой узнал из прилагаемого файла. Нашёл классную страницу по Дракону в кеше Гугла.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
30.10.2019, 23:43
Об этой программе написано на странице 7.
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,608
04.11.2019, 03:10
Цитата Сообщение от supmener Посмотреть сообщение
В узких кругах известна среда разработки ПРИМИУС (не нашёл в интернете), о которой узнал из прилагаемого файла.
Программирование без программиста - это чушь! Что-то имхо сродни искусственному интеллекту. Хорошо, но пока недостижимо.

"Чем больше усложнялись ракетно-космические комплексы и системы, тем
сильнее была нужда в безупречном взаимопонимании между разработчиками.
Отсутствие взаимопонимания болезненно сказывалось на ходе крупных ракет-
ных проектов. Особенно остро проблема взаимопонимания проявила себя при
создании космического комплекса «Энергия–Буран» [1].
В качестве ответа на эти вызовы совместными усилиями Российского кос-
мического агентства (Научно-производственный центр автоматики и приборо-
строения имени академика Н.А. Пилюгина, г. Москва) и Российской академии
наук (Институт прикладной математики имени академика М.В. Келдыша,
г. Москва) была начата разработка инструмента, обеспечивающего безукориз-
ненное взаимопонимание между людьми, позволяющего описать структуру и
логику программы или бизнес-процесса в понятной неспециалисту по програм-
мированию форме, и дальнейшим преобразованием такого описания в про-
граммный код.
Разработка получила название «Дракон» и реализовывала основную пара-
дигму «программирование без программиста» или «кто обладает знаниями,
тот и должен их формализовать»."

Знаем, плавали. Первый мой выход в открытый космос программирования был именно связан с тем, что бывший разработчик электроники для проекта Буран не нашел общего языка со штатным программистом.

Но графический язык исходно узкозаточен на ограниченный ряд стандартных задач, с которыми способен справиться тот "кто обладает знаниями". А при попытке выйти из этого ряда возникают трудности, которые не способны понять те, «кто обладает знаниями".
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
04.11.2019, 07:36
Чтобы научиться делать алгоритм, надо прочитать сокращённую версию книги по Дракон. И уважением к этой разработке проникся после того, как ознакомился со страницей, найденной в интернете. Копию прикладываю во вложении.
Вложения
Тип файла: zip 123.zip (2.16 Мб, 47 просмотров)
0
Эксперт .NET
 Аватар для Rius
13025 / 7590 / 1661
Регистрация: 25.05.2015
Сообщений: 23,089
Записей в блоге: 14
04.11.2019, 08:02
А зачем? Вы всё равно на нём
  • ничего более предусмотренного не сделаете без великих тормозных костылей;
  • не напишете большую программу, потому что схема алгоритма будет неописуемо огромной.
Плюс, язык без текстовых исходников (не генерируемого кода, а именно исходников) - must die.
У Дракона же не текст программы, а описание картинки, в котором алгоритм без загрузки в редактор вообще не прослеживается.
0
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
04.11.2019, 08:09
ну, вообще-то у того же сименса и его LAD-диаграмм - тоже нет исходников. Но, это не мешает работать PLC, а равно, как и создавать для них программы.
0
Эксперт .NET
 Аватар для Rius
13025 / 7590 / 1661
Регистрация: 25.05.2015
Сообщений: 23,089
Записей в блоге: 14
04.11.2019, 08:13
Цитата Сообщение от untyped Посмотреть сообщение
ну, вообще-то у того же сименса и его LAD-диаграмм - тоже нет исходников
И это УЖАСНО! Я потому и говорю, что работал с ПЛК и имею возможность сравнить гибкость этих графических недоподелок с C/C++ или C#. А кто с ПЛК не вылазит, тем больше и не надо.
Смысл этих сред - предоставить "программирование" не программистам, а инженерам АСУТП.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,753
04.11.2019, 08:16
А зачем?
Вы читали страницу во вложении?
0
531 / 180 / 39
Регистрация: 18.08.2012
Сообщений: 907
04.11.2019, 08:18
Цитата Сообщение от Rius Посмотреть сообщение
Смысл этих сред - предоставить "программирование" не программистам, а инженерам АСУТП.
а разве это плохо?
инженер асутп - много проще понимает и справляется с контактно-релейным планом - нежели с си-кодом.
0
Эксперт .NET
 Аватар для Rius
13025 / 7590 / 1661
Регистрация: 25.05.2015
Сообщений: 23,089
Записей в блоге: 14
04.11.2019, 08:29
Цитата Сообщение от untyped Посмотреть сообщение
а разве это плохо?
Для него, работающего с релюшками, это норм. А для программиста чего-то иного - это #@$#$!$!@#$%!$!!
Но пророки графических поделок громко пророчат полную замену нормальных языков на это вот, а не только применение в сфере АСУТП.

Добавлено через 1 минуту
Цитата Сообщение от supmener Посмотреть сообщение
Вы читали страницу во вложении?
Прочитал. Ничего нового не увидел, рядовой бред по теме популяризации графических поделок.
Видите ли, Вы тут не первый с такой идеей зашли.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.11.2019, 08:29
Помогаю со студенческими работами здесь

Язык Си для микроконтроллеров PIC
хочу выучить программа pic c, не скажете откуда начать?? немного знаю c++.

Настройка QT Creator для программирования микроконтроллеров
Добрый день! Прошу у вас помощи в одном необычном деле. Хочу настроить Qt Creator для программирования микроконтроллеров на Windows 10, в...

Ассемблеры для программирования микроконтроллеров, 8-битных микропроцессоров
В программировании микроконтроллеров и прочего, не связанного с IA-32/Intel 64 не шарю, в связи с чем вопрос: какие есть ассемблеры для...

Как называется язык программирования для программирования на Android?
Как называется язык программирования для программирования на Android?

Какие книги, статьи и материалы необходимо изучить для программирования микроконтроллеров
Нужна подсказка, начал изучать Visual Studio 2013 C++(в текущий момент пишу программу с авторизацией, которая будет производить расчеты для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru