Описание блоков Часть 3

Часть 1, Часть 2, Часть 3, Часть 4


Нелинейные

case

y = xcase

Блок мультиплексор выполняет коммуникационную функцию, осуществляя подключение потребителя сигнала к одному из источников, в зависимости от управляющего адресного сигнала case. Он может коммутировать шинные проводники. Им можно замещать громоздкие вложенные структуры "Если", реализованные на регулярной совокупности логических блоков и переключателях.

При адресации, в отношении сигнала case действуют правила:

Если Вам требуется динамическое подключение к разным сигналам в шине, то следует пользоваться блоком элемент.

Нелинейные

crossDetect

y = -1, если входной сигнал x пересек уровень сверху
y = 1, если входной сигнал x пересек уровень снизу
y = 0, иначе

Блок пересечение генерирует импульс единичной амплитуды, если входной сигнал на текущем шаге симуляции пересекает заданный Вами уровень. При этом знак импульса соответствует знаку приращения сигнала. Если пересечение не фиксируется, то на выходе блока будет нулевое значение. Факт пересечения обнаруживается благодаря внутреннему буферному регистру, который запоминает входной сигнал на один шаг симуляции.

Щелчок другой кнопкой мыши по блоку вызывает диалоговое окно его свойств, в котором можно задать отслеживаемый уровень (значение по умолчанию 0) и определить метку для блока.

Нелинейные

deadband

y = 0, если | x | ≤ (зонаНечувств/2)
y = x - зонаНечувств/2 · sign x, иначе

Блок зонаНечувств выполняет нелинейное преобразование входного сигнала, уменьшая его абсолютную величину на постоянное значение. Если абсолютная величина входного сигнала меньше или равна вычитаемой константе, то значение выходного сигнала будет равно нулю.

Данный вид нелинейности часто встречается в механических системах и упоминается под термином "люфт механической передачи". В электрических усилительных схемах данный вид нелинейности называется "искажением типа ступенька".

Щелчок другой кнопкой мыши по блоку вызывает диалоговое окно его свойств, в котором можно задать величину зоны нечувствительности (значение по умолчанию 0.2) и определить метку для блока.

Нелинейные

int

y = целая_часть(x)

Блок int округляет значение входного сигнала, отбрасывая дробную часть. Например, сигнал, имеющий значение 2.999 будет округлен до 2. Блок обрабатывает только отдельные сигналы (нельзя подключить шинный проводник к входу).

Если Вам требуется выполнить операцию преобразования типов данных, то следует пользоваться блоком конвертерТипов.

Нелинейные

limit

y = x, если lbxub
y = lb, если x < lb
y = ub, если x > ub

Блок ограничитель ограничивает выходной сигнал в соответствии с заданными пределами - верхним ub, и нижним lb. Если входной сигнал находится в заданных пределах, то блок предает его на выход без преобразований. Если входной сигнал выходит за пределы, то до тех пор, пока ситуация не измениться, выходному сигналу будет присваиваться значение соответствующего предела.

Верхний ub и нижний lb пределы задаются в диалоговом окне свойств блока, и нет возможности динамически менять их значения. Блок обрабатывает только отдельные сигналы (нельзя подключить шинный проводник к входу).

Будьте внимательны при моделировании различных эффектов насыщения - последовательное включение блоков интегратор и ограничитель не эквивалентно включению блока насыщаемыйИнтегратор.

Диалоговое окно свойств блока 'ограничитель'

Строка ввода

Описание

Lower Bound (Нижний предел)

В этой строке ввода можно определить нижний предел для значений выходного сигнала. Значение по умолчанию -100

Upper Bound (Верхний предел)

В этой строке ввода можно определить верхний предел для значений выходного сигнала. Значение по умолчанию 100

Метка (Label)

В этой строке ввода можно определить текстовую метку для блока. В схемах электрических принципиальных метке подобны подписи типа "R1 1k2". Метка будет отображаться под блоком

 

Нелинейные

map

y = *.map [ x1] или
y = *.map [ x1, x2 ] или
y = *.map [ x1, x2, x3 ]
где: *.map - файл с 1D, 2D или 3D - матрицей

Блок таблица преобразует входной сигнал в соответствии с произвольно определяемой нелинейной функцией, которая в динамике может зависеть от одного или двух параметров. См. раздел: Использование блока таблица.

Нелинейные

max

y = x1, если x1 > x2
y = x2, если x1 < x2

Блок max сравнивает значения двух входных сигналов на каждом шаге симуляции и больший из них передает на выход.

Нелинейные

merge

y = xt , если | xb | ≥ 1
y = xf , если | xb | < 1

Блок переключатель осуществляет условную коммутацию двух сигнальных проводников или шин (xt и xf), в зависимости от значения логического управляющего сигнала xb.

Литеры b, t, и f, которыми помечены входы блока - это первые буквы слов boolean, true и false, поскольку фактически блок является конструкцией условного исполнения if .. then .. else ..

Нелинейные

min

y = x1, если x1 < x2
y = x2, если x1 > x2

Блок min сравнивает значения двух входных сигналов на каждом шаге симуляции и меньший из них передает на выход.

Нелинейные

quantize

y = [ целая_часть( x / Δy ) ] Δy - quantum,
где: Δy - величина шага квантования
quantum = Δy, если ( sign( Δy ) · x < 0 ) 
quantum = 0, иначе

Блок квантователь квантует сигнал по уровню с заданным шагом (разрешением) Δy. Знак величины шага квантования смещает характеристику квантователя на величину шага, см. таблицу.

Разрешение x = - 1.1 x = - 0.9 x = 0.9 x = 1.1
Δy = 1 (> 0) - 2 - 1 0 1
Δy = -1 (< 0) - 1 0 1 2

Основное назначение блока - это моделирование аналогово-цифровых преобразователей.

Щелчок другой кнопкой мыши по блоку вызывает диалоговое окно его свойств, в котором можно задать величину шага квантования Δy (значение по умолчанию 0.05) и определить метку для блока.

Нелинейные

relay

y = -1, если x < - Δx / 2
y = 1, если x > Δx / 2
y = 0, иначе
где: Δx - ширина зоны нечувствительности

Блок реле отслеживает величину входного сигнала на каждом шаге симуляции и в зависимости от заданной "зоны нечувствительности" устанавливает выход в одно из трех стабильных состояний. Зона нечувствительности у блока реле симметрична относительно нуля.

Щелчок другой кнопкой мыши по блоку вызывает диалоговое окно его свойств, в котором можно задать ширину зоны нечувствительности Δx (значение по умолчанию 0) и определить метку для блока.

Если Вам необходим компаратор, имеющий гистерезис, то его можно составить, охватив блок реле (с нулевой шириной зоны нечувствительности) положительной обратной связью. В канале ОС должен быть установлен любой мало инерционный элемент - например, блок регистрЗадержки, или насыщаемыйИнтегратор. Величина статического коэффициента передачи в канале ОС будет определять ширину петли гистерезиса.

Нелинейные

sampleHold

y [шаг] = y [шаг - 1], если | xb | < 1
y = x2, иначе

Блок УВХ (устройство выборки хранения) предназначен для запоминания на требуемый промежуток времени мгновенного значения входного сигнала. Логический вход блока, на который подается управляющий сигнал xb, работает по уровню. Если модуль управляющего сигнала больше или равен 1, то блок работает в режиме выборки (повторяет входной сигнал). Если модуль управляющего сигнала меньше 1, то блок работает в режиме хранения.

В математике подобная операция называется экстраполяцией нулевого порядка. В электронике микросхемы УВХ удерживают в неизменном виде выбранное мгновенное значение аналогового сигнала для обеспечения корректной работы большинства АЦП (аналогово-цифровых преобразователей).

Щелчок другой кнопкой мыши по блоку вызывает диалоговое окно его свойств, в котором можно установить начальное хранимое значение (по умолчанию равно 0) и определить метку для блока.


Оптимизация

constraint

Блок нулевойБаланс является датчиком для неявных решателей, задача которых - решение итерационными методами уравнений не содержащих производных (неявных уравнений). Блок используется в паре с блоком неизвестная. См. разделы: Решение неявных уравнений и Настройки неявного решателя.

Оптимизация

cost

Блок цена является датчиком для оптимизаторов, задача которых - автоматический подбор параметров системы в итерационном процессе повторных симуляций. Блок используется в паре с блоком ?-параметр. Обратите внимание - блок цена является только датчиком, а функцию цены Вы должны составить в соответствии с вашими нуждами. См. раздел: Выполнение глобальной оптимизации.

Оптимизация

globalConstraint

Блок глобальныйБаланс является дополнительным датчиком, который Вы можете использовать для создания связи с Вашим собственным оптимизатором, написанным на языке высокого уровня (Си++, Паскаль, Фортран, ... ), и откомпилированным в dll-библиотеку. См. раздел: Создание глобального оптимизатора пользователя.

Оптимизация

parameterUnknown

Блок ?-параметр  (неизвестный параметр) используется оптимизаторами для подстановки в блок-схему подбираемых ими в итерационном процессе повторных симуляций значений параметров системы, минимизирующих составленную Вами функцию цены. Блок используется в паре с блоком-датчиком цена. См. раздел: Выполнение глобальной оптимизации.

Оптимизация

unknown

Блок неизвестная используется неявными решателями для подстановки в блок-схему подбираемых ими в итерационном процессе значений неизвестных величин. Блок используется в паре с блоком нулевойБаланс. Те. цель применения этой пары - решение уравнений не содержащих производных (неявных уравнений). Условием возможности получения численного решения неявного уравнения является прямая или косвенная зависимость значения сигнала на входе блока (или блоков) нулевойБаланс от выходных значений всех введенных блоков неизвестная. См. разделы: Решение неявных уравнений и Настройки неявного решателя.


Генераторы шума

gaussian

Блок ГауссовШум генерирует псевдослучайный шумовой сигнал с нормальным распределением и задаваемыми параметрами. При повторении симуляции вся псевдослучайная последовательность повторяется, те. значения ее выборок для n-ого шага симуляции неизменны. Если Вы желаете сменить последовательность, то Вам необходимо произвольно изменить "Инициирующее число для Random-генератора", см. раздел: Установка предпочтений симуляции.

Диалоговое окно свойств блока 'ГауссовШум'

Строка ввода

Описание

Центр (Mean)

В этой строке ввода можно определить параметр нормального закона распределения - центр распределения (математическое ожидание). Значение по умолчанию 0

Стандартное отклонение (Standart Deviation)

В этой строке ввода можно определить параметр нормального закона распределения - среднеквадратическое отклонение (стандартное отклонение или разброс), который равен корню квадратному из дисперсии. Значение по умолчанию 1

Метка

В этой строке ввода можно определить текстовую метку для блока. В схемах электрических принципиальных метке подобны подписи типа "R1 1k2". Метка будет отображаться под блоком

 

Генераторы шума

uniform

Блок однородныйШум генерирует псевдослучайный шумовой сигнал с равномерным распределением выборок на интервале от 0 до 1. При повторении симуляции вся псевдослучайная последовательность повторяется, те. значения ее выборок для n-ого шага симуляции неизменны. Если Вы желаете сменить последовательность, то Вам необходимо произвольно изменить "Инициирующее число для Random-генератора", см. раздел: Установка предпочтений симуляции.

Щелчок другой кнопкой мыши по блоку вызывает диалоговое окно его свойств, в котором можно установить задержку начала синтеза последовательности (значение по умолчанию 0) и определить метку для блока.

Генераторы шума

PRBS

Блок бинарныйШум генерирует сигнал постоянной величины, знак которого меняется псевдослучайно, и с равной вероятностью. Генератор выполнен на основе регистра сдвига. Для синтезируемого сигнала можно задать амплитуду, период синтеза очередной выборки и длину регистра генератора (период повторения последовательности). При повторении симуляции регистр сдвига генератора обнуляется, и вся псевдослучайная последовательность не смещается (повторяется), те. знак ее выборок для n-ого шага симуляции неизменен.

Диалоговое окно свойств блока 'бинарныйШум'

Строка ввода

Описание

Длина регистра (Register Lenght)

В этой строке ввода можно определить количество разрядов в регистре сдвига, на котором построен генератор бинарного шума. Тем самым задается период повторения последовательности. Если N - это количество разрядов регистра, то псевдослучайная последовательность повторится через 2N-1 выборку. Значение по умолчанию - 6 (повтор через 63 выборки)

Амплитуда (Amplitude)

В этой строке ввода можно определить амплитуду импульсов последовательности. Значение по умолчанию 1

Период синхронизации (Sampling Interval)

В этой строке ввода можно определить период синтеза очередной выборки последовательности (период синхронизации регистра сдвига генератора). Значение по умолчанию - 0.05

Метка

В этой строке ввода можно определить текстовую метку для блока. В схемах электрических принципиальных метке подобны подписи типа "R1 1k2". Метка будет отображаться под блоком

Блок бинарныйШум часто используется для изучения влияния случайных воздействий на систему. Или же при решении задач идентификации систем, те при создании их математических моделей на основе измерительной информации.


Порты RT-плат

rt-DataIn

Блок rt-DataIn осуществляет чтение в блок-схему сигнала, поступающего из аппаратных средств сопряжения компьютера с внешними объектами. Настройка блока на порты конкретного аппаратного устройства осуществляется посредствам команды меню Файл > RT-Конфигурация. Вы должны активировать режим реального времени для процесса симуляции. Дополнительную информацию см. в книге: "VisSim/RT: Руководство пользователя".

Блоки rt-DataIn и rt-DataOut не доступны, если Вами не приобретено какое либо из расширений пакета VisSim: VisSim/Real-Time, VisSim/Real-TimePRO, или VisSim DACQ.

Порты RT-плат

rt-DataOut

Блок rt-DataOut осуществляет запись поступающего на его вход сигнала в аппаратные средства сопряжения компьютера с внешними объектами. Настройка блока на порты конкретного аппаратного устройства осуществляется посредствам команды меню Файл > RT-Конфигурация. Вы должны активировать режим реального времени для процесса симуляции. Дополнительную информацию см. в книге: "VisSim/RT: Руководство пользователя".

Блоки rt-DataIn и rt-DataOut не доступны, если Вами не приобретено какое либо из расширений пакета VisSim: VisSim/Real-Time, VisSim/Real-TimePRO, или VisSim DACQ.


Приборы и Датчики

display

Демонстрация основных возможностей блоков 'дисплей' и 'константа'

Блок дисплей отображает текущие значения входного сигнала, используя заданное Вами количество знакомест. Основные возможности блока демонстрируются на рисунке. При подключении блока к шинному проводнику дисплейная строка размножается автоматически согласно конфигурации шины. Имеются возможности цветового оформления блока. Данные визуализируются в асинхронном режиме (не для каждого шага), поэтому процесс симуляции не затормаживается.

Диалоговое окно свойств блока 'дисплей'

Строка ввода

Описание

Показания

Ввод числового значения в этой строке меняет текущие показания в дисплейной строке. Значение сигнала, к которому подключен блок, не изменяется. Эта операция бывает необходима при отладке для визуального контроля факта изменения сигнала в пошаговом режиме

Цифр в индикаторе

В этой строке ввода можно определить количество знакомест в дисплейной строке отводимых под мантиссу числа. Значение по умолчанию 6 или 15 знакомест, в зависимости от того, активирована ли опция "Большая дискретность у регуляторов" в диалоговом окне вызываемом командой меню Правка > Настройки

Экспоненциальный формат

Опция активирует выравнивание мантиссы относительно старшего знакоместа дисплейной строки, что приводит к более полному использованию знакомест. Однако размер блока увеличивается для отображения показателя степени после латинского символа 'e'. Например: 3,456e-6=3,456·10-6=0,000003456

Цвет (Элементы, Фон, Перекрыть цвет)

Активизация опции "Перекрыть цвет" позволяет выполнить одноименную операцию с помощью кнопок "Элементы" и "Фон" для индицируемых данных и фона дисплейной строки. При этом перекрываются те цвета, которые назначены по умолчанию посредствам команды меню Вид > Цвет

 

Приборы и Датчики

error

код_ошибки_симуляции = x

Блок ошибка осуществляет мониторинг входного сигнала, и, в случае если он не равен нулю, останавливает процесс симуляции, устанавливает флаг ошибки и раскрашивает блок, а так же содержащие его составные блоки красным цветом. Сбросить флаг ошибки можно щелчком другой кнопки мыши по блоку.

Приборы и Датчики

export

колонка_в_файле_данныхn [шаг] = xn

Блок экспорт осуществляет запись сигналов поступающих на его входы в файл. В соответствии с информационной сущностью данных можно выбрать одно из стандартных расширений файлов: .dat, .m, .mat, или .wav. Впоследствии, данные могут быть импортированы для обработки либо в VisSim, либо в другие программы - MatLab, Microsoft Excel и пр. См. раздел: Экспорт данных. Обзор.

Приборы и Датчики

histogram

Блок гистограмма визуализирует вероятностное распределение величины в течение симуляции. См. раздел: Гистограмма.

Приборы и Датчики

light

y = (красный), если x > ub
y
= (зеленый), если lbxub
y = (синий), если x < lb

Блок пробник (светодиодный) осуществляет постоянный мониторинг входного сигнала, отслеживая его нахождение в трех диапазонах, которые задаются двумя предельными значениями (уровнями) - верхним ub, и нижним lb. Текущее значение входного сигнала заставляет блок светиться: синим, зеленым или красным цветом. Цветовая сигнализация может быть заменена тремя графическими изображениями с соответствующим содержанием. Каждое состояние блока может сопровождаться звуковым сигналом или сообщением.

Верхний ub и нижний lb предельные уровни задаются в диалоговом окне свойств блока, и нет возможности динамически менять их значения. Блок обрабатывает только отдельные сигналы (нельзя подключить шинный проводник к входу).

Диалоговое окно 'Настройка светодиодного пробника'

Строка ввода

Описание

Тек. значение

Ввод числового значения в этой строке меняет текущие состояние светодиодного пробника. Значение сигнала, к которому подключен блок, не изменяется. Эта операция бывает необходима при отладке для контроля факта изменения сигнала в пошаговом режиме

Нижний уровень

В этой строке ввода можно определить нижний предельный уровень для значений входного сигнала. Значение по умолчанию 0

Верхний уровень

В этой строке ввода можно определить верхний предельный уровень для значений входного сигнала. Значение по умолчанию 0.5

Определить (Нижний / Между / Верхний)

Соответствующее позиционирование данного переключателя позволяет Вам определить каждое из трех состояний блока, используя подчиненную область диалогового окна "Ассоциации"

Изображение

Нажатие на эту кнопку вызывает открытие системного диалогового окна выбора файла с включенным bmp-фильтром для подключения изображения, которое соответствует данному диапазону входного сигнала. Ручной ввод пути к файлу и его имени в располагающуюся рядом строку является альтернативным способом подключения изображения. Обычно, нужно повторить операцию трижды, для каждого диапазона входного сигнала

Звук

Нажатие на эту кнопку вызывает открытие системного диалогового окна выбора файла с включенным wav-фильтром для подключения звуковой записи, которая соответствует данному диапазону входного сигнала. Ручной ввод пути к файлу и его имени в располагающуюся рядом строку является альтернативным способом подключения звуковой записи. Обычно, нужно повторить операцию трижды, для каждого диапазона входного сигнала

Озвучить

Нажатие на эту кнопку приводит к демонстрационному проигрыванию звуковой записи подключенной с помощью кнопки "Звук"

Цвет

Нажатие на эту кнопку вызывает открытие системного диалогового окна "Цвет". С его помощью, в предложенной палитре, Вы можете выбрать требуемый цвет светодиодного пробника для данного диапазона входного сигнала

Пищать если выше верхнего

Активация этой опции вынуждает светодиодный пробник подавать звуковой сигнал при достижении входным сигналом верхнего предельного уровня

 

Приборы и Датчики

meter

Блок прибор визуализирует величину входного сигнала, отображая ее с помощью стрелочного или шкального указателя. При добавлении входов блок отображаться как приборная панель.

Обратите внимание, блок прибор только визуализирует сигнал и не является моделью электромеханических преобразователей. Модели распространенных измерительных механизмов - например: магнитоэлектрического, электромагнитного или электродинамического - Вы можете легко составить самостоятельно.

См. раздел: Прибор.

Приборы и Датчики

plot

осциллограф = x1, …, x8

Блок осциллограф является универсальным прибором визуализации входных сигналов. См. раздел: Осциллограф.

Приборы и Датчики

stop

завершение симуляции с запретом авто-рестарта, если x > 2
завершение симуляции без запрета авто-рестарта, если x > 1
симуляция в номинальном режиме, иначе

Блок стоп в зависимости от величины входного сигнала завершает процесс симуляции и может запретить авто-рестарт. Таким образом, завершая текущую симуляцию досрочно (на основе анализа координат модели), Вы можете экономить свое время. Наибольший эффект от использования блока можно получить в случае, если Ваша модель требует серии повторных симуляций, те., если Вы активируете режим авто-рестарта.

Предопределенная переменная программы VisSim $runCount хранит номер текущей симуляции в режиме авто-рестарта и может быть использована для изменения параметров или переключения структуры Вашей блок-схемы.

Приборы и Датчики

stripChart

самописец = x1, …, x8

Блок самописец является универсальным прибором визуализации долго протекающих процессов. См. раздел: Самописец.