MUX: Мультиплексор
Описание функции
Эта функция передает значение соответствующего входа на выход в зависимости от значения на входе K.
Количество входов может быть увеличено
EN и ENO могут быть сконфигурированы как дополнительные параметры.
Пример
K = 0: Вход IN0 передается на выход
K = 1: Вход IN1 передается на выход
K = 5: Вход IN5 передается на выход
K= n: Вход INn передается на выход
Типы данных
Типы данных входов с Input0 по Inputn и выхода должны быть идентичны.
Представление в LD
Представление:
Описание параметров
Описание входных параметров:
Описание функции
Эта функция передает значение соответствующего входа на выход в зависимости от значения на входе K.
Количество входов может быть увеличено
EN и ENO могут быть сконфигурированы как дополнительные параметры.
Пример
K = 0: Вход IN0 передается на выход
K = 1: Вход IN1 передается на выход
K = 5: Вход IN5 передается на выход
K= n: Вход INn передается на выход
Типы данных
Типы данных входов с Input0 по Inputn и выхода должны быть идентичны.
Представление в LD
Представление:
Описание параметров
Описание входных параметров:
Параметр
|
Тип данных
|
Значение
|
K
|
INT, DINT, UINT, UDINT
|
Вход выбора K = 0...30 |
IN0
|
ANY
|
1. Вход
|
IN1
|
ANY
|
2. Вход
|
IN2
|
ANY
|
3. Вход
|
INn
|
ANY
|
n+1. вход, n = макс. 30
|
Описание выходного параметра:
Параметр
|
Тип данных
|
Значение
|
OUT
|
ANY
|
Выход
|
Ошибка во время выполнения
Возвращается сообщение об ошибке, если превышен допустимый диапазон значения входа K(селектор).
Обычно мультиплексор используют в том случае, если имеются множество индикаторов.
Предположим, что у нас имеются тактовый импульс счетчика, при этом необходимо либо переключить или остановить конвейер, либо какой-то иной процесс, не важно.
Смысл в следующем, создадим мультиплексор, как показано ниже на рисунке:
Причем все переменные типа INT – целочисленные. К мультиплексору создадим счетчик.
На выходе счетчика параметра CV создадим переменную - out2, эта переменная и будет ключевой составляющей нашей программы.
За сравнение будем использовать функцию GT – больше и функцию BOOL_TO_INT для перехода с булевой составляющей в целочисленную.
Общий вид программы. Последняя функция сложение ADD предназначена для сложения переменной Sel параметра K.
После запуска программы в среде Unity программой заранее зададим значения, которые должны определить.
Я выбрал для примера 10, 20 и 30, причем на выходе установилось значение 10, потому, что нулевое значение sel = 0, которая присвоило IN0 =10.
Далее принудительно заставим работать наш счетчик.
Доводим значение параметра CV до 11, потому что у нас стоит функция GT и мы заранее определили параметр 10.
Пример показывает, что выбор определен sel =1 благодаря функции GT. Как видите мультиплексор перешел к значению IN1, которая равна 20. Таким образом, если тактовый импульс будет и дальше срабатывать, он дойдет до 21, сработает следующий этап параметра IN2, которая в свою очередь присвоит значение 30.
Возможно, данный пример и не самый лучший, но, тем не менее, я дал понять, как работать с мультиплексором.
На этом все удачи вам!