Блок
представляет собой прямоугольник,
имеющий входы и выходы; входы располагаются слева, выходы справа.
В частных случаях (например, специализированный макрос) либо входы, либо
выходы у блока могут отсутствовать.
Количество входов и выходов
ограничено.
Каждый вход
и выход имеет имя, которое расположено
внутри прямоугольника, являющегося
границей блока, около левой и правой
границ соответственно.
Все
блоки,
используемые в программе, можно разделить
на группы:
- Функциональные блоки - это программный объект, который представляет специализированную функцию управления, используемую в управляющих системах. Каждый функциональный блок выполняет одну функцию взаимодействия между своими входами и выходами: от элементарных логических И, ИЛИ, НЕ до очень сложных.
- Макросы - подпрограмма, реализующая определенную задачу. Это функциональная, но в отличие от блока, не элементарная единица проекта. Макросы, как и блоки, выполняют функцию взаимодействия между своими входами и выходами. Но эта функция взаимодействия много сложнее, чем у блоков, и состоит из совокупности отдельных элементарных функций, реализуемых блоками.Макрос в проекте используется как обычный функциональный блок.
- Блоки входы/выходы - эти блоки служат входами/выходами блоков макросов в проекте.
- Блоки - входы/выходы устройства - элементы устройства, представляющие собой физические входы/выходы.
- Блоки
- сетевые переменные - блоки
используются при создании сетевых проектов.
В свойствах блока можно указать его уникальное название, а так же специфические настройки, характерные для конкретного типа блока.
На выходе F блока устанавливается уровень лог. "1" на время полного цикла контроллера.
Блоки этого типа могут работать с любым типом данных на входе D.
Пример применения:
На входе D блока происходит изменение сигнала.
Блок Rise формирует импульс при увеличении значения на входе D относительно значения на этом входе в предыдущем такте.
Аналогично, блок Fall будет формировать импульс при уменьшении значения на входе D.
Более подробно применение этих блоков будет рассмотрено в одном из уроков.
Рис. 5.1 Окно свойств блока AND |
5.1. Блоки логики
Элементарные логические функции представлены следующими блоками:- AND (И)
- OR (ИЛИ)
- XOR (исключающее ИЛИ)
- NOT (НЕ)
Выход блоков AND, OR и XOR можно инвертировать, если выбран логический тип данных.
Например, для получения блока И-НЕ нужно установить "флажок" напротив надписи Инверсия в свойствах блока И.
Блоки
AND, OR и XOR могут выполнять поразрядные операции с целыми со знаком (без знака) и дробными числами.
У блоков
AND, OR и XOR настраивается количество входов: от двух до двадцати.
Любым логическим входам можно назначить дополнительные свойства:
5.2. Блоки с импульсным выходом
- Блок Front определяет нарастание и срез (задний фронт) импульса.
- Блок Rise определяет нарастание импульса.
- Блок Fall определяет срез (задний фронт) импульса.
На выходе F блока устанавливается уровень лог. "1" на время полного цикла контроллера.
Блоки этого типа могут работать с любым типом данных на входе D.
Пример применения:
На входе D блока происходит изменение сигнала.
Блок Rise формирует импульс при увеличении значения на входе D относительно значения на этом входе в предыдущем такте.
Аналогично, блок Fall будет формировать импульс при уменьшении значения на входе D.
Более подробно применение этих блоков будет рассмотрено в одном из уроков.
5.3. Блоки Таймер
Выдает короткие импульсы на выходе, с заданным периодом.
Вход еn – разрешение работы таймера, при установленной 1 – работа разрешена, при 0 – работа запрещена
Вход interval задает период работы таймера в миллисекундах.
5.4. Блокии Шифратор / Дешифратор
Рис. 5.4 Блок дешифратора |
Шифратор (CD).
Преобразует набор логических
переменных в целочисленное значение. Количество
входов меняется от 2 до 32.
Блок IF переносит значение со
входа true на выход, если вход if установлен
в истину (true (1)). Если вход if установлен в ложь (false(0)) – то блок переносит значение со входа false.
Тип данных
входов и выхода настраивается.
5.8. Блок Сравнение
Блок устанавливает значение 1 на выходе, если выбранная
операция истинна, иначе устанавливает 0.
Тип данных
входов настраивается.
Тип операции
настраивается:
- == ( равно )
- != (не равно)
- > (больше)
- >= (больше или равно)
- < (меньше)
- <= (меньше или равно)
5.8. Блоки Мультиплексор / Демультиплексор
Мультиплексор.
Передает на выход out значение одного
из входов. Номер входа определяется
значением на входе addr.
Демультиплексор.
Передает значение с входа in на один из
выходов. Номер выхода определяется
значением на входе addr.