Вот это да! Буквально в августе я поднимал вопрос среды поддержки языка Дракон-ST. Специально пошёл навстречу электротехникам и прочёл книгу о языках МЭК 61131-3. Однако мою идею раскритиковали и отправили с миром.
anakost писал(а):
Хороший инструмент для программирования ПЛК должен поддерживать хотя бы один из языков МЭК (IEC) стандарта IEC61131-3.
Alex_st_Tomsk писал(а):
Я сейчас читаю книгу И.В. Петрова "Программируемые контроллеры. Стандартные языки и приёмы прикладного проектирования", 2004 года. В частности обращаю внимание на главы 4 и 7. Язык ST имеет корни языков Паскаль и Си. А гибридный язык программирования Дракон-Си, например, расписывал Владимир Паронджаров в своей книге "Учись писать, читать и понимать алгоритмы" (глава 16).
Гипотетически возможно создание среды, поддерживающей гибридный язык программирования ДРАКОН-ST. Что думаете насчёт этого? Такая среда не будет похожа на ИС Дракон ввиду своей специфики. Я имею ввиду, что среда сохранит принципы построения дракон-схем, правила дракона, но избавит пользователя от ... работы стенографистом. Какие-то ключевые слова будут заключены в шаблон интерпретирования иконы (например, IF ... THEN ... END_IF в конструкции "Развилка"), а какие-то ключевые слова будут предложены на выбор пользователю в момент заполнения "нешаблонного" текста (например, выбор типа переменной из списка [BYTE, WORD, DWORD, LWORD, SINT и так далее]). Ко всему этому будет соответствующая справка, что для чего нужно. Кроме списков ключевых слов возможен список операторов сравнения (как в Маткаде) и чего-либо ещё - достаточно изучить язык ST (я пока на начальной стадии). Пользователь должен только придумывать имена переменных, и "по мелочам" (задать значения переменным, установить шаг счётчика).
anakost писал(а):
О как, сразу на высокоуровневый ST замахнулись...
Базовым языком IEC61131-3 является IL (Instruction List), а уж на нем строятся и LD и FBD и ST.
Для IL тоже иконки вместо операторов вставлять? Это уже беспредел...
Alex_st_Tomsk писал(а):
<...> Вы писали, что инструмент должен поддерживать хотя бы один из языков МЭК 61131-3. ST - один из таких языков. В чём же проблема? Почему бы его и не использовать?
<...> Иконками заменяются только какие-то конструкции языка. Человек своими глазами видит, допустим, тело цикла for. Он не ищет по коду, где там FOR, TO, DO, END_FOR. Это же уже сложно, если программа больше 150 строк. А на дракон-схеме ты видишь один шестиугольник, открывающий цикл и второй, закрывающий. Ещё они и каким-нибудь цветом могут быть разукрашены. Что же в этом плохого?
tonyk писал(а):
Alex_st_Tomsk, зачем тебе ST?! <...> Дракон- это самодостаточный язык, а не картинки для философствующих субъектов.
<...> я бы рекомендовал изучить подход к разработке, используемый в ПЛК. При изучении акцент следует сделать на симуляции работы программы. Здесь важны понятия входа, выхода и масштаба времени. Это позволяет протестировать бОльшую часть ПО до загрузки в ПЛК. Как примерно выглядит отладка программы по блок-схеме алгоритма можно посмотреть в Proteus.
Может быть для господина Джованни Полза я смог бы тоже в будущем сделать такой редактор, если Степан Митькин или Геннадий Тышов не ответят. Тем более у меня уже были мысли, касающиеся специфики потенциального редактора. Это не просто очередной язык программирования, в который можно перевести дракон-схему, по подобию С, Python, Java или JavaScript. Например, на мой взгляд, дракон-схемы гибридного языка ДРАКОН-ST невозможно основать на примитиве. Это опять же мои мысли, я бы делал специальную среду, а не пополнял существующий "мультиязычный" редактор ещё одной опцией "ST".