Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

MAX_MIN8 - максимум и минимум из 8 входов


Назначение.
Функциональный блок MAX_MIN8 применяется для сравнения до 8 сигналов (вещественных чисел) и вывода максимального и минимального из них.
 
Состав структурной переменной.
Переменная со структурным типом MAX_MIN8 будет добавлена в локальный словарь автоматически при добавлении блока в редактор.
Описание алгоритма.
На входы X1..X8 передаются сравниваемые сигналы (вещественные числа). На вход M передается количество входных сигналов X, значения которых будут сравниваться. Значения сигналов с номером больше M не используются в процессе сравнения. При M>8, входному параметру M присваивается максимальное значение по умолчанию M=8. Если M<1, выходы Y и N равны нулю.
В результате выполнения блока сравниваются значения сигналов X1..XM, при этом максимальное значение передается на выход Ymax, а минимальное на выход Ymin.
Номера входных каналов с максимальным и минимальным значениями выводятся на выходы Nmax и Nmin соответственно. Если имеется группа одинаковых сигналов, значения которых являются максимальными или минимальными, то на выходы Nmax и Nmin передаются минимальные номера каналов из группы.
 
Пример синтаксиса на языке ST.
//вызов функционального блока
Block.MAX_MIN8(7, 1.1, 5.4, 5.4, 1.1, 1.1, 4.2, 3.0, 0.5);
//чтение максимального сигнала и его номера: Ymax=5.4  и Nmax=2.0
Ymax := Block.Ymax;
Nmax := Block.Nmax;
//чтение максимального сигнала и его номера: Ymax=1.1  и Nmax=1
Ymin := Block.Ymin;
Nmin := Block.Nmin;