Использование языка ДРАКОН при разработке программ для микроконтроллеров

- +2
- 10 января 2012, 18:37
- efanov
Как минимум простую вводную, этакий Хеллоу ворлд.
З.Ы.
Дракон стоит покурить хотя бы за то, что на нем Буран дал всем просраться.
З.Ы.
Дракон стоит покурить хотя бы за то, что на нем Буран дал всем просраться.
О_О
Буран управлялся программой на прологе
ЗЫ. пруф чуть позже
Буран управлялся программой на прологе
ЗЫ. пруф чуть позже
- prostoRoman
- 10 января 2012, 23:33
- ↑
- ↓
habrahabr.ru/blogs/popular_science/86876/
там надо регистрироваться и добавиться в группу. более обзорная вещь
www.buran.ru/htm/algoritm.htm
тут больше технической информации. я ликовал, когда читал в первы раз)))
зы: ох уж этот Ctrl+Enter)))
там надо регистрироваться и добавиться в группу. более обзорная вещь
www.buran.ru/htm/algoritm.htm
тут больше технической информации. я ликовал, когда читал в первы раз)))
зы: ох уж этот Ctrl+Enter)))
- prostoRoman
- 10 января 2012, 23:47
- ↑
- ↓
Сайт буран я прочитал когда то весь, от и до. Там еще очень доставляющие мемуары строителя стартовой площадки и подготовки к запуску есть.
А про Дракон упоминание было там же. И еще где то я неоднократно натыкался, что спроектировали эту систему к Бурану, ну и потом модернизировали и улучшали.
А про Дракон упоминание было там же. И еще где то я неоднократно натыкался, что спроектировали эту систему к Бурану, ну и потом модернизировали и улучшали.
сайт одного из участников этой программы. Вы то, скорее всего, знаете, остальным тоже будет крайне полезно — дядька всерьёз увлекается программированием ПЛИС.
Куча собственных разработок и статей от которых веет союзом и чем-то великим — явная нестандартность и не шаблонность мысли, в лучшихх традициях строителей ракет из говна и палок, кторые летали и не падали. я почитываю.
Так же есть мемуары (?) в виде коротеньких историй, тоже интересно)
линк: iosifk.narod.ru/
Куча собственных разработок и статей от которых веет союзом и чем-то великим — явная нестандартность и не шаблонность мысли, в лучшихх традициях строителей ракет из говна и палок, кторые летали и не падали. я почитываю.
Так же есть мемуары (?) в виде коротеньких историй, тоже интересно)
линк: iosifk.narod.ru/
- prostoRoman
- 12 января 2012, 00:09
- ↑
- ↓
нет, не на прологе — был разработан язык прол2.
forum.oberoncore.ru/viewtopic.php?f=62&t=1252 — там интересно про историю
forum.oberoncore.ru/viewtopic.php?f=62&t=1252 — там интересно про историю
Язык ДРАКОН создан в Российском космическом агентстве и тщательно отработан на практике в ряде космических проектов.Навеивает воспоминания о потерянных Роскосмосом спутниках.
что на нем летает:
forum.oberoncore.ru/viewtopic.php?f=62&t=1276&sid=df8d56d8b4e2afe9c001e4e814935355
Книжку полистайте, это не столько язык программирования, сколько целостная идеология разработки — во главу угла поставлена читабельность алгоритмов и структурированность кода. Даже не используя IDE, можно подход применять в разработках.
forum.oberoncore.ru/viewtopic.php?f=62&t=1276&sid=df8d56d8b4e2afe9c001e4e814935355
Книжку полистайте, это не столько язык программирования, сколько целостная идеология разработки — во главу угла поставлена читабельность алгоритмов и структурированность кода. Даже не используя IDE, можно подход применять в разработках.
Поглядел материалы…
Как минимум стоит воткнуть видео в посты про Дракон. Я под это дело могу вам даже спец блог выделить.
Как минимум стоит воткнуть видео в посты про Дракон. Я под это дело могу вам даже спец блог выделить.
we.easyelectronics.ru/blog/drakon/
Готово. Вступайте в бложек и можете постить туда статьи. Для вступления в блог надо нажать иконочку с вилкой. Вот такую:

В первом посте достаточно воткнуть два видеоролика, что уже есть. НУ и ссылку на PDF книжку по Дракону. Весьма добротно и полно для старта.
Готово. Вступайте в бложек и можете постить туда статьи. Для вступления в блог надо нажать иконочку с вилкой. Вот такую:

В первом посте достаточно воткнуть два видеоролика, что уже есть. НУ и ссылку на PDF книжку по Дракону. Весьма добротно и полно для старта.
Судя по видео, которое я бегло поглядел, дракон это метод очень удобного описания конечных автоматов с последующей генерацией кода. Так?
Странно, у меня он что то постоянно вываливается с табличкой «List index out of bounds(0)» после попытки создать новый лист, в дальнейшем при любом действии с меню. Видимо индекс какого то из элементов масива Strings или его наследников стучится в нуль…
Потом вообще выпадает с AV
Потом вообще выпадает с AV
- Leopoldius
- 10 января 2012, 19:27
- ↑
- ↓
Полученный код не предназначается для «человеческого глаза». В нём руками делать уже ничего не надо (и просто нельзя), и даже заглядывать туда не надо. Лишь бы компилятор его понимал. А так как код очень простой, то его без проблем понимают все компиляторы. И, кстати, отлично сжимается оптимизаторами!
Логично. Правда зачем там вообще тогда Си? Сразу в ассемблер переводить. Т.к. абстракцией будет служить сама дракон схема и в роли HAL будет лишь обозначения работы конкретной иконы.
Кроме Си, как я понял ничего не реализовано? Может лучьше трансляторы было реализовать в виде плагинов, скажем в виде dll? И выложить SDK, тогда я думаю можно бы сразу добавить гибкости?
- Leopoldius
- 10 января 2012, 19:34
- ↑
- ↓
да уж, я как посмотрел на то что вышел — выпал
Это же додуматься надо генерить через goto
Просто ппц, час вводим всё — в итоге получаем этот кусокговна кода.
Закономерный вопрос — что мы получаем полезного от этого?
все выполняющие функции мы пишем ручками, логику пишем ручками, час заполняем это в итоге получаем код который мы написали бы в 3 раза быстрее и лучше + схему
Люди добрые, поясните мне, не разумеющему, какую выгоду нам даёт эта схема?
переносимость? — нет (мы биндим в блоках конкретную реализацию на конкретном языке )
скорость разработки? — нет (мы в добавок схему рисуем)
наглядность? — нет ( потому как не по стандартам, а так, отсебятина, каждый новый разработчик должен это учить), к тому же есть генераторы в uml из готового кода
Вот и вопрос — зачем этот язык нужен? свой велосипед, с квадратными колесами, душу греет?
Это же додуматься надо генерить через goto
Просто ппц, час вводим всё — в итоге получаем этот кусок
Закономерный вопрос — что мы получаем полезного от этого?
все выполняющие функции мы пишем ручками, логику пишем ручками, час заполняем это в итоге получаем код который мы написали бы в 3 раза быстрее и лучше + схему
Люди добрые, поясните мне, не разумеющему, какую выгоду нам даёт эта схема?
переносимость? — нет (мы биндим в блоках конкретную реализацию на конкретном языке )
скорость разработки? — нет (мы в добавок схему рисуем)
наглядность? — нет ( потому как не по стандартам, а так, отсебятина, каждый новый разработчик должен это учить), к тому же есть генераторы в uml из готового кода
Вот и вопрос — зачем этот язык нужен? свой велосипед, с квадратными колесами, душу греет?
Не шаришь.
Во первых в GOTO ничего плохого нет. Ассемблерный код так из них и состоит. То что GOTO считают быдлокодом то лишь потому, что он делает прогу нечитабельной. Тут же программу человек смотреть ВООБЩЕ НЕ ДОЛЖЕН. Это чисто для компилятора.
Что дает схема? А то что код может писать инженер который шарит в процессе, но не шарит в языке программирования. Что не возникнет недопонимания между создателем алгоритма и кодером.
Во первых в GOTO ничего плохого нет. Ассемблерный код так из них и состоит. То что GOTO считают быдлокодом то лишь потому, что он делает прогу нечитабельной. Тут же программу человек смотреть ВООБЩЕ НЕ ДОЛЖЕН. Это чисто для компилятора.
Что дает схема? А то что код может писать инженер который шарит в процессе, но не шарит в языке программирования. Что не возникнет недопонимания между создателем алгоритма и кодером.
Дык а чем вам гоуту не нравится? Ведь не вы же будете выполнять программу а процессор, а процессору легче.
В асме вообще гоуту является базой для перехода, и ни кого это не смущает.
все нормально, если программа строится по блок схемам то все нормально.
А вот если вы ее лично редактировать будете — тогда конечно это не подходяший стиль.
В асме вообще гоуту является базой для перехода, и ни кого это не смущает.
все нормально, если программа строится по блок схемам то все нормально.
А вот если вы ее лично редактировать будете — тогда конечно это не подходяший стиль.
Ок, допустим
Только никто не ответил на вопрос как дела там с отладкой, обработкой ошибок
или если оно компилится то там 100% нет ошибок? :)
И как вы в случае чего собираетесь это дебажить?
Только никто не ответил на вопрос как дела там с отладкой, обработкой ошибок
или если оно компилится то там 100% нет ошибок? :)
И как вы в случае чего собираетесь это дебажить?
не, не нужно путать. Давайте рассмотрим это иначе.
Дракон это не язык программирования. Это визуализированная возможность написания программ. Например как любый другие графические программы для программирования. Например как Labview. И дракон позволяет просто напросто в визуальной модели дописывать код. Все — больше ни чего.
Ошибки к этому всему ни какого отношения не имеют, и если их нужно найти то вперед глазками по диаграмме искать где может быть бага, там клац мышкой и вперед править.
Дракон это не язык программирования. Это визуализированная возможность написания программ. Например как любый другие графические программы для программирования. Например как Labview. И дракон позволяет просто напросто в визуальной модели дописывать код. Все — больше ни чего.
Ошибки к этому всему ни какого отношения не имеют, и если их нужно найти то вперед глазками по диаграмме искать где может быть бага, там клац мышкой и вперед править.
ну так давайте, не будем путать, эта среда на входе берет схему и код на выходе дает программу по данной схеме, в случае ошибок каким образом их вылавливать?
Вы говорите пробежаться глазами…
Допустим реальная ситуация — написали, скомпилировали — не работает
Что делать? отладка в таком случае довольно ресурсоемкая задача
Вы говорите пробежаться глазами…
Допустим реальная ситуация — написали, скомпилировали — не работает
Что делать? отладка в таком случае довольно ресурсоемкая задача
В редакторе есть настройка «макросы с трассировкой к иконам с меткой». При установленной «галочке» в текст программы вставляются макросы вида:
trassa_macro(NN);
NN — это номер иконы. Макрос не определён, его нужно написать самому. Пиши, что хочешь. Например, можно вывести на терминалку номера икон, и отследить таким образом путь, по которому прошёл алгоритм.
trassa_macro(NN);
NN — это номер иконы. Макрос не определён, его нужно написать самому. Пиши, что хочешь. Например, можно вывести на терминалку номера икон, и отследить таким образом путь, по которому прошёл алгоритм.
Извиняюсь, если что то пропустил, коротко просмотрел первый урок. Но возник вопрос к тем кто использовал алгоритм билдер, дракон с ним не схож?
Похоже, но не совсем то. Дракон это даже не столько сам язык и схематические диаграммы. Это всего лишь реализация, вторичная вещь. Тут больше идеология составления алгоритмов как таковых, с упором на читабельность и качество восприятия. Т.е. во главу угла ставится эргономика. Т.е. некрасивый алгоритм тупо забраковывается, согласно идеологии.
Я не использовал алгоритм билдер, и поэтому на прямо поставленный ответить не могу. Но я хочу сказать — невозможно получить представление о ДРАКОНе из видео-уроков! Цель этих уроков — совершенно другая — помочь с первыми шагами в редакторе. А для знакомства с языком — почитайте книгу. Хотя бы несколько первых страниц.
визуальный алгоритмический язык Дракон разработан В.Д. Паронджановым в 1996, описан в книге «как улучшить работу ума» и используется 15 лет в космических проектах.
Ингтегрированная среда Дракон разрабатывается 4 года в частном порядке. Сейчас он имеет завершенный вид полно функциональной среды. Представляет графический редактор алгоритмов на языке Дракон (значительно структурированные блок-схема), с графикой связана текстовая часть, что и позволяет выполнять так же и программирование.
Ингтегрированная среда Дракон разрабатывается 4 года в частном порядке. Сейчас он имеет завершенный вид полно функциональной среды. Представляет графический редактор алгоритмов на языке Дракон (значительно структурированные блок-схема), с графикой связана текстовая часть, что и позволяет выполнять так же и программирование.
- Dragonedit
- 10 января 2012, 20:03
- ↓
С каждым графическим элементом связаны 3 текстовых поля — текстовые приложения.
При работе в коллективе поля могут заполнятся техническим заданием от заказчика, описанием алгоритмя от архитекторы проекта, программным кодом от программиста.
Все это вместе позволяет им взаимодействовать и понимать друг друга.
При работе в коллективе поля могут заполнятся техническим заданием от заказчика, описанием алгоритмя от архитекторы проекта, программным кодом от программиста.
Все это вместе позволяет им взаимодействовать и понимать друг друга.
- Dragonedit
- 10 января 2012, 20:10
- ↑
- ↓
При программировании используется модель конечного автомата. Алгоритм в терминах прикладной область отображен в виде Дракон-схемы. Графический элемент образует состояние автомата, в программном приложении находятся команды программного кода. Переход из состояния в другое состояние производится по последовательности графических элементов или последовательность меняется по условию, При генерировании програмного кода в ИС Дракон маршрутный транслятор Дракон-схемы в кон программного языка. Да, он и генерирует команды перехода из одного состояния в другое с помощью команд if и goto.
- Dragonedit
- 10 января 2012, 20:21
- ↑
- ↓
Не буду все расказывать в деталях, Желательно ознакомится с книками Пароджанова и понять и принять его идею Дракон-схем, а потом познакомиться и с интегрированной средой. Вы уже видели пример ее применения.
Извините за скомканый рассказ, не готов был.
Какие, есть вопросы?
Извините за скомканый рассказ, не готов был.
Какие, есть вопросы?
- Dragonedit
- 10 января 2012, 20:28
- ↑
- ↓
Мне в видео не понравился один момент — выбор рабочей директории путем выбора файла в ней. Это же верх безпринципности! Существуют же стандартные диалоги выбора директории.
Сама идея ДРАКОНа оченьинтересная.
К слову есть еще один проект http://sourceforge.net/projects/drakon-editor/?source=directory
Сама идея ДРАКОНа оченьинтересная.
К слову есть еще один проект http://sourceforge.net/projects/drakon-editor/?source=directory
- vbolshakov
- 10 января 2012, 21:30
- ↑
- ↓
Да, существует стандартный диалог выбора каталога, но в нем не видно содержания каталога.
С указанным проектом знаком, в нем не реализуется полный язык Дракон, графические элементы требуют индивидуальную расстановку, требуется среда выполнения Tcl, имеется возможность программировать — при этом программный код пишется в графический элемент и не остается места для описания прикладной логики
С указанным проектом знаком, в нем не реализуется полный язык Дракон, графические элементы требуют индивидуальную расстановку, требуется среда выполнения Tcl, имеется возможность программировать — при этом программный код пишется в графический элемент и не остается места для описания прикладной логики
- Dragonedit
- 11 января 2012, 03:45
- ↑
- ↓
Ну использовать диалог выбора файла не лучший вариант — я буду боятся, что в нудный мне файл система что-то запишет.
- vbolshakov
- 11 января 2012, 13:46
- ↑
- ↓
Текстовая запись на языке программирования является конечным продуктом последнего этапа разработки. В ней нет причин разработки, нет обоснования и логики выбора того что предшествйет программированию.
- Dragonedit
- 10 января 2012, 20:32
- ↑
- ↓
Не торопитесь. Будут первые видяшки и статьи, будут и вопросы. Пока народ только тыкает ЭТО палочкой и пытается понять что ему пытаются скормить.
Я вот оценил. Понравилось. Надо будет попробовать применить. Если даже не в виде кодогенератора, то хотя бы для создания алгоритмов к статьям. Не в паинте же их рисовать, в самом деле.
Я вот оценил. Понравилось. Надо будет попробовать применить. Если даже не в виде кодогенератора, то хотя бы для создания алгоритмов к статьям. Не в паинте же их рисовать, в самом деле.
Для всего соответствующие инструменты есть
для тех же блок-схем в гугле за минуту нашел
vicking.narod.ru/flowchart/
www.yworks.com/en/products_yed_about.html
есть тот же MS Visio
Вернемся к тому что данная Среда генерирует схемы _не_по_стандарту_
ИМХО Сама среда прошлый век, я понимаю что это же _наше_, потому оно самое суровое
Но оглядитесь, давно придумали (я не про конкретную реализацию, а про методологию и best practices) на порядок лучше, а это — привет из 90х, что очень печально :(
для тех же блок-схем в гугле за минуту нашел
vicking.narod.ru/flowchart/
www.yworks.com/en/products_yed_about.html
есть тот же MS Visio
Вернемся к тому что данная Среда генерирует схемы _не_по_стандарту_
ИМХО Сама среда прошлый век, я понимаю что это же _наше_, потому оно самое суровое
Но оглядитесь, давно придумали (я не про конкретную реализацию, а про методологию и best practices) на порядок лучше, а это — привет из 90х, что очень печально :(
почитал — тут вопрос
или мы хотим то что будет понимать любой человек, без доп подготовки => стандарт
или мы хотим читаемость — тогда вот это УГ ничуть не лучше стандарта :)
Сейчас существую намного приятнее и информативнее виды представления
или мы хотим то что будет понимать любой человек, без доп подготовки => стандарт
или мы хотим читаемость — тогда вот это УГ ничуть не лучше стандарта :)
Сейчас существую намного приятнее и информативнее виды представления
вы что, правда так думаете?
А какие вообще общепринятые вы знаете? Есть инструменты лучше чем этот, а этот откровенное гавно.
Скажу что, как минимум мне, как программисту, не нравится в этих схемах
во всех схемах каждая блок или связь изображает существующую в языке программирования конструкцию или действие логическое, вычислительную операцию, и четко показывает пути перехода от одного блока в другой, с четкой логикой
В данной же схеме у нас алгоритм входит в параллельную вилку, без каких либо условий, с блоками без четкой и однозначной логики
И я конечно извиняюсь, но у этого языка предусмотрена вообще обработка ошибок, хоть какая то?
А какие вообще общепринятые вы знаете? Есть инструменты лучше чем этот, а этот откровенное гавно.
Скажу что, как минимум мне, как программисту, не нравится в этих схемах
во всех схемах каждая блок или связь изображает существующую в языке программирования конструкцию или действие логическое, вычислительную операцию, и четко показывает пути перехода от одного блока в другой, с четкой логикой
В данной же схеме у нас алгоритм входит в параллельную вилку, без каких либо условий, с блоками без четкой и однозначной логики
И я конечно извиняюсь, но у этого языка предусмотрена вообще обработка ошибок, хоть какая то?
Хотелось бы увидеть краткое описаное того, что это такое, без мусора подобного `полнофункциональной среды` или `новый уровень программирования`. Пока я понял (судя по комментам здесь, и немного по книге), что это генератор конечного автомата + графический редактор используемый для задания графа, но только ли он? или что-то ещё?
Из этого мне стало бы ясно надо смотреть даьше или не нет.
Из этого мне стало бы ясно надо смотреть даьше или не нет.
Язык Дракон позволяет описывать алгоритмя из различных областей деятельности, в т.ч. и на этапе программирования. Интегрированная среда Дракон является инструментальным средством. В ней сочетается текстовая база на основе привязки ко графическому алгоритму.
- Dragonedit
- 11 января 2012, 04:21
- ↑
- ↓
ИС Дракон является первой общедоступной средой применения языка Дракон.
На заставке программы сказаночто предназначена для алгоритмизации вашей деятельности и знаний, что является инструментом вашего мышления.
Язык Дракон и ИС Дракон позволит создавать многие алгоримы и быстро из записывать, отображать, перестраивать, чего не возможно на бумаге или другими инструментальными средствами.
На заставке программы сказаночто предназначена для алгоритмизации вашей деятельности и знаний, что является инструментом вашего мышления.
Язык Дракон и ИС Дракон позволит создавать многие алгоримы и быстро из записывать, отображать, перестраивать, чего не возможно на бумаге или другими инструментальными средствами.
- Dragonedit
- 10 января 2012, 20:46
- ↓
Программирование является видом деятельности, В ИС Дракон предусмотрено программирование на языках семейств 1С, Си, Делфи, Оберон, АСМ. Практически применяется Ефановым программирование в течении 2011 года, при этом ИС Дракон дорабатывался в соответствии возкающими вопросами.
- Dragonedit
- 10 января 2012, 20:53
- ↑
- ↓
Всё же, позволю себе заметить, ваша ИС поддерживает не язык Делфи а всё же паскаль, поскольку язык Делфи является частью одноименной IDE и не отделим от классов и среды поставляемой с этой IDE
Зачем так уж категорично? На дельфях вполне можно написать программу с использованием только WinApi, безо всяких дополнительных классов. Там будут только алгоритмы и связь с ОС, ведь классы Delphi — это только лишь надстройки над инструментами, которые предоставляет ОС.
Я не к тому, то что вы говорите это Object pascal
там эволюция языка из pascal -> turbo pascal -> object pascal -> delphi -> Delphi .net
Заявляя что среда поддерживает этот язык, даёт программисту право надеятся на то что среда поддерживает все его возможности, а эта среда не поддерживает ни объектов, ни куда более изощренных вещей.
Это как сказать что поддерживается с++, просто потому что на нем можно написать программу которая скомпилируется с компилятором
там эволюция языка из pascal -> turbo pascal -> object pascal -> delphi -> Delphi .net
Заявляя что среда поддерживает этот язык, даёт программисту право надеятся на то что среда поддерживает все его возможности, а эта среда не поддерживает ни объектов, ни куда более изощренных вещей.
Это как сказать что поддерживается с++, просто потому что на нем можно написать программу которая скомпилируется с компилятором
Среда называется интегрированной позволяет объединить графический язык Дракон с текстовым, например Делфи, в среде имеется маршрутный транслятор для формирования программного кода в модель конечного автомата.
- Dragonedit
- 10 января 2012, 21:58
- ↑
- ↓
вы не поняли, я прекрасно понимаю как оно у вас устроено, я говорю что, то что оно генерирует, это не Делфи — это язык уровня ниже, такой как turbo pascal
Не, я думаю, что не всё так запущено, ведь есть некоторые разновидности языков: императивные, декларативные, функциональные и т.д. В LAD схемах ведь нет потоков как в Windows, там вообще автоматика основана на несколько отличных принципах и всё работает как бы одновременно.
Это я к тому, что если не привязываться к оконным интерфейсам, а взять за парадигму — вх.сигнал, алгоритм обработки и вых. сигнал, то такая штука вряд ли будет в иерархии обычных языков программирования, так нельзя сравнивать. Я вот себе с трудом представляют программу на Delphi в автоматике так, как это сделано на LAD. Или также с трудом себе представляю Delphi аналог экспертной системы Clips, где мыслить нужно вообще по-другому. Я уж не говорю про Lisp с его выражениями.
Это я к тому, что если не привязываться к оконным интерфейсам, а взять за парадигму — вх.сигнал, алгоритм обработки и вых. сигнал, то такая штука вряд ли будет в иерархии обычных языков программирования, так нельзя сравнивать. Я вот себе с трудом представляют программу на Delphi в автоматике так, как это сделано на LAD. Или также с трудом себе представляю Delphi аналог экспертной системы Clips, где мыслить нужно вообще по-другому. Я уж не говорю про Lisp с его выражениями.
Вы отталкиваетесь от внутренностей windows, хотя в данном случае более важна объектная модель, это основное отличие Delphi от более ранних веток языка, наличие объектной модели возможность наследования, абстрактного описания классов
Ведь представьте как, довольно удобно, можно было бы сделать схему из абстрактных блоков которые по мере реализации будут наследоваться конкретными реализациями, и сохраняя общий интерфейс, позволяют заменять на произвольную реализацию необходимую в данный конкретный момент
Ведь представьте как, довольно удобно, можно было бы сделать схему из абстрактных блоков которые по мере реализации будут наследоваться конкретными реализациями, и сохраняя общий интерфейс, позволяют заменять на произвольную реализацию необходимую в данный конкретный момент
Я скорее отталкиваюсь от природы среды — целевого назначения инструмента. Windows манипулирует достаточно сложными устройствами — своей периферией, в мире автоматики, как правило, имеют дело с множеством дискретных и аналоговых сигналов: 0, 24 В и 4-20 мА. И всё. Только их очень много может быть, от сотен до тысяч. Структуры есть, но объектов в том их виде, как даёт ООП я что-то не встречал в коде, который эксплуатировал.
Ещё там есть разделение труда. ПЛК исполняют алгоритмы, а HMI средства отвечают за интерфейс, в то время как на универсальных языках такого деления нет. Поэтому для контроллеров вполне это применимо.
Ещё там есть разделение труда. ПЛК исполняют алгоритмы, а HMI средства отвечают за интерфейс, в то время как на универсальных языках такого деления нет. Поэтому для контроллеров вполне это применимо.
Какой уровень генерируемого языка это не важно, но то чпо объединяются в одном документе техническое задание, обоснование выбора алгоритма, алгоритм прикладной области в графическом виде, сам программный — это уже новое. Новое и то, что логика упраления в программе не прописывается отдельно а генерируется из графического алгоритма.
В ИС Дракон от языков высогого уровня используются следующие операторы: комментарий, if, goto. Они имеются схожими в различных языках, поэтому мы говорим не о конкретном языке, а о семействе языка. Поэтому Делфи и Паскаль находятся в одном семействе. В ИС Дракон такие различные семейства — Делфи, 1С, Си, Оберон, АСМ.
В ИС Дракон от языков высогого уровня используются следующие операторы: комментарий, if, goto. Они имеются схожими в различных языках, поэтому мы говорим не о конкретном языке, а о семействе языка. Поэтому Делфи и Паскаль находятся в одном семействе. В ИС Дракон такие различные семейства — Делфи, 1С, Си, Оберон, АСМ.
- Dragonedit
- 11 января 2012, 04:01
- ↑
- ↓
А существует ли возможность «прицепить» любой произвольный язык?
Например, через какой-нибудь специальный файл соответствия.
Например, добавляю в папку файл MyLang.lng — и в менюшке появляется ещё один пункт — MyLang
Можно ли надеяться, что ИС «Дракон» станет опенсорсной, или это сугубо частная собственность?
Например, в линуксе отлично работает через wine, но это идеологически не совсем правильно.
Например, через какой-нибудь специальный файл соответствия.
Например, добавляю в папку файл MyLang.lng — и в менюшке появляется ещё один пункт — MyLang
Можно ли надеяться, что ИС «Дракон» станет опенсорсной, или это сугубо частная собственность?
Например, в линуксе отлично работает через wine, но это идеологически не совсем правильно.
Разработка идет в частном порядке, к разработке никто не привлекается. В основу положена книга «Как улучшить работу ума», ГОСТ 19701-90 и личный опыт программирования, опыт взаимодействия с корпоративным заказчиком. Про опенсорсную форму разработки представления не имею, вероятно мне это не приемлимо.
О конкретном языке надо знать форму записи операторов: 1. комментария, до конца строки. 2. IF, лучше одной строкой. 3. GOTO. 4. метки.
О конкретном языке надо знать форму записи операторов: 1. комментария, до конца строки. 2. IF, лучше одной строкой. 3. GOTO. 4. метки.
- Dragonedit
- 16 января 2012, 18:32
- ↑
- ↓
Я бы так не сказал. Единственное, от чего Delphi сложно отделить — это системные библиотеки system.pas, sysinit.pas, sysconsts.pas — там реализация части средств языка и взаимодействия с ОС. А так можно смело выдергивать компилятор (DCC32.exe), упомянутые модули и опционально WinAPI и программировать. Можно спокойно создавать свой фреймворк классов поверх этого и так далее.
Я например часто использую AvL, которая частично заменяет RTL (SysUtils.pas, Classes.pas, etc) и VCL, позволяя писать более компактные программы. Есть и KOL, которая тоже от стандартного набора библиотек использует лишь системные модули и заголовки WinAPI.
Ну и начиная с седьмой версии Delphi называется не только среда, но я сам язык, являющийся диалектом Object Pascal'я.
Я например часто использую AvL, которая частично заменяет RTL (SysUtils.pas, Classes.pas, etc) и VCL, позволяя писать более компактные программы. Есть и KOL, которая тоже от стандартного набора библиотек использует лишь системные модули и заголовки WinAPI.
Ну и начиная с седьмой версии Delphi называется не только среда, но я сам язык, являющийся диалектом Object Pascal'я.
Да уж, я целиком за образность в любом виде процессов управления, где имеется HMI (человеко-машинный интерфейс), но Буран-Бураном, а на сименсовских ПЛК половина мировой промышленности работает, если не больше, а это МЭК'овские стандарты. Попробовали бы авторы сначала применить свои подходы в промышленности. Очень похоже это всё на LAD. Там всё тупо (просто) и чётко. DIHALT правильно сделал замечание по поводу ненадобности промежуточного представления. Кто работал в Step7, тот знает, что никакого промежуточного представления LAD нету. Со стороны пользователя (автоматчика) это просто LAD-схема, которую ПЛК (на то он и ПЛК) понимает прямо так — как LAD схему. Нет, конечно, там внутри как-то всё устроено, но всё это скрыто сименсовскими ноу-хау, которые наши программеры всё никак повторить не могут, увы.
невыдержу и вставлю немного оффтопа по поводу ПЛК)
Вы льстите сименовским «ноу-хау») обычная программа, исполняемая с определенным циклом по принципу «прочитал-модифицировал-записал». От того, что цикл маленький (до 1 мс), создается впечатление, что релейная схема работает как и её аналог на обычных релюхах. А вот методы сокращения этого самого цикла — это да, это ноу-хау… И да, как-то натыкался на програмку, в которой рисуеш LED-диаграму, а она генерит С-код для МК. Кажись, для ПИК-ов…
Вы льстите сименовским «ноу-хау») обычная программа, исполняемая с определенным циклом по принципу «прочитал-модифицировал-записал». От того, что цикл маленький (до 1 мс), создается впечатление, что релейная схема работает как и её аналог на обычных релюхах. А вот методы сокращения этого самого цикла — это да, это ноу-хау… И да, как-то натыкался на програмку, в которой рисуеш LED-диаграму, а она генерит С-код для МК. Кажись, для ПИК-ов…
Замечательно!
Спасибо за то что положили начало хорошему циклу статей, да и вообще хорошему делу. Сам сделал не мало схем на Драконе под алгоритмизацию программ для микроконтроллеров.
Спасибо за то что положили начало хорошему циклу статей, да и вообще хорошему делу. Сам сделал не мало схем на Драконе под алгоритмизацию программ для микроконтроллеров.
- digitalinvitro
- 11 января 2012, 13:50
- ↓
Комментарии (98)
RSS свернуть / развернуть