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

ПЛК и автоматное программирование

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


Присоединился: 08 Февраль 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - WaW_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: ПЛК и автоматное программирование
    Опубликовано: 08 Февраль 2006 13:32

Методика для S7-200 и языка STL.
Естественно подходит для S7-300/400.
А если используется язык SCL (Паскалеобразный), то применение технологии становится еще эффективней.

http://is.ifmo.ru/progeny/_metod065.pdf

Дальнейшее развитие темы - организация взаимодействия независимых локальных систем - система S7-300 (Мастер) и 24 S7-200 (Slaves)

http://is.ifmo.ru/progeny/_s7300.pdf

Наверх
_IP_ Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 29 Январь 2004
Категория: Russian Federation
Online Status: Offline
Публикации: 293
Свойства публикации Свойства публикации   Ответить, цитируя автора - _IP_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 08 Февраль 2006 16:41

Автоматный подход в программировании применяется с незапамятных времен. Я лично столкнулся с ним впервые 89 году в модуле синтаксического разбора. Реализован он был на switch – case. Затем встретилось более красивое решение в виде таблицы указателей на функции. Вся главная функция программы состоит из единственного косвенного вызова функции. Каждому состоянию автомата соответствует 1 функция, прописанная в таблице. Быстродействие на порядок выше, чем со switch.
Просматривая прикладные МЭК 61131-3 программы, написанные разными людьми,  можно встретить до десятка хороших способов программирования. Для определенных классов задач автоматный подход великолепен. Есть масса задач, в которых шикарно работают регулярные выражения, рекурсивные алгоритмы и т.д. и т.п. Естественно, все это хорошо известно профессиональным программистам.

В чем собственно состоит вопрос к уважаемым участникам конференции?

Igor Petrov
Наверх
WaW_ Смотреть выпадающим
Новичок
Новичок


Присоединился: 08 Февраль 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 4
Свойства публикации Свойства публикации   Ответить, цитируя автора - WaW_ Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 09 Февраль 2006 08:44

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

Затем встретилось более красивое решение в виде таблицы указателей на функции. Вся главная функция программы состоит из единственного косвенного вызова функции. Каждому состоянию автомата соответствует 1 функция, прописанная в таблице. Быстродействие на порядок выше, чем со switch.

Все замечательно, но как это реализовать в ПЛК, например в S7-200?


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

Просматривая прикладные МЭК 61131-3 программы, написанные разными людьми,  можно встретить до десятка хороших способов программирования. Для определенных классов задач автоматный подход великолепен. Есть масса задач, в которых шикарно работают регулярные выражения, рекурсивные алгоритмы и т.д. и т.п. Естественно, все это хорошо известно профессиональным программистам.

В чем собственно состоит вопрос к уважаемым участникам конференции?

Да вопроса-то нет.
Просто хотелось поделиться опытом применения автоматов.
Ну и еще показать, что руководителю группы программистов можно реально контролировать процесс проектирования и программирования и не зависить от "особенностей" того или иного исполнителя.

Наверх
 Ответить Ответить

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

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