Программирование действий и условий

Редактирование пары шаг-переход

После определения структуры секвенсора в FB S7-GRAPH можно начать программировать отдельные шаги и переходы.

Порядок программирования не имеет большого значения.

На рисунке 4.5 показаны поля и области размещения элементов программы при программировании шага и перехода.

Программирование шага начинается с комментария в поле 1. Комментарий может содержать до 2048 символов и не влияет на выполнение программы.

В полях 2 и 3 вводятся условия блокирования и супервизора, соответственно. В поле 4 находится символ шага, а в поле 7 – символ перехода. Поле 5 предназначено для описания условий перехода на языках LAD, FBD, STL и SCL.

Программирование действий и условий - №1 - открытая онлайн библиотека

Рисунок 4.5 - Схема расположения областей программирования шага и перехода

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

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

Итак, действия содержат команды управления процессом. Они выполняются в порядке "сверху вниз". Действие может составляться из события, например, "S1 N" на рисунке 4.6 или команды, например, "N M 4.2". В действиях указывается адрес (М 4.2) или присвоение, например А:=В+С.

Программирование действий и условий - №2 - открытая онлайн библиотека

Рисунок 4.6 - Пример программирования шага

Действия можно разделить на следующие категории:

- Стандартные действия.

- Действия, которые зависят от событий.

- Действия для активации и деактивации шагов.

- Счетчики и таймеры.

- Арифметические действия.

Шаги, которые не содержат запрограммированных действий – это пустые шаги. Пустые шаги обрабатываются так же, как и активные.

Стандартные действия

Стандартные действия приведены в таблице 4.1.

Таблица 4.1

Команда Идентификатор Адрес Значение
N[C] Q, I, M, D m,n Адрес однократно получает значение 1
S[C] Q, I, M, D m,n Адрес устанавливается в 1
R[C] Q, I, M, D m,n Адрес сбрасывается в 0
D[C] Q, I, M, D m,n Задержка включения на n секунд
L[C] Q, I, M, D m,n Ограничение продолжительности адреса на n секунд
CALL[C] FB, FC, SFB, SFC Номер блока Вызов блока

Все стандартные действия (команды) могут комбинироваться с условием блокирования (добавляется символ С). Такие действия выполняются только тогда, когда блокирование снято.

В таблице используются следующие обозначения:

D адрес в формате: Dbi.Dbxm.n;

m адрес байта;

n адрес бита;

SFB, FB системный функциональный блок или

функциональный блок;

SFC, FC системная функция или функция.

Константа времени

Инструкции D[C] или L[C] требуют задания времени. Время программируется как константа с синтаксисом T#<const> и может быть задано в необходимой комбинации:

<const>= nd (n суток), nh (n часов), nm (n минут), ns (n секунд), nms (n миллисекунд), где n - целое число.

Пример:

T#2D3H – константа времени: 2 дня и 3 часа.

Действия, которые зависят от событий

Действия могут быть логически скомбинированы с событиями.

Событие – это изменение состояния шага или супервизора, блокирование, квитирование, сообщение или установка регистрации.

S1: Шаг активируется.

S0: Шаг деактивируется.

V1: Появилась ошибка супервизора (неполадка).

V0: Прекратилась ошибка супервизора (нет неполадок).

L0: Условие блокирования включено.

L1: Условие блокирования отключено, например, неполадка.

С: Условия блокирования удовлетворены.

А1: Сообщение квитировано.

R1: Установлена регистрация (положительный фронт на входе REG_EF или REG_S).

Если действие логически скомбинировано с событием, сигнал состояния определяется по выявлению фронта. Это означает, что инструкции могут выполняться только в том цикле, в котором происходит событие.

При наступлении событий S0, V0, L0, L1 возможно выполнение следующих команд:

N – адрес однократно получает значение 1;

S – адрес однократно устанавливается в 1;

R – адрес однократно сбрасывается в 0;

CALL – однократно вызывается блок.