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

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

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

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

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

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


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

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

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

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

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

51
52 / 95 / 14
Регистрация: 26.06.2013
Сообщений: 4,650
16.04.2020, 08:04 41
Author24 — интернет-сервис помощи студентам
Тема на подфоруме Python Как довести до ума код, сгенерированный в Drakon editor?
0
52 / 95 / 14
Регистрация: 26.06.2013
Сообщений: 4,650
05.12.2021, 12:26 42
Цитата Сообщение от raxp Посмотреть сообщение
Видеоуроки (на примере управления дверным замком)
Здравствуйте. Не сохранилась ли версия программы, по которой построен урок? А то последующие версии устроены по другому.

Добавлено через 52 минуты
Оказывается, взял программу не того автора. Однако архив drakon_2013_09_22.rar всё равно не нашел.
0
Нарушитель
715 / 700 / 89
Регистрация: 23.11.2021
Сообщений: 3,882
Записей в блоге: 7
05.12.2021, 12:31 43
Был у нас один любитель "дракона". После его увольнения с нуля все на С переписывать пришлось!
Ну да ладно, хоть платить за него не нужно, как за лабвью...
0
52 / 95 / 14
Регистрация: 26.06.2013
Сообщений: 4,650
05.12.2021, 12:53 44
Если схемы Дракон были на бумаге или в похожем не редактируемом или не удобном формате, то это естественно, что пришлось переписывать на С. Если бы сразу делалось в редакторе с возможностью автоматической генерации кода, то наверное было бы проще.
0
Нарушитель
715 / 700 / 89
Регистрация: 23.11.2021
Сообщений: 3,882
Записей в блоге: 7
05.12.2021, 16:46 45
Цитата Сообщение от supmener Посмотреть сообщение
наверное было бы проще
Нет, не проще, т.к. ни у кого нет желания мучиться и пытаться этот ужас переделать!
Проще создать целиком с нуля на нормальном ЯП, чем вникать в "графическое программирование". Для меня это - вообще больная тема. Коллега лет 8 назад загорелся дурацким лабвью и меня просил на курсы походить, поизучать. Ну, я сразу сомневался, а после третьего или четвертого занятия понял, какой это бред - пытаться реализовать алгоритм посредством "рисования". Послал коллегу куда подальше с его лабвью и National Instruments, в общем, так его задумка по созданию спектрографа на железяках от NI канула в /dev/null. История знала подобные нездоровые попытки: на телескоп MMT и его основной спектрограф сначала пытались сделать все управление на NI'шном железе с "программированием" в лабвью. Буквально за год эксплуатации поняли, что эту жесть поддерживать невозможно, да и денег очень много стоят все эти железки и сам лабвью. Выбросили все к чертовой бабушке, и сделали как надо.
0
56 / 20 / 2
Регистрация: 18.06.2018
Сообщений: 199
05.12.2021, 22:10 46
Eddy_Em, Вы пгосто не умеете его готовить.

Ну и Тышовский Дракон заточен не под "гугло-итишникофф". Там иной подход: от тимлида до кодера в одном флаконе, это если перевести на ваш язык: Схема создается вовсе не программистом, а постановщиком задачи, которому в общем-то по барабану, какой там ЯП будет применен. Далее, она корректируется алгоритмистом, и только потом ее "программирует" кодер на заданном ЯП. И приемку работ ведет .. снова постановщик задачи.

Конкретно для этого техпроцесса у Тышова и есть "слои комментариев", которые .. вовсе и не комментарии. Ваш "код" это один из слоев..

Ну и кроме этого, кроме самой программы Тышова, в системе Графит-Флокс, как понимаю, (а оно отсюда выросло) есть ещё и глобальная СУБД констант, переменных, пакетов .. с чем всё это и должно использоваться совместно...

Ну и ещё. ДРАКОН ориентирован на автоматическую кодогенерацию. Переписывать код, компилированный с ДРАКОН, это все равно, что переписывать код генерации с какого-нибудь protofiles.. можно, но .. а зачем? Не, я по первости тоже правил код после генератора protofiles .. потом дошло, что этим или не надо пользоваться от слова совсем или забить на всю эту хрень.

Программисту на ЯП знать ДРАКОН - кмк, просто обязательно. А вот работать на нем .. то иная песня.
0
Нарушитель
715 / 700 / 89
Регистрация: 23.11.2021
Сообщений: 3,882
Записей в блоге: 7
05.12.2021, 22:21 47
Цитата Сообщение от Arhat109 Посмотреть сообщение
ориентирован на автоматическую кодогенерацию
Ух, сколько я кодогенераторов видел! И все генерировали такой ужас!..
Ладно, насчет современного "дракона" ничего говорить не буду: я видел его последний раз лет 10 назад, и тогда это был кошмар лютейший.
Мне просто неприятен сам принцип "графического программирования": от тех же сименсов и SEW'ов просто тошнит уже!.. А еще их чертов CANopen вместо вменяемого простого протокола поверх CAN… Вот есть у SEW вроде документация, чтобы разобраться, да написать свой конфигуратор. Ан нет: основная настройка выполняется не по CANopen, а через 485! И по ней документации с гулькин нос.
Ну и еще: у всех этих забугорных фирм почему такой юродивый подход? Просто потому, что считается, будто человек не имеет права "отбирать хлеб у специалистов" (попробуй в США сам себе дома поменяй проводку, да пересобери нормально водяную гребенку: сразу начнут возбухать, мол, не имеешь лицензии — плати штраф!). В России с этим пока все ОК, поэтому не стоит считать инженера дураком, который не может что-то запрограммировать на каком-нибудь ЯП.
0
56 / 20 / 2
Регистрация: 18.06.2018
Сообщений: 199
06.12.2021, 09:34 48
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Ну и еще: у всех этих забугорных фирм почему такой юродивый подход?
Отчасти и по-вашему, "не имеет права". Там "человек" понятие весьма условное, вернее "потребитель", но это уже "политика", не обсуждаю.

То, что в ИТ всё так убого у мягко-гугло-погромистов (и прочих, кто приседает), ну так .. Р-технологии, откуда вырос ДРАКОН это конец 60-х в СССР, ваще-то. Все эти UML, "визуальное программирование" оно от не понимания рассекреченных технологий в начале 2000-х (по факту утечки) .. как читал (сам не юзал) ГРАФИТ-ФЛОКС это куда продвинутее чем современные ИДЕ, которым до "полной картинки" ещё расти и расти..

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

Пошукайте, найдете много интересного в Сети, и ДРАКОН вам откроется совсем с иной стороны..

P.S. Кстати, когда игрался с конкретно Тышовским ДРАКОН, делал к нему настройки для прямого переноса "итого" в Ардуино ИДЕ .. вполне. Код конечно страшненький, но .. вполне оптимален. При правильном кодировании блок-схемы на ДРАКОН, оптимизировать в общем-то нечего.
0
4001 / 2547 / 428
Регистрация: 09.09.2017
Сообщений: 11,287
10.12.2021, 11:13 49
Цитата Сообщение от Eddy_Em Посмотреть сообщение
Проще создать целиком с нуля на нормальном ЯП, чем вникать в "графическое программирование". Для меня это - вообще больная тема. Коллега лет 8 назад загорелся дурацким лабвью и меня просил на курсы походить, поизучать.
Искренне поддерживаю! У нас в лаборатории когда-то (еще до того, как я сюда устроился работать) решили, что автоматизировать эксперименты на ассемблере, фортране и бейссике слишком сложно (тут я их прекрасно понимаю) и решили перевести все это дело на LabView, якобы в нем даже физик-непрограммист может худо-бедно нарисовать алгоритм. Ну что сказать, в какой-то мере это работает, вот только вносить потом в эту каракулю изменения довольно неприятно: оно встает врастопырку и чтобы хоть что-то добавить приходится двигать одну сторону вправо, вторую вниз и так далее. Мало того, там даже функций нормальных нет!
Как результат я сейчас вяло занимаюсь переводом этого кошмара на Lua, хотя, боюсь, придется переводить на Питон, поскольку больше шанс что рандомный физик будет знать его.
0
Eddy_Em
10.12.2021, 11:20
  #50

Не по теме:


COKPOWEHEU, лучше дать по голове рандомному физику и заставить таки выучить С!
У нас вот многие астрофизики вполне хорошо знают С или С++. Другие на матлабе, MIDAS'е, IRAF'е и т.п. орудуют. Есть и любители змеюки, но я над ними все время издеваюсь :)

0
COKPOWEHEU
10.12.2021, 15:17
  #51

Не по теме:

Не лучше. Вы же видите какой код генерируют новички в разделе по Си. А с заслуженными физиками будет еще хуже.
К тому же Си слишком низкоуровневый язык для автоматизации. Некоторые вещи на нем мне бы было лень делать.
Хотя от чего-то компилируемого я бы не отказался. Или хотя бы проверку какую в скриптовые добавить чтобы при опечатке сразу падало, а не в конце эксперимента.

0
52 / 95 / 14
Регистрация: 26.06.2013
Сообщений: 4,650
20.02.2022, 07:56 52
Чтобы было более понятно, в каких целях полезно использовать, можно посмотреть "Алгоритмический язык ДРАКОН. Практика использования ИС ДРАКОН".
0
20.02.2022, 07:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.02.2022, 07:56
Помогаю со студенческими работами здесь

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

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

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

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

Что мощнее язык программирования Perl или язык программирования PHP
Какой из них лучше

Неклассическая теория алгоритмов и язык ДРАКОН
Неклассическая теория алгоритмов и алгоритмический язык ДРАКОН Доклад Владимира Паронджанова ...


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

Или воспользуйтесь поиском по форуму:
52
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru