MUX: Мультиплексор Описание функции Эта функция передает значение соответствующего входа на выход в зависимости от значения на входе 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. Возможно, данный пример и не самый лучший, но, тем не менее, я дал понять, как работать с мультиплексором.
На этом все удачи вам!
|