Соцопрос: языки МЭК 61131-3. |
Ответить | Страница <1 6789> |
Автор | ||||
Действительный член Присоединился: 19 Апрель 2006 Online Status: Offline Публикации: 136 |
Опубликовано: 24 Сентябрь 2007 15:32 |
|||
Такссс. 1. В CoDeSys v2xx в CFC неудобно таскать блоки, т.к. область выделения бывает очень маленькой. Хорошо бы чтобы можно было хватать и перетаскивать за все пространство блока (а редактировать текстовые названий блока можно двойным нажатем мышки или долгим нажатием). 2. Было бы не плохо просто перетаскивать блоки и функции из левого меню (POUs) мышкой на рабочее поле (CFC и др.). 3. Двойным нажатие на функциональный блок в CFC-диаграмме открывать (по возможности, например созданный в этом проекте пользователем) структуру соответствующего блока. 4. Например в LabVIEW проводки подсвечиваются в соответствии с типом данных (bool - зеленым, int/byte... - синим, real - оранжемым и др.) в CFC тоже можно было бы такое сделать :) |
||||
Участник Присоединился: 29 Июнь 2007 Категория: Russian Federation Online Status: Offline Публикации: 62 |
||||
Тогда уж лучше в машинных кодах.
Как таковой универсальности мне кажется не получиться. Всегда будет присутствовать специфика. Из своего, небольшого опыта, могу сказать, что использовать внешний код приходилось исключительно в случаях работы с железом. Ну а мы все знаем: привязка к железу – убивает напрочь идею платформа независимости. ЗЫ: хотя, отмечу, было очень приятно когда, года три назад, проект под QNX написанный на Isagraf Enhanced был без проблем и переделок перенесен на NT платформу.
NI на все проводки и квадратики наложило свою лапу в лице патентов. Но идеи GUI в Labview реализованы и проработаны очень достойно, и от туда не грех кое что позаимствовать. |
||||
С уважением!
|
||||
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
||||
OK. Спасибо! Однако... Эти пожелания относятся исключительно к CoDeSys. Цветовыделение, интерактивные подсказки типов в текстовых языках, указание парных скобок, свертывание тела циклов и др. и пр. добавлены в V3. Что касается обсуждения именно деталей CoDeSys, то по многочисленным просьбам сегодня открыт официальный форум по CoDeSys на русском. Точнее там сблокированы 3 форума на немецком, английском и русском. Можно работать во всех одновременно с одним паролем и общей оболочкой на родном языке. Здесь интересно бы обсудить более общие вещи относящиеся к МЭК системам вообще, то что можно предложить для включения в стандарт. Например, одним из предложений является возможность в одном ПЛК запускать несколько приложений. Т.е. получается, что в контроллере может быть несколько МЭК приложений, каждое использует свои входы/выходы и практически независимо – можно останавливать, перезагружать, отлаживать одно приложение, в то время как прочие продолжают спокойно работать. Любое приложение можно перетащить на отдельный ПЛК, если вдруг процессор перестал справляться или наоборот заменить несколько стареньких ПЛК на один мощный. Нужно ли такое?
Терзает меня смутное сомнение, что Си или ассемблерную вставку приходится пихать в том случае, когда железо выбрано не совсем оптимально. В результате приходится выжимать из него то, на что оно не было заточено разработчиком. Конечно, наши инженеры именно в этом и мастера (не от хорошей жизни). Наш человек может на AVR слепить штуку, куда немец поставит Пень5, но… Если бы ПЛК были более стандартизованы, совместимы и взаимозаменяемыми, то во многих случаях можно было бы не мыкаться, а заменить ПЛК на тот, в котором сразу есть нужная функциональность.
|
||||
Участник Присоединился: 02 Сентябрь 2005 Категория: Russian Federation Online Status: Offline Публикации: 54 |
||||
Созрели!!!
Думаю вряд ли кто откажется от такого Мы безумно рады от того, что в BECKHOFF и WAGO есть ONLINE CHANGE, а вы говорите... Для непрерывных процессов это большой плюс. Как бы только ПРАВИЛЬНО научиться это добро использовать. |
||||
Действительный член Присоединился: 08 Март 2006 Категория: Russian Federation Online Status: Offline Публикации: 440 |
||||
Подобных системных функций требуется немного (у каждой платформы свои). Но дело не в количестве, а в ключевой роли этих функций. Именно они делают из демо-примера программу промышленного уровня. Скажите,"чистый" МЭК-язык обеспечит мне этот уровень ? Кубиками .. if .. else, .. for .. можно играться на любом языке. А нужны не игральные кубики, а среда разработки промышленных систем. Еще раз хочу сказать - в МЭК-языки ничего постороннего внедрять не надо, их можно бесконечно улучшать в своем качестве. Они выполняют свою роль, и работают на своем уровне абстракции оборудования. А иметь возможность стыковаться с модулями из других областей : будь-то базы данных, XML-скрипты, средства визуализации и многое т.д. - обязательно ! С (большим) уважением, SAN |
||||
Участник Присоединился: 04 Апрель 2005 Категория: Russian Federation Online Status: Offline Публикации: 80 |
||||
Наконец форум! А мультипроект в одном ПЛК, тоже неплохо, но опять же ГЛАВНОЕ НАУЧИТЬСЯ ЭТО ПРАВИЛЬНО ИСПОЛЬЗОВАТЬ. Хотя по мне так многозадачность все это и так реализует.
|
||||
Участник Присоединился: 29 Июнь 2007 Категория: Russian Federation Online Status: Offline Публикации: 62 |
||||
Идея в общем неплохая. Только сможете ли вы тогда гарантировать неизменность времени выполнения программ?
Время покажет!
Бывало и такое. Дело же ведь не только в железе но и в софте.
Батенька, это вы против буржуазии попрете! Любая контора заинтересована подсадить вас целиком и полностью на их железо. И абсолютно не заинтересована в том чтоб наряду с их супермега контроллерами использовалось дешевое китайское железо. |
||||
С уважением!
|
||||
Действительный член Присоединился: 09 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 187 |
||||
Потребовалась следующая функция: По входу типа WORD она должна возвращать значение одного из параметров программы. Причем этот вход может кодировать очень много параметров (например, состояние аналоговых или дискретных параметров, логических сигналов, и т.п.). Для реализации такой функции на языке МЭК понадобилось бы на ее вход дополнительно подавать кучу массивов, содержащих эту информацию. Это повлекло бы за собой поглощение большого объема памяти данных для каждого экземпляра вызова функции. Написал функцию на Си, на вход которой подается структура с адресами массивов. А функция по этим адресам уже находит необходимое значение параметра. Написал наверное путанно. Итог такой: не хватает в МЭК 61131-3 работы с указателями на переменные. |
||||
Действительный член Присоединился: 29 Январь 2004 Категория: Russian Federation Online Status: Offline Публикации: 293 |
||||
В CoDeSys есть указатели на переменные (на функции нет). Кроме того, можно делать массив функциональных блоков! Через конфигурационные переменные можно подставить каждому экземпляру свои данные. Это мало кто использует, хотя получается очень красиво. (См. последний ответ тут). Еще в МЭК функция может возвращать структуру. В Си этого нет. Еще интересная новая идея делать функции с параметрами типа ANY (любой). Некоторые стандартные МЭК блоки (например, сложение) кушают любой тип данных, но сделать из них свою столь же всеядную функцию нельзя. Конечно, это здорово усложнит транслятор системы программирования. Пока такого ни у кого нет (скоро будет в CoDeSys V3).
А в чем проблема? Во многих ПЛК сейчас сидит ОС РВ и циклические МЭК задачи вызываются с точностью до микросекунд. Задача с высшим приоритетом прерывает низкоприоритетные.
А как же PC? Море изготовителей делают совместимое оборудование и все счастливы |
||||
Участник Присоединился: 29 Июнь 2007 Категория: Russian Federation Online Status: Offline Публикации: 62 |
||||
В МЭКах действительно такой фичи я не видел. Хотя в других языках она частенько встречается.
Мне вот интересно. А как у CoDeSys обстоят дела с использованием процессорной многоядерности?
Ну тогда почему для Сименса или Шнайдера все то же море производителей не выпускают железо? |
||||
С уважением!
|
||||
Ответить | Страница <1 6789> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |