DRAKON.SU https://forum.drakon.su/ |
|
Заявление Владимира Ситникова о новом дракон-редакторе https://forum.drakon.su/viewtopic.php?f=143&t=5957 |
Страница 1 из 3 |
Автор: | Владимир Паронджанов [ Четверг, 01 Декабрь, 2016 09:54 ] |
Заголовок сообщения: | Заявление Владимира Ситникова о новом дракон-редакторе |
Язык ДРАКОН и важное заявление Владимира Ситникова (visi) о планах создания нового дракон-редактора vlsi писал(а): к лету-осени 2017 сделаю редактор дракона на базе MPS. http://forum.easyelectronics.ru/viewtop ... 47#p475747 и далее Геннадий Тышов писал(а): частично несущественная vlsi писал(а): Например? Скажу прямо: программировать в ИС Дракон неудобно. Возможно, лет 10-15-20 назад, подобная ИС была бы актуальна. Сейчас же программировать в этой ИС почти то же самое, что составлять код в программе "блокнот". Составлять можно? Можно, но крайне неудобно. И не стоит думать, что "составление шампуров" решает 90% всех проблем, а оставшееся "заполнение шампуров кодом на C" делается за 5-10 минут. Да, структурирование важно, но это далеко не основная часть. Иными словами, не сошёлся мир клином на Драконе. Текущей ИС, на мой взгляд, не поможет "открытие кода на github". Видел несколько сообщений в этой теме "давайте дорабатывать ИС вместе" и т.п. Но, по-моему, нужно с нуля переделать. Если честно, то прежде чем использовать ИС Дракон даже только для целей "проектной документации" я бы тоже хорошенько подумал. Геннадий Тышов писал(а): планы vlsi писал(а): Посмотрим как пойдёт. Возможно, к лету-осени 2017 сделаю редактор дракона на базе MPS.
|
Автор: | LKom [ Воскресенье, 08 Октябрь, 2017 16:25 ] |
Заголовок сообщения: | Re: Язык ДРАКОН и заявление visi о новом дракон-редакторе |
http://forum.easyelectronics.ru/viewtopic.php?f=13&t=8992&p=478358#p478358 Владимир Ситников, 30 ноя 2016, 19:30 Вы писали vlsi писал(а): Посмотрим как пойдёт. Возможно, к лету-осени 2017 сделаю редактор дракона на базе MPS. Хотите показать свой Дракон?Или расскажите, какие прилагали усилия? |
Автор: | Владимир Ситников [ Воскресенье, 08 Октябрь, 2017 17:14 ] |
Заголовок сообщения: | Re: Язык ДРАКОН и заявление visi о новом дракон-редакторе |
LKom писал(а): http://forum.easyelectronics.ru/viewtopic.php?f=13&t=8992&p=478358#p478358 Владимир Ситников, 30 ноя 2016, 19:30 Вы писали vlsi писал(а): Посмотрим как пойдёт. Возможно, к лету-осени 2017 сделаю редактор дракона на базе MPS. Хотите показать свой Дракон?Или расскажите, какие прилагали усилия? Я уже говорил, что рассматриваю Дракон как альтернативу SFC для программирования ПЛК. На мой взгляд, основной задачей (проблемой) там является выбор того в какой именно момент сгенерированный Дракон-автомат должен возвращать управление. В этом направлении я переложил одну из задач на тот подход, который мне видится перспективным и разумным (см viewtopic.php?f=78&t=6068&p=100413#p100412 ), но там всё ещё есть неоднозначные моменты. Поэтому считаю, что там нужно обсуждение (и, наверняка нужно рассмотреть ещё примеров). Это самое обсуждение я начал как на этом форуме (предыдущая ссылка), так и на форуме ОВЕН ( http://www.owen.ru/forum/showthread.php?t=27487 ), где гораздо больше тех, кто используют ПЛК в реальных задачах. |
Автор: | LKom [ Воскресенье, 08 Октябрь, 2017 18:44 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
О CoDeSys к http://www.owen.ru/forum/showthread.php ... post259607 смотрите viewtopic.php?p=100410#p100410 , икону 19. |
Автор: | Владимир Ситников [ Воскресенье, 08 Октябрь, 2017 19:17 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
LKom писал(а): О CoDeSys к http://www.owen.ru/forum/showthread.php ... post259607 смотрите viewtopic.php?p=100410#p100410 , икону 19. И? Я знаю, что ИС Дракон может генерировать CoDeSys ST код. Но вы сравните схему, которую пришлось делать А_МУР'у ( viewtopic.php?f=78&t=6068&start=20#p100336 ) и ту, как может выглядеть тот же алгоритм: viewtopic.php?f=78&t=6068&p=100413#p100412 Что скажете? Только не надо говорить, что схема А_МУР понятная. ИС Дракон не может для наглядной схемы сгенерировать рабочий код. В частности: не поддержки пауз, нет поддержки "цикла ожидания", нет поддержки "запуска-останова" параллельных процессов. |
Автор: | Владимир Ситников [ Воскресенье, 08 Октябрь, 2017 19:34 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Нашёл сообщение Alexey_Donskoy Alexey_Donskoy писал(а): Если уж делать - то всё, и freeware в данном случае. Но за десяток лет знакомства с Драконом я так и не нашёл возможности выделить на это ресурсы. Почему? Да именно потому, что нет у меня идей адекватного представления данных. Без чего вся задача большого смысла не имеет. И такое Alexey_Donskoy писал(а): Язык, в котором отсутствуют данные Если я правильно понимаю, то Дракон обходит стороной вопрос того, "где объявляются переменные" и "как действия узнают над какими данными они работают". Вообще говоря, да, это непростой вопрос. В моём примере про насосы есть такая же проблема. Действия "15 найти рабочий насос" и "23 подать команду на запуск насоса" связаны непойми как. Ну, можно, конечно, связать их через глобальные переменные (т.е. 15-е действие запишет номер найденного насоса, а 23е его оттуда прочтёт). Но известно же, что глобальные переменные приводят к сложному коду, да и возникает опасность, что алгоритм пойдёт выполняться по неинициализированным данным. Например, если в 27 адресе вместо "авария" будет переход на "запуск", то будет попытка запуска того насоса, номер которого оказался в глобальной переменной, что является ошибкой. Это, конечно, печально. |
Автор: | LKom [ Воскресенье, 08 Октябрь, 2017 20:25 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Владимир Ситников писал(а): Это, конечно, печально. Это конечно печально. Вы все проблемы свалили в кучу. Сюда же свалили чужие проблемы, том числе проблемы Alexey_Donskoy, который "не нашёл возможности выделить на это ресурсы". Позвольте Вас научить - задавайте последовательно только по 1-му вопросу из всей кучи, которая у Вас образовалась. Задавайте самый простой вопрос из имеющихся, получив на него ответ, возможно другой сам отпадет. На 1 вопрос Вам ответят, т.к. можно ответить кратко, даже не повторяя вопроса. На кучу вопросов отвечать не будут, ну кто же захочет копаться в куче вопросов. 1. Сравнивать схемы Вашу и А_МУР по критерию понятности я не буду. Займитесь своей схемой. Какой следующий вопрос? Хотите быстро разобраться с ИС Драконом, обратитесь к Г. Тышову. |
Автор: | Владимир Ситников [ Воскресенье, 08 Октябрь, 2017 20:38 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
LKom писал(а): Позвольте Вас научить - задавайте последовательно только по 1-му вопросу из всей кучи, которая у Вас образовалась. Задавайте самый простой вопрос из имеющихся, получив на него ответ, возможно другой сам отпадет. Я задал один и конкретный вопрос: "Но вы сравните схему... Что скажете?" Это один мой вопрос, и адресован он вам. Прямо совпадение: всё как вы учите. Но почему-то вместо ответа предлагаете мне "заняться своей схемой". Вопрос задан, он один, ответа нет. |
Автор: | LKom [ Воскресенье, 08 Октябрь, 2017 20:52 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
"Займитесь своей схемой." - это и есть ответ. |
Автор: | Владимир Ситников [ Воскресенье, 08 Октябрь, 2017 20:54 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
LKom писал(а): "Займитесь своей схемой." - это и есть ответ. И чем не с ней заниматься? |
Автор: | LKom [ Воскресенье, 08 Октябрь, 2017 20:57 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Задайте вопрос по своей схеме. |
Автор: | Владимир Паронджанов [ Понедельник, 09 Октябрь, 2017 10:08 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
http://www.owen.ru/forum/showthread.php ... post259616 Цитата: [Владимир Ситников] если вы действительно добавите Дракон в Hardella IDE, то простые пользователи CoDeSys, которые не сильны в вопросах программирования, вам спасибо точно скажут.
|
Автор: | Alexey_Donskoy [ Понедельник, 09 Октябрь, 2017 14:06 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Владимир Ситников писал(а): Если я правильно понимаю, то Дракон обходит стороной вопрос того, "где объявляются переменные" и "как действия узнают над какими данными они работают". Ну да. Это чисто алгоритмический слой, который в сложных проектах сам по себе не имеет существенного значения.Я бы даже сказал, имеет минимальное значение. Потому что основные проблемы - в грамотном "размазывании" функциональности (с учётом ограничений), в адекватной инкспсуляции, в корректной работе с данными. Вы обсуждаете тут, как Дракон встроить в Soft Logic для PLC - а все означенные проблемы лежат совсем в другом месте. Управление данными организуется в среде программирования, синхронизация процессов и т.п. вопросы - в ран-тайм исполняющей системе и т.д. Цитата: выбор того в какой именно момент сгенерированный Дракон-автомат должен возвращать управление. На мой взгляд, вообще нет такой проблемы.Есть технологическая программа (ТП), которая выполняется раз в цикл - соответственно, у этого кода есть НАЧАЛО и КОНЕЦ. Внутренности (в пределах текущего цикла) рисовать можно на чём угодно, это решительно ничего не изменит в организации программы для ПЛК. Если, к примеру, ран-тайм поддерживает многопоточность или хотя бы деление ТП по разным приоритетам, то, соответственно, каждый такой участок кода ОБЯЗАН быть отдельным примитивом с точкой входа НАЧАЛО и выхода КОНЕЦ. Решительно и категорически не вижу смысла скрещивать "силуэт" с ран-тайм системой более глубоко, чем это предусмотрено стандартом. Да, разработка ТП для ПЛК имеет свои особенности. Но надо чётко понимать, что ТП не владеет всем контроллером, а честно выполняет свой участок работы тогда, когда ей дают. Другой подход тоже может быть оправдан - если разрабатывается отдельное устройство, не универсальный ПЛК. Но общие подходы к построению систем ПЛК, думаю, вряд ли изменятся... |
Автор: | Владимир Ситников [ Понедельник, 09 Октябрь, 2017 14:35 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Alexey_Donskoy писал(а): Потому что основные проблемы - в грамотном "размазывании" функциональности (с учётом ограничений), в адекватной инкспсуляции, в корректной работе с данными. Не пойму. Можете более детально? Или пример какой-нибудь? Alexey_Donskoy писал(а): Вы обсуждаете тут, как Дракон встроить в Soft Logic для PLC - а все означенные проблемы лежат совсем в другом месте. Управление данными организуется в среде программирования, синхронизация процессов и т.п. вопросы - в ран-тайм исполняющей системе и т.д. Одна из моих целей в том, чтобы можно было использовать существующие runtime'ы. Те же ОВЕН ПЛК. Работают под управлением CoDeSys. Поменять runtime там без вариантов. Есть море автоматизаторов, которые программируют ПЛК, плюются от CoDeSys, но вариантов-то у них нет. С другой стороны, если компилировать Дракон-схемы в CoDeSys языки, то они смогут программировать на Драконе для существующих у них ПЛК. Это гораздо лучше, чем пытаться создать и выпустить новый "Дракон-совместимый ПЛК". Alexey_Donskoy писал(а): На мой взгляд, вообще нет такой проблемы. Есть технологическая программа (ТП), которая выполняется раз в цикл - соответственно, у этого кода есть НАЧАЛО и КОНЕЦ. Внутренности (в пределах текущего цикла) рисовать можно на чём угодно, это решительно ничего не изменит в организации программы для ПЛК. Ну я же приводил пример: в прикладной программе мы включаем насос, делаем паузу на 10 секунд, и постом смотрим появилось ли давление. Разумеется, если просто так сделать "паузу на 10 секунд", то контроллер перезагрузится по строжевому таймеру. А Дракон без пауз для ПЛК не нужен. Если приглядеться, то на сайте http://drakon-practic.ru/ есть ссылка "Одна из дракон-схем охранной сигнализации (.gif 44K)". И на этой схеме "циклы ожидания" помечены словом RTOS. Крайне и крайне похоже на то, что я говорю: возврат в ОС в чётко обозначенных местах схемы. Цитата: Если, к примеру, ран-тайм поддерживает многопоточность или хотя бы деление ТП по разным приоритетам, то, соответственно, каждый такой участок кода ОБЯЗАН быть отдельным примитивом с точкой входа НАЧАЛО и выхода КОНЕЦ. Говорил же: не поддерживается многопоточность. Прикладной код будет выполняться до тех пор, пока самостоятельно не вернёт управление в runtime. Если будет выполняться слишком долго (>5 секунд), то сработает строжевой таймер и перезагрузит ПЛК целиком. Alexey_Donskoy писал(а): Но надо чётко понимать, что ТП не владеет всем контроллером, а честно выполняет свой участок работы тогда, когда ей дают. В таком случае от Дракона почти не остаётся смысла. Видели схему А_МУР? Там же сплошь и рядом "код состояния=3", "запуск таймера", "проверка Q таймера". С моей точки зрения, польза Дракон схем была бы как раз в том, что программист мог бы указать паузы, ожидания и т.п. "как ему видится", и чтобы не думать постоянно над тем, "а что же выполняем сейчас". Alexey_Donskoy писал(а): Другой подход тоже может быть оправдан - если разрабатывается отдельное устройство, не универсальный ПЛК. Но общие подходы к построению систем ПЛК, думаю, вряд ли изменятся... В сторону "уникальных" я пока не смотрю. |
Автор: | Alexey_Donskoy [ Понедельник, 09 Октябрь, 2017 15:18 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Владимир Ситников писал(а): Alexey_Donskoy писал(а): Потому что основные проблемы - в грамотном "размазывании" функциональности (с учётом ограничений), в адекватной инкспсуляции, в корректной работе с данными. Не пойму. Можете более детально? Или пример какой-нибудь?Когда вы делаете большой программный проект (не ТП для ПЛК, а вообще большой проект - да хоть ту же IDE для программирования ПЛК), алгоритмический слой занимает весьма малый процент. Цитата: Есть море автоматизаторов, которые программируют ПЛК, плюются от CoDeSys Кстати, почему? 15 лет назад это очень приличная система была - с тех пор что-то изменилось в худшую сторону?Цитата: Если компилировать Дракон-схемы в CoDeSys языки, то они смогут программировать на Драконе для существующих у них ПЛК. По-моему, это очень нездоровая идея.Это означает, что море людей, пытающихся программировать ПЛК, подходят к вопросу непрофессионально. И здесь уже нет разницы, какой там язык на самом деле - дело в людях, а не в языке. Заменить SFC Драконом - здоровая идея, потому что Дракон немного получше. Но только немного - ведь это всего лишь форма. Навскидку я не вижу ничего такого, что можно сделать на Драконе и нельзя на SFC. А выбор формы - в значительной мере дело вкуса (и, главное, предыдущего опыта). Цитата: Ну я же приводил пример: в прикладной программе мы включаем насос, делаем паузу на 10 секунд, и постом смотрим появилось ли давление. И ещё раз спрошу - какая разница?Цитата: Разумеется, если просто так сделать "паузу на 10 секунд", то контроллер перезагрузится по строжевому таймеру. Это справедливо для любого языка из стандарта (ну разве что LD так зациклить не получится ).Цитата: А Дракон без пауз для ПЛК не нужен. Вы уже и ответили! Идеальных случаев не бывает; в любой системе программирования есть платформо-зависимые части (для вас ими стали пресловутые таймеры с паузами). Вынести их в максимально абстрактный слой (чисто алгоритимческий) априори не всегда возможно. Цитата: С моей точки зрения, польза Дракон схем была бы как раз в том, что программист мог бы указать паузы, ожидания и т.п. "как ему видится" Так кто мешает рантайм поменять?Для CoDeSys это никаких проблем не представляет. Другой вопрос, нужно ли. Цитата: В сторону "уникальных" я пока не смотрю. Для потребителя это разумно.Но я - производитель 15 лет назад мы рассматривали и применение CoDeSys. Потом решили, что там слишком много того, что не нужно, и не хватает очень многого, что нужно. Пришлось сделать свою систему программирования... |
Автор: | Владимир Ситников [ Понедельник, 09 Октябрь, 2017 15:57 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Alexey_Donskoy писал(а): Когда вы делаете большой программный проект (не ТП для ПЛК, а вообще большой проект - да хоть ту же IDE для программирования ПЛК), алгоритмический слой занимает весьма малый процент. А по-простому? Разумеется, я не на Драконе "IDE для программирования ПЛК" программирую. Вы о том, что "нет смысла в Драконе, т.к. он в любом реальном проекте займёт не более 1%"? Alexey_Donskoy писал(а): приличная система была - с тех пор что-то изменилось в худшую сторону? Время прошло, а улучшилось мало что. Лет 15 назад, возможно, оно и выглядело прилично. Alexey_Donskoy писал(а): Это означает, что море людей, пытающихся программировать ПЛК, подходят к вопросу непрофессионально. И здесь уже нет разницы, какой там язык на самом деле - дело в людях, а не в языке. И да и нет. С одной стороны, "не умеешь программировать" -- учись или не берись, но зачем вообще тогда нужно 61131, если есть C? Почему-то тяжело идёт освоение C у автоматизаторов. Ну я и не предлагаю составлять программу целиком на Драконе. Скорее, в духе SFC, когда на SFC рисуется общая схема, а конкретные действия уже на каких-то 61131 языках. Alexey_Donskoy писал(а): Цитата: Ну я же приводил пример: в прикладной программе мы включаем насос, делаем паузу на 10 секунд, и постом смотрим появилось ли давление. И ещё раз спрошу - какая разница?Разница в чём? На ST, LD, CFC сделать "паузу в 10 секунд" непросто. Можно, но нужно объявлять всякие переменные (которые нельзя объявить по месту, даже одноразовые), и т.п. На SFC, да, можно такое сделать, но SFC, визуально сложнее читается. Alexey_Donskoy писал(а): Цитата: А Дракон без пауз для ПЛК не нужен. Вы уже и ответили! Идеальных случаев не бывает; в любой системе программирования есть платформо-зависимые части (для вас ими стали пресловутые таймеры с паузами). Вынести их в максимально абстрактный слой (чисто алгоритимческий) априори не всегда возможно. Вот тут не понимаю о чём вы. Добавить жёсткое правило, что "пауза всегда приводит к возврату управления в основной цикл" и всего делов. Да, это будет "хардкод связки Дракон-ST", но какие проблемы в этом? Как раз и получается, что паузы начинают по-нормальному дружить с ПЛК. Alexey_Donskoy писал(а): Так кто мешает рантайм поменять? Для CoDeSys это никаких проблем не представляет. Другой вопрос, нужно ли. Ну, я со стороны смотрю. ОВЕН не предоставляет документацию по заливке самопальной прошивки на свои ПЛК. Вариант с CoDeSys'ом это вариант только с ним. Сейчас бета-тестируют вариант с прошивкой MasterScada. В общем, когда есть имеющийся ПЛК, то в нём рантайм не особо поменяешь. Да и время нужно на написание. |
Автор: | LKom [ Понедельник, 09 Октябрь, 2017 16:28 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Владимир, можно вам скооперироваться с А_МУРом. Получилось так, что на форуме вы 2-е заинтересованы Драконом и CoDeSys. |
Автор: | Владимир Ситников [ Понедельник, 09 Октябрь, 2017 16:34 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
LKom писал(а): Владимир, можно вам скооперироваться с А_МУРом. Получилось так, что на форуме вы 2-е заинтересованы Драконом и CoDeSys. Если двое, то я не ходок в Дракон. |
Автор: | LKom [ Понедельник, 09 Октябрь, 2017 16:41 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Вы хотели быть пионером. Ваши слова: Цитата: Посмотрим как пойдёт. Возможно, к лету-осени 2017 сделаю редактор дракона на базе MPS.
... Я уже говорил, что рассматриваю Дракон как альтернативу SFC для программирования ПЛК. |
Автор: | Alexey_Donskoy [ Понедельник, 09 Октябрь, 2017 16:51 ] |
Заголовок сообщения: | Re: Заявление Владимира Ситникова о новом дракон-редакторе |
Владимир Ситников писал(а): Вы о том, что "нет смысла в Драконе, т.к. он в любом реальном проекте займёт не более 1%"? Нет, только о том, что применение инструмента должно быть оправданным.Цитата: зачем вообще тогда нужно 61131, если есть C? Затем, что С - принципиальное зло. Даже при грамотном подходе разработка надёжных приложений на нём крайне затруднена.Цитата: Ну я и не предлагаю составлять программу целиком на Драконе. Скорее, в духе SFC, когда на SFC рисуется общая схема, а конкретные действия уже на каких-то 61131 языках. А как вы думаете, почему в стандарт включены столь разные языки?Очевидно, потому, что ни один из них не годится на все случаи жизни. Скажем, большинство задач релейной защиты намного удобнее решается на FBD, какое-нибудь нетривиальное управление оборудованием - на ST. LD включили исторически, для поддержки старых кадров. И никого не знаю, кто бы работал на IL (и для чего его выгодно было бы применить). SFC стоит здесь особняком. По своей сути он является ортогональным FBD - тот показывает поток данных, а этот - поток управления. Но для потока управления визуальный SFC не даёт принципиальных преимуществ перед текстовым ST. И зачем он тогда? Комбинировать ST с SFC - это масло масляное. А выбирать между SFC и ST - во многом опять же дело вкуса. Предлагать же нечто третье из той же серии - ну если только это даст какие-то ОЧЕНЬ большие бонусы. ИМХО, разумеется. Сам я всегда ST выберу Цитата: Да, это будет "хардкод связки Дракон-ST", но какие проблемы в этом? Да никаких. Код: Вариант с CoDeSys'ом это вариант только с ним. СCoDeSys'ом можно легко договориться (правда, это касается производителя, не потребителя. Тут производитель может быть против, потому как портированный рантайм - его собственность).Цитата: Сейчас бета-тестируют вариант с прошивкой MasterScada. О, интересно!
|
Страница 1 из 3 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |