Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


2.4.7 Signal&Systems - блоки преобразования сигналов

и вспомогательные блоки

 

Мультиплексор (смеситель) Mux

Назначение:

Объединяет входные сигналы в вектор.

Параметры:

1.     Number of Inputs –  Количество входов.

2.     Display option –  Способ отображения. Выбирается из списка:

·  bar –  Вертикальный узкий прямоугольник черного цвета.

·  signals –  Прямоугольник с белым фоном и отображением меток входных сигналов.

·  none – Прямоугольник с белым фоном без отображения меток входных сигналов.

Входные сигналы блока могут быть скалярными и (или) векторными.

Если среди входных сигналов есть векторы, то количество входов можно задавать как вектор с указанием числа элементов каждого вектора. Например, выражение [2 3 1] определяет три входных сигнала, первый сигнал –  вектор из двух элементов, второй сигнал – вектор из трех элементов, и последний сигнал –  скаляр. В том случае, если размерность входного вектора не совпадает с указанной в параметре Number of Inputs, после начала расчета Simulink выдаст сообщение об ошибке. Размерность входного вектора можно задавать как -1 (минус один). В этом случае размерность входного вектора может быть любой.

Параметр Number of Inputs можно задавать также в виде списка меток сигналов, например: Vector1, Vector2, Scalar. В этом случае метки сигналов будут отображаться рядом с соответствующими соединительными линиями.

Сигналы, подаваемые на входы блока, должны быть одного типа (действительного или комплексного).

Примеры использования блока Mux показаны на рис. 2.64.

 

Рис. 2.64. Примеры использования блока Mux

 

 

Демультиплексор (разделитель) Demux

Назначение:

Разделяет входной векторный сигнал на отдельные составляющие.

Параметры:

1.     Number of Outputs –  Количество выходов.

2.     Bus Selection Mode (флажок) –  Режим разделения векторных сигналов.

Входным сигналом в обычном режиме является вектор, сформированный любым способом. Выходными сигналами являются скаляры или векторы, количество которых и размерность определяются параметром Number of Outputs и размерностью входного вектора.

Если количество выходов P (значение параметра Number of Outputs) равно размерности входного сигнала N, то блок выполняет разделение входного вектора на отдельные элементы.

Если количество выходов P меньше, чем размерность входного сигнала N, то размерность первых P-1 выходных сигналов равна отношению N/P, округленному до ближайшего большего числа, а размерность последнего выходного сигнала равна разности между размерностью входного сигнала и суммой размерностей первых P-1 выходов. Например, если размерность входного сигнала равна восьми, а количество выходов равно трем, то первые два выходных вектора будут иметь размерность ceil(8/3) = 3, а последний выходной вектор будет иметь размерность 8 - (3+3) = 2.

Параметр Number of Outputs может быть задан также с помощью вектора, определяющего размерность каждого выходного сигнала. Например, выражение [2 3 1] определяет три выходных сигнала, первый сигнал –  вектор из двух элементов, второй сигнал - вектор из трех элементов, и последний сигнал –  скаляр. Размерность можно также задавать как -1 (минус один). В этом случае размерность соответствующего выходного сигнала определяется как разность между размерностью входного вектора и суммой размерностей заданных выходных сигналов. Например, если размерность входного вектора равна шести, а параметр Number of Outputs задан выражением [1 -1 3], то второй выходной сигнал будет иметь размерность     6 - (3+1) = 2.

Примеры использования блока Demux показаны на рис. 2.65.

 

Рис. 2.65. Примеры использования блока Demux

 

 

В режиме Bus Selection Mode блок Demux работает не с отдельными элементами векторов, а с векторными сигналами в целом. Входной сигнал в этом режиме должен быть сформирован блоком Mux или другим блоком Demux. Параметр Number of Outputs в этом случае задается в виде скаляра, определяющего количество выходных сигналов, либо в виде вектора, каждый элемент которого определяет количество векторных сигналов в данном выходном сигнале. Например, при входном сигнале, состоящем из трех векторов, параметр Number of Outputs, заданный вектором [2 1], определит два выходных сигнала, первый из которых будет содержать два векторных сигнала, а второй –  один.

Примеры использования блока Demux в режиме Bus Selection Mode показаны на рис. 2.66.

Рис. 2.66. Примеры использования блока Demux в режиме Bus Selection Mode

 

Блок создания общей области памяти

 Data Store Memory

Назначение:

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

Параметры:

1.     Data store nаmе – Имя области памяти.

2.     Initial value –  Начальное значение.

3.     Interpret vector parameters as 1-D (флажок) – Интерпретировать вектор параметров данных как одномерный вектор.

Блок используется совместно с блоками Data Store Write (запись данных) и Data Store Read (считывание данных).

Параметр Initial value задает не только начальное значение сигнала, но и его размерность. Например, если начальное значение сигнала задано матрицей [0 1; 2 3], то сохраняемый сигнал должен быть матрицей 2´2.

Если блок Data Store Memory расположен в модели верхнего уровня, то заданную им область памяти можно использовать как в самой модели, так и во всех подсистемах нижнего уровня иерархии. Если блок Data Store Memory расположен в подсистеме, то заданную им область памяти можно использовать в данной подсистеме и во всех подсистемах нижнего уровня иерархии.

Блок работает с действительными сигналами типа double.

Пример использования блока Data Store Memory совместно с блоками Data Store Write и Data Store Read показан на рис. 2.67.

 

 

 

Блок записи данных в общую область памяти

 Data Store Write

Назначение:

Блок записывает данные в поименованную область памяти.

Параметры:

1.     Data store nаmе – Имя области памяти.

2.     Sample time – Шаг модельного времени.

Операция записи выполняется для значения сигнала, полученного на предыдущем шаге расчета.

В модели могут использоваться несколько блоков Data Store Write, выполняющих запись в одну область памяти. Однако, если запись производится на одном и том же шаге расчета, то результат будет не предсказуем.

Пример использования блока Data Store Write совместно с блоками Data Store Memory и Data Store Read показан на рис. 2.67.

 

 

 

Блок считывания данных из общей области памяти

 Data Store Read

Назначение:

Блок считывает данные из поименованной области памяти.

Параметры:

1.     Data store nаmе – Имя области памяти.

2.     Sample time – Шаг модельного времени.

Операция считывания выполняется на каждом шаге расчета.

В модели могут использоваться несколько блоков Data Store Read, выполняющих считывание данных из одной и той же области памяти. Пример использования блока Data Store Read совместно с блоками Data Store Memory и Data Store Write показан на рис. 2.67. В примере используется триггерная подсистема, выполняющая вычисления по переднему фронту управляющего сигнала. Таким образом, запись значений в общую область памяти происходит только в моменты изменения управляющего сигнала в положительном направлении. В остальные моменты времени значения данных в области памяти не изменяются.

 

Рис. 2.67. Использование блоков Data Store Memory, Data Store Write

и Data Store Read.

 

 



<< ПредыдущаяОглавлениеСледующая >>