Пример программы на sfc

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

Язык SFC предназначен для описания системы управления на самом верхнем уровне абстракции, например, в терминах «Старт», «Наполнение автоклава», «Выполнение этапа №1», «Выполнение этапа №2», «Выгрузка из автоклава». Язык SFC может быть использован также для программирования отдельных функциональных блоков, если алгоритм их работы естественным образом описывается с помощью понятий состояний и переходов. Например, алгоритм автоматического соединения модема с коммутируемой линией описывается состояниями «Включение», «Обнаружение тона», «Набор номер», «Идентификация сигнала» и переходами «Если длинный — то ждать 20 сек», «Если короткий — перейти в состояние «Набор Номера»» и т.д.

Перевод RealPars 39 — Для чего нужен язык SFC?

Рис. 9.12. Пример программы на языке SFC

На рис. 9.12 показан фрагмент программы на языке SFC. Программа состоит из шагов и условий переходов. Шаги показываются на схеме прямоугольниками, условия переходов — жирной перечеркивающей линией. Программа выполняется сверху вниз. Начальный шаг на схеме показывается в виде двойного прямоугольника.

Условия переходов записываются рядом с их обозначениями. Каждый шаг программы может представлять собой реализацию сложного алгоритма, написанного на одном из МЭК-языков.

9.3.7. Программное обеспечение

Программирование ПЛК на описанных выше языках МЭК 61131-3 осуществляется с помощью специализированного программного обеспечения, которое разрабатывается производителями ПЛК или фирмами, специализирующимися на создании ПО для систем автоматизации. Наиболее известными в мире являются системы CoDeSys фирмы 3S (www.3s-software.com) и ISaGRAF фирмы ICS Triplex (www.isagraf.com).

CoDeSys

CoDeSys (Co ntroller Development System) представляет собой комплекс программ для проектирования прикладного программного обеспечения, отладки в режиме эмуляции и загрузки программы в ПЛК. Наиболее подробно эта система описана в книге [Петров]. Основными частями системы являются среда разработки программы и среда ее исполнения (CoDeSys SP), которая находится в ПЛК.

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

Читайте также:
Как удалить с ipad ненужные программы

Лекция. Программирование на языке SFC (CoDeSys)

В одном проекте может быть использовано несколько контроллеров разных производителей. Каждый из них может программироваться как независимое устройство или с учетом их взаимодействия в промышленной сети. Проект состоит из нескольких приложений, распределенных по нескольким контроллерам. В одном ПЛК может существовать несколько независимых приложений.

Программа, написанная на языках МЭК, компилируется системой CoDeSys в машинный код, оптимизированный для заданной аппаратной платформы. Компилятор выдает диагностические сообщения как на этапе компиляции, так и на этапе ввода операторов языка.

Машинный код, сгенерированный компилятором CoDeSys, загружается в ПЛК, после чего разработчик имеет возможность использовать широкий набор функций для быстрой и эффективной отладки приложения. Текущие значения переменных видны непосредственно в редакторах программ. Программу можно выполнять по шагам или по контроллерным циклам. Можно задавать точки останова программы, просматривать стек вызовов, подготавливать связные наборы значений переменных и загружать их одной командой.

При отсутствии реального контроллера отладку программы можно выполнять с помощью встроенного программного эмулятора.

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

После изменения программы во время отладки перекомпилируются только измененные части программы. Их можно подгружать в контроллер без остановки выполнения прикладной программы. Эта возможность системы называется «горячим обновлением» кода.

Программируемое устройство соединяется с CoDeSys через вспомогательный программный компонент – шлюз связи, который использует протокол TCP/IP. Шлюз работает на компьютере программиста или удаленно, например, через интернет или сеть Ethernet. Контроллер подключается компьютеру через любой последовательный канал или сеть. Добавив драйвер, изготовитель ПК может поддержать свой оригинальный протокол связи.

Общение ПЛК со SCADA осуществляется с помощью стандартного ОРС сервера.

Читайте также:
При запуске программ появляется черный экран

Для того, чтобы ПЛК можно было программировать с помощью CoDeSys, в контроллере должна быть установлена система исполнения. Установку системы выполняет изготовитель контроллера. Изготовитель обеспечивает также поддержку всех модулей ПЛК, поэтому конечный пользователь может сосредоточиться на разработке только прикладной программы.

Среда исполнения CoDeSys может функционировать в ПЛК под управлением различных операционных систем или вообще без них, в том числе на обычном персональном компьютере. Собственное ядро реального времени может устанавливать контроллерный цикл с точностью до нескольких микросекунд. Прикладная программа остается работоспособной даже при зависании ОС.

Помимо средств программирования, CoDeSys имеет встроенную систему визуализации, которая применяется для операторского управления, а также моделирования на этапе разработки. Визуализацию можно запустить на компьютере, графической панели ПЛК или встроенном в контроллер web-сервере.

Пользователь может самостоятельно расширять возможность CoDeSys путем создания библиотек программных модулей. Например, он может реализовать поддержку нестандартных интерфейсов.

Комплекс программирования CoDeSys построен по компонентной технологии Microsoft на базе автоматизации. Поэтому изготовитель ПЛК может включить в комплекс свои собственные компоненты, от конфигуратора оригинальной сети до собственного языка программирования ПЛК.

Для систем, связанных с безопасностью, CoDeSys имеет библиотеку функциональных блоков PLCopen Safety, систему исполнения для оборудования с дублированием и специализированное расширение среды программирования. При внезапном отключении питания CoDeSys автоматически сохраняет значения переменных во флеш-памяти или в ОЗУ с батарейным питанием.

Источник: studfile.net

Пример программы на sfc

При создании SFC-программы первый SFC-шаг c заданным по умолчанию именем создается автоматически. Чтобы добавить или удалить элементы алгоритма, нужно нажать ЛК на соответствующих кнопках панели инструментов SFC-редактора:

Для добавления шага и условия нужно выделить шаг, вслед за которым должны располагаться добавляемые элементы, и нажать кнопку .

Для добавления SFC-условия нужно нажать ЛК на начальном шаге и, удерживая кнопку нажатой, переместить курсор на конечный шаг, после чего кнопку мыши отпустить.

Данное свойство можно использовать для создания цикла, если в качестве начального и конечного шагов использовать один и тот же шаг.

Пример создания цикла в SFC-программе

В данном примере в SFC-программе создается цикл. В качестве счетчика цикла выступает переменная VAR_000.

Создадим новую программу, выберем для нее язык SFC и зададим следующие переменные:

Читайте также:
Программа стек энерго инструкция

Выделим на диаграмме начальный шаг и нажмем кнопку . Диаграмма SFC примет следующий вид:

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

Используя язык Техно ST, зададим шаги и условия следующим образом:

SFC_STEP «Начальный шаг

VAR VAR_000 : INT := 10; END_VAR

VAR VAR_001 : INT ; END_VAR

VAR_000 = VAR_000 + 1; // увеличение

VAR_001 = VAR_001 + 2; // выполняемое в

SFC_TRANSITION «ПЕРЕХОД 0» FROM( INITIAL_STEP ) TO( STEP_1 )

VAR VAR_000 : INT := 10; END_VAR

VAR VAR_001 : INT ; END_VAR

SFC_TRANSITION «ПЕРЕХОД 1» FROM( INITIAL_STEP ) TO( INITIAL_STEP )

VAR VAR_000 : INT := 10; END_VAR

VAR VAR_001 : INT ; END_VAR

VAR VAR_000 : INT := 10; END_VAR

VAR VAR_001 : INT ; END_VAR

VAR_001=200; // действие после выхода

В этом примере выполнение шага Начальный шаг повторяется 10 раз (пока счетчик растет от 10 до 20). Данный алгоритм работает аналогично следующему коду Техно ST:

VAR VAR_000 : INT :=10; END_VAR

VAR VAR_001 : INT; END_VAR

REPEAT VAR_001 = VAR_001 + 2; VAR_000 = VAR_000 + 1; UNTIL VAR_000 < 20 END_REPEAT;

Для добавления дополнительного (параллельного) шага, который будет выполняться по созданному ранее условию, нужно выделить это условие или выходящую из него линию, и нажать кнопку

.

Данное свойство используется для более структурированного представления алгоритма. Например, при выполнении следующей диаграммы условие ПЕРЕХОД 1 будет проверяться только после выполнения шагов ШАГ 1, ШАГ 2 и ШАГ 3.

Параллельные шаги должны быть обязательно связаны с последующим условием, причем с одним и тем же. Чтобы реализовать такую связь, нужно нажать ЛК на параллельном шаге и, удерживая кнопку нажатой, переместить курсор на условие или линию перехода, на котором это условие действует.

Для удаления параллельного шага нужно выделить его и нажать кнопку или клавишу Del.

Для удаления SFC-условия нужно выделить его и нажать кнопку . Единственное условие, действующее на переходе между шагами, удалить нельзя.

Для удаления шага и всех связанных с ним SFC-условий нужно выделить этот шаг и нажать кнопку . Удалить можно только те шаги, которые не имеют переходов к другим шагам (из таких шагов не выходят линии со стрелкой).

Источник: proscada.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru