Урок 8
Применение функционального блока LC64
Logic Chart Block (LC64) предназначен для программирования логических цепочек блокировок.
LC64 имеет 32 входа, 32 выхода и 64 логических элемента:
Символ | Название | Примечание |
---|---|---|
AND - логическое И | Максимум 20 входов на один элемент | |
OR - логическое ИЛИ | ||
NOT - логическое НЕ | ||
Триггеры с приоритетом по сбросу (R) с одним или двумя выходами | Выход OUT2 является инверсным по отношению к OUT1 | |
Триггеры с приоритетом по установке (S) с одним или двумя выходами | ||
WOUT - Wipeout (стёрка). Имеет 2 входа (S и R) и один выход (OUT) | Если R=1, то OUT=0; если R=0, то OUT=S. |
|
OND – таймер с задержкой на включение. Имеет вход IN и выход OUT | Таймер запускается по положительному фронту IN и через заданное время OUT становится равным IN | |
OFFD – таймер с задержкой на выключение | Таймер запускается по отрицательному фронту IN и через заданное время OUT становится равным IN | |
TON – триггер переднего фронта | OUT включается по переднему фронту IN и выключается через один цикл скана блока | |
TOFF – триггер заднего фронта | OUT включается по заднему фронту IN и выключается через один цикл скана блока | |
CMP-GE – компаратор «больше или равно». Имеет 2 входа (IN1, IN2) и один выход (OUT) | Если IN1 больше или равен IN2, то OUT=1 | |
CMP-GT – компаратор «больше» | Если IN1 больше IN2, то OUT=1 | |
CMP-EQ – компаратор «равно» | Если IN1=IN2, то OUT=1 |
Настройки блока LC64
Processing Timing
T: Periodic Execution Type | Блок выполняется циклически |
O: One-shot Processing Type | Блок выполняется однократно по инициативе другого блока (максимум 7 уровней вложенности) |
I: Startup at Initial Cold Start/Restart | Блок выполняется однократно во время холодного пуска или перезапуска |
B: Restricted Initial Execution Type | Блок выполняется однократно только во время холодного пуска |
Scan Period
Период циклического выполнения функционального блока
Тип скана | Время скана |
---|---|
Basic Scan* | 1 секунда (не изменяется) |
Medium-speed Scan | 500мс (по умолчанию), 250мс, 200мс, 100мс, 50мс |
High-speed Scan | 200мс (по умолчанию), 500мс, 250мс, 200мс, 100мс, 50мс |
Control Period (1...16 сек) — периодичность выполнения блока ST16 блоком LC64
Control Phase (0...15 сек) — смещение выполнения блока ST16 блоком LC64
Execution
Порядок выполнения логических элементов в блоке LC64:
Matrix Expansion | Слева направо и сверху вниз |
Manual Expansion | Порядок выполнения (индивидуально для каждого элемента) задаётся вручную |
Задание
Запрограммировать логическую связь между кнопками и индикаторами (из предыдущего урока) с помощью функционального блока LC64: при нажатии кнопки её индикатор загорается через 5 секунд.
Решение
-
Открываем редактор схем управления:
FCS0101 > FUNCTION_BLOCK > DR0004 -
Вставляем функциональный блок LC64:
-
Задаём имя тега для функционального блока - CONTROL:
-
Открываем редактор Function Block Detail Builder:
Контекстное меню блока LC64 > Edit Detail - Вставляем таймер с задержкой на включение
- Щёлкаем по таймеру правой кнопкой и в контекстном меню выбираем пункт - Properties
-
В открывшемся окне выбираем вид символа "OND+Comment":
-
Переходим на вкладку "Set Timer" и вводим номер таймера и комментарий:
Повторяем эту операцию для других таймеров -
Добавляем входные и выходные элементы, связи:
-
Запускаем симулятор:
FCS > Test Function -
В среде исполнения вызываем лицевую панель по имени тега LIGHT
-
Из панели "Overview" открываем окно визуализации статуса схемы управления Control Drawing View:
Overview > Plant > TRAINING > FCS0101 > %DR0004S010101
- Переводим оба блока в режим AUT
-
Щёлкаем дважды по блоку LC64:
-
Щёлкаем дважды по таймеру 1 и задаём время задержки таймера - 5 секунд:
Повторяем эту операцию для других таймеров -
Нажимаем все три кнопки на лицевой панели LIGHT и наблюдаем, что происходит:
- Индикатор первой кнопки через 5 секунд станет зелёным и поменяет надпись на ВКЛ
- Второй индикатор не изменится, так как у него вообще нет кнопки (см. предыдущий урок)
- Цвет третьей кнопки тоже не изменится, так как у ней нет индикатора.