3.6. Язык последовательных функциональных схем
Теория конечных автоматов, используемая для формализации состояний сложных процессов управления, опирается на различные графические модели описания состояний. Одной из наиболее известных является модель, предложенная К. Петри, названная «Сети Петри» или диаграмма состояний, которая послужила теоретической основой языка последовательных функциональных схем.
Язык последовательных функциональных схем (SequentialFunctionCharts, илиGrafcet–SFC) позволяет формулировать логику программы на основе чередующихся процедурных шагов и транзакций (условных переходов), а также описывать последовательно-параллельные задачи в понятной и наглядной форме.
Строго говоря, SFCне является языком программирования. Это средство проектирования прикладного программного обеспечения, которое всегда является комплексом большого числа программных единиц: программ, функциональных блоков, функций. Обеспечение параллельности выполнения программ, установление и контроль состояния порожденных процессов, обеспечение синхронизации по приему и обработке данных, описание однозначно понимаемых и заказчиком, и исполнителем состояний автоматизируемого процесса – все это возможно при использовании «языка программирования»SFC. Однако,SFCне имеет средств для описания шагов и переходов, которые могут быть выражены только средствами других языков стандартаIEC. Происхождение:Grafcet(Schneider).
Графическое описание последовательностных операций управляющих систем, а также различных встречающихся ситуаций выполняется с использованием графических символов.
Операции, связанные с шагами, обозначаются в общей форме типа «что должно быть сделано», когда шаги активированы. Последовательность активированных шагов в любой заданный момент времени определяет ситуацию в диаграмме языка SFC.
Шаг может быть связан с действиями, которые выполняются только в том случае, если шаг активен, бывают и пустые шаги.
Каждый переход имеет условия, которые проверяются при разрешенном переходе. Если условия перехода не указаны, то всегда предполагается, что они ложны (false).
Действия и условия перехода программируются на других языках – LD,IL, илиST.
Язык SFCиспользует следующие структурные элементы для создания программы: шаг (Step), переход (Transition), прыжок (Jump) и связи типа ответвления (Branch) и соединения (Joint).
Пример блока типа «Шаг» показан на рис.3.4. Шаг представляется блоком, содержащим имя шага. Имя шага должно быть уникальным для всей программы.
Шаг становится активным, когда предшествующий ему переход истинен, и при нормальных обстоятельствах становится неактивным, когда последующий за ним переход истинен.
Рис.3.4. Шаг
Действия, которые должны выполниться в то время, когда шаг активен, должны быть связаны с шагом. Действия объявляются в диалоге реквизитов инициализации шага.
Шагу либо не назначаются никакие действия, либо назначаются множественные действия. Шаг, которому не назначено действие, имеет функцию ожидания, т.е. он ждет до тех пор, пока переход, следующий за шагом, не станет истинным.
Действие – это выходная переменная с типом данных BOOL.
Действие может быть назначено выходу аппаратного обеспечения с использованием прямого адреса. В этом случае действие может служить сигналом разрешения для перехода, входным сигналом в FBD-секции и выходным сигналом для аппаратного обеспечения.
Действие может также применяться как входной сигнал в другой секции с использованием переменной. Эта переменная также называется переменной действия.
Изображение элемента «Переход» показано на рис.3.5. Переход указывает условие, которое передает управление от одного или нескольких шагов, предшествующих переходу, к одному или нескольким последующим шагам по направлению соответствующей связи. Переход является переменной с типом данных BOOL.
Рис.3.5. Элемент «Переход»
Переход разрешается, когда непосредственно предшествующие шаги активны. Переход вызывается, когда он разрешен и условие перехода истинно. Переходы с непосредственно предшествующими неактивными шагами не будут обрабатываться.
Пуск перехода дезактивирует все непосредственно предшествующие шаги, связанные с переходом, затем активизирует все непосредственно следующие шаги.
Если запущенный переход активизирует несколько шагов одновременно, последовательности, которым эти шаги принадлежат, называются параллельными последовательностями. После их одновременной активизации каждая из этих последовательностей выполняется независимо.
Связь. Связи являются соединениями между шагами и переходами. Обычно они автоматически создаются при размещении объектов. Однако при размещении объектов в ячейках, которые не находятся в непосредственной последовательности, логика должна быть явно установлена с помощью связи.
Рис. 3.4. Структурные элементы языка SFC
Язык SFCподразделяет секцию на отдельные логические последовательные этапы с использованием шагов и переходов, которые чередуются на функциональной диаграмме (рис. 3.5).
Рис. 3.5. Пример функциональной диаграммы SFC
Два шага никогда не могут быть соединены непосредственно; они должны всегда отделяться переходом.
Шаги и переходы связаны с помощью направленных связей. Последовательности активных сигнальных состояний обрабатываются по направленным связям, которые приводятся в действие переходами. Направление пошагового управления следует за направленными связями и начинается под предыдущим шагом к верхней части активного шага. Ветви обрабатываются слева направо.
Один специальный шаг в SFC-секции должен всегда определяться как шаг инициализации, который характеризует начальное состояниеSFC-секции и показывается со сдвоенными линиями на границах. Шаг инициализации активен в начальном состоянии последовательности шагов инициализации, когда инициализируется программа, содержащая секцию.
Шаг может быть заменен прыжком. Последовательности шагов всегда ассоциируются с прыжком к другому шагу той же самой последовательности шагов. Это означает, что они выполняются циклически.
Каждый шаг имеет нулевое или большее количество действий. Шаги без действия идентифицируются как ждущий шаг. Каждый переход имеет условие перехода. После установления действия шаги могут быть очищены, только если действия предварительно удалены из шага.
В дополнение к этим структурным элементам в секции SFCможет также размещаться текст. Текстовые объекты могут быть помещены только в пустые ячейки.
Одиночные последовательности. В одиночной последовательности чередование; шагов и переходов повторяется последовательно (рис. 3.6).
Рис. 3.6. Пример одиночной последовательности
Последовательный процесс перехода из шага S_10 в шагS_11 будет осуществляться, только когда шагS_10 находится в активном состоянии и когда условие перехода «a» истинно.
Прыжок. Прыжок позволяет программе продолжать работу из различного положения. Прыжки в параллельную последовательность или из параллельной последовательности невозможны.
Имеется два вида прыжков: прыжок последовательности и контур последовательности.
Прыжок последовательности является частным случаем альтернативного ответвления, где одно или несколько ответвлений не содержат шаги (рис. 3.7).
Рис. 3.7. Пример альтернативного ответвления с прыжком
Последовательный процесс перехода из шага S_10 через шагиS_11 иS_12 в шагS_13 выполняется, только когда шагS_10 является активным и условие переходааистинно. Последовательный процесс перехода из шагаS_10 прямо в шагS_13 выполняется, только когда шагS_10 является активным и условие «a» ложно, а условие перехода «b» истинно.
Контур последовательности (рис. 3.8) – это частный случай альтернативного ответвления, где одно или несколько ответвлений выполняют возврат к предыдущему шагу.
Рис. 3.8. Пример контура последовательности
Последовательный процесс перехода из шага S_11 в шагS_10 выполняется, только если условие перехода «b» является ложным, а условие «c» – истинным.
Ответвления. Различают альтернативное ответвление и параллельное ответвление.
Альтернативное ответвление – это условное программирование ответвлений в потоке управления SFC-структуры.
В альтернативных ответвлениях шаг продолжается несколькими переходами под горизонтальной линией, которые являются различными процедурами (рис. 3.9).
Рис. 3.9. Пример альтернативного ответвления
Только один из этих переходов может функционировать в данный момент времени. Какое ответвление будет осуществляться, определяется результатом выполнения условия перехода для переходов, которые следуют за альтернативным ответвлением. Переходы ответвления обрабатываются слева направо. Если условие перехода истинно, остающиеся переходы больше не будут обрабатываться. Ответвление с истинным переходом становится активным. Результатом является приоритет обработки ветвей слева направо. Если никакой переход не действует, активный в настоящее время шаг остается активным.
Последовательный процесс перехода из шага S_10 в шагS_11 выполняется, только когда шагS_10 является активным, а условие перехода «a» истинным. Последовательный процесс перехода из шагаS_10 в шагS_12 выполняется только, когда шагS_10 является активным, условие перехода «a» ложным, а условие «b» истинным.
Все альтернативные ответвления должны быть соединены снова в одну ветвь с использованием альтернативных соединений или прыжков.
В параллельных ответвлениях (рис. 3.10) обработка разбивается на две или больше последовательностей, которые обрабатываются параллельно.
Рис. 3.10. Пример параллельного ответвления
Только один общий переход позволяется непосредственно выше горизонтальной двойной линии синхронизации.
Последовательный процесс перехода из шага S_10 в шагиS_11,S_12,S_13 выполняется, только если шагS_10 активен и условие перехода «a», которое является общим условием перехода, истинно. После параллельной активации шаговS_11,S_12,S_13 последовательности шагов обрабатываются независимо друг от друга.
Соединение. Различают альтернативное соединение и параллельное соединение.
При альтернативном соединении различные ветви альтернативного ответвления соединяются снова в одну ветвь, где затем продолжается обработка (рис. 3.11). Это соединение может также выполняться прыжком.
Рис. 3.11. Пример альтернативного соединения
Последовательный процесс перехода из шага S_10 в шагS_12 выполняется, только когда шагS_10 активный и условие перехода «d» истинно. Последовательный процесс перехода из шагаS_8 в шагS_12 выполняется, только если шагS_8 активный и условие перехода «b» истинно и, следовательно, выполняется прыжок в шагS_12. Последовательный процесс перехода из шагаS_11 в шагS_12 выполняется, только когда шагS_11 является активным и условие перехода «e» истинно. Только одна из этих ветвей, соответствующая первому условию перехода в альтернативном ответвлении, является активной.
Параллельное соединение объединяет два или более параллельных ответвления, чтобы сформировать одну ветвь (рис. 3.12).
Рис. 3.12. Пример параллельного соединения
Переход, следующий за параллельным соединением, обрабатывается, когда все прямые предшествующие шаги установлены. Только один общий переход непосредственно ниже двойной горизонтальной линии синхронизации возможен.
Последовательный процесс перехода из шагов S_10,S_11,S_12 в шагS_13 выполняется, только если шагиS_10,S_11,S_12 являются активными одновременно, а условие перехода «d», которое является частью общего перехода, истинно.
Пример структуры программы на языке SFCпоказан рис. 3.13.
Рис. 3.13. Пример программы на языке SFC
Основные достоинства SFCможно определить следующим образом:
Высокая выразительность. Язык SFCимеет те же возможности, что и диаграммы состояний, и является наиболее подходящим средством для описания динамических моделей.
Графическое представление. Благодаря графической мнемонике SFCмаксимально прост для использования и изучения. Вместе с тем, он является наглядным средством представления логики на разных уровнях детализации.
Предварительное проектирование ПО. Использование языка SFC на ранних этапах проектирования прикладного ПО позволяет снять многочисленные непонимания между заказчиком, проектировщиком ПО и программистом.
- Микропроцессорные средства автоматизации
- Содержание
- Глава 14. Применение микро-эвм в системах регулирования и управления 184
- Введение
- 1. Основные определения и классификация микропроцессорных средств автоматизации
- 2. Дискретная автоматика
- 2.1. Формы представления информации
- 2.2. Способы представления дискретной информации
- 2.3. Системы счисления, используемые в вычислительной технике
- 2.3.1. Способы представлений информации для микропроцессора
- 2.4. Булевы функции
- 2.4.1. Система равносильных преобразований
- 2.5. Синтез систем дискретной автоматики
- 2.5.1. Синтез дискретных схем по таблицам состояний.
- 2.5.2. Синтез многотактных систем дискретной автоматики
- 3. Промышленные сети
- 3.1. Структура промышленных сетей
- 3.1.1. Топология промышленных сетей
- 3.2. Аппаратные интерфейсы пк
- 3.2.1. СтандартRs-232c
- 3.2.2. Последовательная шинаUsb
- 3.3. Универсальный асинхронный приемопередатчик
- 3.4. Физические интерфейсы
- 3.4.1. ИнтерфейсRs-485
- 3.4.1.1. Автоматический преобразователь интерфейсовUsb/rs-485 овен ас4
- 3.4.2. Интерфейс «Токовая петля»
- 3.4.2.1. Адаптер интерфейса овен ас 2
- 3.5. Протоколы промышленных сетей
- 3.5.1. ПротоколModbus
- 3.5.2.Hart-протокол
- 3.5.4. Сеть profibus
- 3.5.5. Описание шиныCan
- 2.8.1.1. Организация сети can
- 2.8.1.2. Физический уровень канала can.
- 2.8.1.3. Арбитраж шины can.
- 2.8.1.4. Структура формата передачи данных
- 2.8.1.1. Форматы кадра
- Механизм обработки ошибок.
- Адресация и протоколы высокого уровня
- 5.8. Универсальная сеть Foundation Fieldbus
- 5.9. Физическая среда передачи данных
- 3. Языки программирования логических контроллеров
- 3.1 Объекты адресации языков программирования плк
- 3.2 ЯзыкLadderDiagram(ld)
- 3.3 Язык Functional Block Diagrams (fbd)
- 3.4 ЯзыкInstructionList(il)
- 3.5. Язык структурированного текста
- 3.5.1. Применение управляющих структур Условное действиеIf...End_if
- Условное итеративное действие while...End_while
- Условное итеративное действиеRepeat...End_repeat
- Повторяющееся действиеFor...End_for
- Выход из цикла посредством инструкции exit
- 3.6. Язык последовательных функциональных схем
- 5.4. Пример
- 4. Элементы микропроцессорных устройств
- 4.1 Цифро-аналоговые преобразователи
- 4.1.1 Принципы построения основных узлов цап.
- 4.2 Аналого-цифровые преобразователи
- 4.2.1 Метод последовательного счета
- 4.2.2 Метод поразрядного кодирования
- 4.2.3 Метод считывания
- 5. Мини-контроллеры
- 5.1. Мини-контроллеры серииAlpha
- 5.2. Миниатюрные программируемые устройстваEasy
- 5.2.1. Управляющее релеEasy500
- 5.2.2. Управляющее реле Easy 700
- 5.2.3. Управляющее реле Easy 800
- 5.2.4. Модули расширенияEasy
- 5.2.5. Средства коммуникации устройств Easy
- 5.3. Интеллектуальные релеZelioLogic
- 5.3.1. Компактные и модульные интеллектуальные реле
- 5.3.2. Общие технические характеристики релеZelio Logic
- 5.3.3. ПреобразователиZelioAnalog
- 5.3.4. Средства коммуникации интеллектуальных релеZelio Logic
- 5.3.4.1. Коммуникационный модемный интерфейс
- 5.3.4.2. Протокол связиModbusslave
- 5.3.4.3. Протокол связиEthernetserver
- 5.3.5. Программное обеспечение интеллектуального реле
- 5.4. Универсальный логический модульLogo!
- 5.4.1. Типы базовых модулей logo!Basic
- 5.4.2. Модули расширения ввода/вывода сигналовLogo!
- 5.4.3. Коммуникационные модули logo!
- 5.4.4. ФункцииLogo!
- 5.4.4.1.6. Биты регистра сдвига
- 5.4.4.1.7. Клавиши управления курсором
- 5.4.4.1.8. Постоянные уровни
- 5.4.4.2. Группа базовых функций
- 5.4.4.3. Специальные функции
- 5.4.4.3.1. Список специальных функций
- 5.4.4.3.2. Примеры специальных функций
- 5.4.5. Объем памяти и размер коммутационной программы
- 6. Программируемы логические контроллеры
- 6.1. Программируемые контроллеры simatic s7-22x
- 6.1.1. Модули расширения вводов-выводов
- 6.1.2. Коммуникационные модули
- 6.1.3. Человеко-машинный интерфейс
- 6.2. Программируемый логический контроллер simatics7-224xp
- 6.2.1. Основы функционирования плк
- 6.2.1.1. Порядок чтения входов
- 6.2.1.2. Исполнение программы
- 6.2.1.3. Запись значений в выходы
- 6.2.2. Доступ к данным s7-200
- 6.2.3. Адресация встроенных входов/выходов и входов/выходов модулей расширения
- 6.2.4. Обмен данными в сети
- 6.3. Программируемые контроллеры simatic s7-300
- 6.3.1. Области применения
- 6.3.2. Состав
- 6.3.3. Сертификаты
- 6.4. Программируемые контроллеры simatic s7-400
- Модификации контроллеров
- 6.4.1. Области применения
- 6.4.2. Состав
- 6.4.3. Сертификаты
- 6.6 Контроллер логический программируемый овен плк150
- Глава 14. Применение микро-эвм в системах регулирования и управления
- 14.1. Управляющие эвм
- 14.2. Использование микро-эвм для оптимизации резки катаной заготовки ножницами
- 14.4. Система управления положением вторичного зеркала телескопа
- 14.5. Прямое цифровое регулирование
- 14.8. Микропроцессор как универсальный регулятор
- 14.9. Микропроцессор как основа нового поколения систем автоматизации
- 7 Системы диспетчерского управления и сбора данных
- 7.1 Scada-система InTouch ("Wonderware", сша)
- 7.2 Scada-система Trace Mode ("AdAstra Research Group", Россия)
- 7.3Scada-системаSimaticWinCc("Siemens", Германия)
- 7.4Scada-системы, встраиваемые в плк
- 9. Методика выбора по различных производителей
- Список литературы