Программирование действий и условий
Редактирование пары шаг-переход
После определения структуры секвенсора в FB S7-GRAPH можно начать программировать отдельные шаги и переходы.
Порядок программирования не имеет большого значения.
На рисунке 4.5 показаны поля и области размещения элементов программы при программировании шага и перехода.
Программирование шага начинается с комментария в поле 1. Комментарий может содержать до 2048 символов и не влияет на выполнение программы.
В полях 2 и 3 вводятся условия блокирования и супервизора, соответственно. В поле 4 находится символ шага, а в поле 7 – символ перехода. Поле 5 предназначено для описания условий перехода на языках LAD, FBD, STL и SCL.
Рисунок 4.5 - Схема расположения областей программирования шага и перехода
Действия, которые должны быть выполнены в шаге, заносятся в таблицу, которая размещается в зоне 6.
Действия управляют входами, выходами и меркерами, они активируют и деактивируют шаги секвенсора, а также вызывают блоки.
Итак, действия содержат команды управления процессом. Они выполняются в порядке "сверху вниз". Действие может составляться из события, например, "S1 N" на рисунке 4.6 или команды, например, "N M 4.2". В действиях указывается адрес (М 4.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 – однократно вызывается блок.
Дата добавления: 2016-12-09; просмотров: 2586;