Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Средства разработки ПО для ПЛК

 Ответить Ответить
Автор
Сообщение
S_AINT Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 12
Свойства публикации Свойства публикации   Ответить, цитируя автора - S_AINT Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Средства разработки ПО для ПЛК
    Опубликовано: 25 Апрель 2005 13:42

Приветствую!

Интересно было бы узнать, как опытные разработчики реализуют логику управления для ПЛК. Какими средствами разработки пользуются? Как относятся к языкам стандарта МЭК 1131?

Из моего опыта могу сказать, что на графических языках типа FBD логика управления реализуется довольно проблематично из-за нагромождения условных операторов. Можно использовать для этого триггеры и/или мультиплексоры для кодирования/декодирования состояний. Но это не выход.

Для решения указанной задачи я использую SWITCH-технологию (http://is.ifmo.ru), поскольку она позволяет наглядно представить структуру программы, облегчает ее документирование. А спец. утилиты реализуют автоматическую генерацию кода, что ускоряет процесс разработки.

И вообще документируют ли современные разработчики свой код? Или это опциональное требование, которые не выполняется по той простой причине, что разработчик хочет остаться незаменимым?

С уважением,
Владимир, ООО НПФ "ИНТЕК"
Наверх
remint Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 24 Февраль 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 185
Свойства публикации Свойства публикации   Ответить, цитируя автора - remint Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Апрель 2005 08:11
Первоначально опубликовано S_AINT

Для решения указанной задачи я использую SWITCH-технологию, поскольку она позволяет наглядно представить структуру программы, облегчает ее документирование. А спец. утилиты реализуют автоматическую генерацию кода, что ускоряет процесс разработки.

Я с большим интересом прочитал это Ваше сообщение, и также полазил по ссылке, даже скачал, посмотрел. Правда - ничего не понял. Не понял вот так, сразу. Хотя - уже давно пытаюсь найти какой нибудь простой доступный материал по данной технологии, пытался читать статьи господина Шалыто.

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

То, что сделано у вас сейчас, этот UniMod - очень и очень теоретическая разработка. Я не говорю, что это плохо - никоим образом! Просто она очень далека от реального процесса разработки программ для контроллеров. Вы - может е так программировать, но больше так не будет делать практически никто. Контроллер программирует инженер, которому если и дать SWITCH-технологию, то надо это сделать так, чтобы он об этом не догадался, и чтобы для него все было прозрачно - создал алгоритм, записал в контроллер, потестировал.

Поэтому - было бы здорово, если бы кто-то эти технологии объяснил на пальцах, для широкого круга программистов. Я ощущаю у себя жуткую нехватку теории по многим вопросам. Дайте нам ее популярное изложение, и мы сделаем инструментарий для простого инженера!
Александр Бурмистров,
www.entels.ru
Наверх
S_AINT Смотреть выпадающим
Новичок
Новичок


Присоединился: 25 Апрель 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 12
Свойства публикации Свойства публикации   Ответить, цитируя автора - S_AINT Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Апрель 2005 10:21

Первоначально опубликовано remint

Я с большим интересом прочитал это Ваше сообщение, и также полазил по ссылке, даже скачал, посмотрел. Правда - ничего не понял. Не понял вот так, сразу. Хотя - уже давно пытаюсь найти какой нибудь простой доступный материал по данной технологии, пытался читать статьи господина Шалыто.

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

Теперь в разработке ПО появился новый этап - проектирование, о котором раньше как-то не было принято говорить. Все просто садились и писали. Причем какой-то целостного представления о выполняемой работе не было. Особенно это касается софта для ПЛК. Для начала пишется заглушка, отлаживается, потом постепенно наращивается функциональность. Обычно в виде набора модулей с некоторым множеством фунций в каждом. Взаимосвязи модулей через пару лет будут уже никому не понятны. Основное время разработчика будет занимать поиск глюков в процедурах, которые писались неизвестно кем неизвестно когда без какого-либо документирования. Думаю, для многих это до боли знакомая ситуация. В SWITCH-технологии используется совершенно иной подход, основным преимуществом которого является ясность (естественно для тех кто в ней разбирается). Большая заслуга г-на Шалыто в том, что он постепенно продвигает свое детище в массы, но преодолеть заскорузлость наших программистов не так уж и просто. Хорошо, что он работает преподавателем и несет эту идею с чистого листа в молодые умы, которые еще не привыкли к безответственности.

Первоначально опубликовано remint

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

Не могли бы вы дать мне ссылку на KLogic? О каких технологиях идет речь?

У меня есть свои наработки, такие как например очередь сообщений, карта сигналов и датчиков. Если интересно, обращайтесь по адресу vladimir@intekufa.ru. Они не претендуют на совершенство, но другого у меня нет. Возможно, я мало общался с разработчиками. В будущем хочу разобраться с ОО подходом для задач логического управления и библиотекой SPOOL.

Первоначально опубликовано remint

То, что сделано у вас сейчас, этот UniMod - очень и очень теоретическая разработка. Я не говорю, что это плохо - никоим образом! Просто она очень далека от реального процесса разработки программ для контроллеров. Вы - может е так программировать, но больше так не будет делать практически никто. Контроллер программирует инженер, которому если и дать SWITCH-технологию, то надо это сделать так, чтобы он об этом не догадался, и чтобы для него все было прозрачно - создал алгоритм, записал в контроллер, потестировал.


Я слышал про UniMod, но не использую его в своей разработке. Я пользуюсь Visio для рисования графов и преобразователем Visio2Switch для генерации кода. Это конечно аляповато. Хотелось бы видеть законченный продукт, неущий основную идею SWITCH технологии с механизмами отладки и т.д. и т.п. Кстати, я сам себе проектировщик, инженер и программист. Но для той простоты, о которой вы говорите, необходимо создание развитой системы разработки. Кое-какие наработки в этой области уже есть. Насколько я знаю, подход на базе автоматов используется в STEP7 и в продукте фирмы IAR (не помню как называется) в дополнение к ее компиляторам. Стоит соответственно.

С уважением,
Владимир, ООО НПФ "ИНТЕК"
Наверх
remint Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 24 Февраль 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 185
Свойства публикации Свойства публикации   Ответить, цитируя автора - remint Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 26 Апрель 2005 14:04
Первоначально опубликовано S_AINT

Если интересно, обращайтесь по адресу...
Я вам написал, Владимир. Жду ответа.
Александр Бурмистров,
www.entels.ru
Наверх
 Ответить Ответить

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz