УНИВЕРСИТЕТ ИТМО
Кафедра «Технологии программирования»



Главная

Новости
 Новости науки
 Важное
 Почетные доктора
 Инновации
 Культура
 Люди
 Разное
 Скартел-Yota
 Стрим
 Смольный
Учебный процесс
 Образование
 Дипломы
 Курсовые проекты
 Лабораторные работы
 Учебные курсы
 Визуализаторы
 Unimod-проекты
 Семинары
 Стипендии
Наука
 События и факты
 Госконтракты
 Статьи
 Диссертации
 Книги
 Презентации
 Свидетельства
 Сотрудничество
Исследования
 Автоматы
 Верификация
 Биоинформатика
 Искусственный интеллект
 Генетические алгоритмы
 Движение
 UniMod
 Роботы и агенты
 Нейронные сети
 ФЦП ИТМО-Аалто
 Разное

О нас
 Премии
 Сертификаты и дипломы
 Соревнования по программированию
 Прорыв
 Автографы
 Рецензии

Беллетристика
 Мотивация
 Мысли
Медиа
 Видео
 Фотографии
 Аудио
 Интервью

English
 Home

 Articles
 Posters
 Automata-Based Programming
 Initiatives
 Projects
 Presentations
 UniMod
 UniMod Projects
 Visualizers


Поиск по сайту

Яndex



   Главная / Статьи / Реализация алгоритмов логического управления программами на языке функциональных блоков (версия для печати)


Реализация алгоритмов логического управления программами на языке функциональных блоков



[ << | 1 | 2 | 3 ]

(c) 2000 А. А. Шалыто

4. Реализация системы графов переходов

Рассмотрим вопрос о реализации алгоритмов, заданных несколькими взаимосвязанными графами переходов, например двумя. В этом случае для упрощения схемы обмен между графами предлагается осуществлять не с помощью значений многозначных переменных, каждая из которых кодирует вершины соответствующего графа переходов, как это было предложено в [8] для программной реализации на алгоритмических языках, а путем введения дополнительных двоичных выходных переменных.

Число таких переменных равно числу состояний (вершин), используемых во взаимных блокировках. Каждая из этих переменных принимает значение "1" в одном состоянии, применяемом для блокировки, и "0" во всех остальных состояниях.

На рис.8 приведены два взаимосвязанных графа переходов, реализующие алгоритм совместного управления двумя клапанами с памятью, с дополнительно введенными выходными переменными z5 и z6 (для первого и второго графов переходов соответственно). Эти переменные обеспечивают взаимодействие (по данным) между графами переходов. На рис.9 приведена функциональная схема, реализующая указанные графы.

 

Рис. 8

 

Рис. 9 (в натуральную величину)

Для тестирования программы, реализующей систему взаимосвязанных графов переходов, для последней первоначально должен быть построен граф достижимых маркировок [8], который в дальнейшем предлагается использовать в качестве сертификационного теста.

5. Заключение

В завершение работы отметим, что подход, рассмотренный в разд.3,4 обеспечивает построение более компактных схем по сравнению со схемами, построенными из программно реализованных двоичных мультиплексоров, при использовании которых многозначное кодирование не может быть применено.

Этот подход следует использовать во всех случаях, когда параметры транслируемых по этим стандартным схемам программ не превосходят ограничений (если они имеются) на эти параметры. В противном случае должны применяться стандартные схемы, построенные с помощью метода, изложенного в разд.2. При еще более жестких ограничениях следует отказаться от использования стандартных схем и перейти к построению нерегулярных функциональных схем с помощью других методов, изложенных в [8].

С материалом, изложенным в настоящей работе, можно ознакомиться также в главе 17 работы [12].

Подход, изложенный в настоящей работе, был впервые использован в 1991 году при создании системы управления дизель-генератором ДГР-2А 500*500 судна проекта 15640 на базе аппаратуры "Selma-2" [2,13].

"Человеческие" методы программирования на других языках по стандарту IEC 1131-3, отличающиеся от предлагаемых в документациях ведущих фирм мира, например [3], изложены в [8].

По нашему мнению, наиболее целесообразно программирование логических контроллеров выполнять на языке "Структурированный текст" (ST), который обязательно должен содержать конструкцию, аналогичную конструкции switch языка Си, а не на языке функциональных блоков, который рассмотрен в настоящей работе и который широко используется при программировании ПЛК [5,6].

Список литературы

  1. International Standard IEC 1131-3. Programmable Controllers. Part 3. Programming languages //International Electrotechnical Commission. 1993.
  2. Selma-2. Описание функциональных блоков. АББ Стромберг Драйвс, 1989.
  3. SIMATIC. Simatic S7/M7/C7. Programmable Controllers. SIEMENS. Catalog ST 70. 1996.
  4. Серия программируемых контроллеров Modicon TST Quantum. GROUPE SCHNEIDER. 1998.
  5. ISaGRAF. Standard IEC 1131-3. Computer aided software engineering workbenh for open PLCs and industrial computers. User's Guide. CJ International. 1994.
  6. Шакиров С., Биюсов Р., Якубович В. и др. ULTRALOGIC - система подготовки программ для промышленных контроллеров //Современные технологии автоматизации. 1997. №3.
  7. Боуэн Д.П., Хинчи М.Д. Десять заповедей формальных методов //Мир ПК. 1997. №10.
  8. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998.
  9. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование задач логического управления //Промышленные АСУ и контроллеры. 1999. №9.
  10. Кондратьев В.Н., Шалыто А.А. Использование функциональных схем при программной реализации автоматов //Судостроит. пром-сть. Сер. Автоматика и телемеханика. 1991. Вып.13.
  11. Хоуп Г. Проектирование цифровых вычислительных устройств на интегральных схемах. М.: Мир, 1984.
  12. Шалыто А.А. Логическое управление. Методы аппаратной и программной реализации. СПб.: Наука, 2000.
  13. Project 15640. AS 21.DG1. CONTROL. АМИЕ. 95564.12M. St.Petersburg. ASS "Avrora", 1991. 

[ << | 1 | 2 | 3 ]



© 2002—2024 По техническим вопросам сайта: alexvatyan@gmail.com