Группы сигналов

Сведения о группах сигналов

Чтобы отображать, создавать и редактировать взаимозаменяемые группы источников сигналов и быстро переключать группы в модель и из нее, используйте блок Signal Builder. Можно задать любую кусочно-линейную форму сигнала (форму волны).

Примечание

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

Используйте группы сигналов при тестировании модели, особенно при использовании их в сочетании с Simulink® Assertion блок и инструмент model coverage из Simulink Coverage™.

Solver параметров настройки панели в Model Configuration Parameters могут повлиять на выход блока Signal Builder. Смотрите Фазы симуляции в динамических системах и Сравнить решатели для описания того, как решатели влияют на симуляцию.

Примечание

Блок Signal Builder добавляет порт для каждого сигнала, который вы создаете. Параметр Position блоков ограничивает количество портов, которые может иметь Signal Builder блок, и, следовательно, количество сигналов, которые вы можете создать. Для получения дополнительной информации смотрите параметр Position в Common Block Properties.

Вы также можете использовать signalbuilder функция для заполнения блока Signal Builder.

Поддерживаемые формы волны

Блок Signal Builder поддерживает эти формы сигналов.

Использование Signal Builder блока с быстрым перезапуском

После включения быстрого перезапуска:

  • В перерывах между запусками можно изменять данные, переименовывать сигналы и группы сигналов и добавлять новые группы. Вы не можете:

    • Импортируйте сигналы или группы сигналов

    • Измените настройки выходного сигнала

  • Вы можете нажать кнопку Run all один раз. Чтобы снова включить кнопку Run all, включите кнопку быстрого перезапуска на панели инструментов Редактор. Однако Run all не использует быстрый перезапуск.

Редактирование групп сигналов

Окно Signal Builder позволяет вам создавать, переименовывать, перемещать, затем удалять группы сигналов из набора групп, представленных блоком Signal Builder.

Создание и удаление групп сигналов

Чтобы создать группу сигналов:

  1. В Signal Builder скопируйте существующую группу сигналов.

  2. Измените его в соответствии с вашими потребностями.

Чтобы скопировать существующую группу сигналов:

  1. В Signal Builder выберите группу из списка.

  2. Выберите Group > Copy.

    Создается новая группа.

Чтобы удалить группу, выберите группу из списка и выберите Group > Delete.

Переименование групп сигналов

Для переименования группы сигналов:

  1. В Signal Builder выберите группу из списка.

  2. Выберите Group > Rename.

  3. Отредактируйте существующее имя в диалоговом окне или введите новое имя. Нажмите OK.

Группы движущихся сигналов

Для изменения положения группы в стеке групповых панелей:

  1. В Signal Builder выберите панель.

  2. Чтобы переместить группу ниже в стеке, выберите Group > Move Down.

  3. Чтобы переместить панель выше в стеке, выберите Group > Move Up.

Сигналы редактирования

Signal Builder позволяет вам создавать, вырезать и вставлять, скрывать и удалять сигналы из групп сигналов.

Создание сигналов

Чтобы создать сигнал в текущей выбранной группе сигналов:

  1. В Signal Builder в списке Active Group выберите группу, в которую требуется добавить сигнал.

  2. Выберите Signal > New.

    В меню перечислены формы сигналов, которые можно добавить.

    Форма волныОписаниеИсходные данныеВыход

    Постоянный

    Постоянная форма волныНичего

    Шаг

    Форма шагового сигналаНичего

    Пульс

    Импульсный сигналНичего

    Квадрат

    Квадратная форма волны
    • Frequency (Hz)

      Частота волны, в герцах

    • Amplitude

      Амплитуда формы волны

    • Y Offset

      Вертикальное смещение формы волны

    • % Duty cycle

      Процент периода положительного сигнала (значение от 0 до 100)

    Зуб пилы

    Форма волны пиломатериала
    • Frequency (Hz)

      Частота волны, в герцах

    • Amplitude

      Амплитуда формы волны

    • Y Offset

      Вертикальное смещение формы волны

    Дискретизированный Sin

    Дискретизированный сигнал синуса
    • Frequency (Hz)

      Частота волны, в герцах

    • Amplitude

      Амплитуда формы волны

    • Y Offset

      Вертикальное смещение формы волны

    • Samples Per Period

      Количество выборок за период формы волны

    Дискретизированный Гауссов шум

    Дискретизированная Гауссова шумовая форма на основе Гауссова распределения с входным средним и стандартным отклонением на входной частоте
    • Frequency (Hz)

      Частота волны, в герцах

    • Mean

      Среднее значение выхода случайных переменных

    • Standard Deviation

      Стандартное отклонение в квадрате случайных переменных выхода

    • Seed (empty to use current state)

      Начальное начальное значение для генератора случайных чисел

    Псевдослучайный шум

    Псевдослучайная шумовая форма волны, основанная на биномиальном распределении с верхними и более низкими значениями на входной частоте
    • Frequency (Hz)

      Частота, с которой форма волны колеблется между Upper value и Lower value, в герцах

    • Upper value

      Верхний предел сигнала

    • Lower value

      Нижний предел сигнала

    • Seed

      Начальное начальное значение для генератора случайных чисел

    Случайный шум Пуассона

    Сигнал случайного шума Пуассона, который чередуется между 0 и 1
    • Avg rate (1/sec)

      Средняя скорость перехода от 0 до 1

    • Seed (empty to use current state)

      Начальное начальное значение для генератора случайных чисел

    Обычай

    Пользовательская кусочно-линейная форма волны; пользовательские значения должны помещаться в области отображения
    • Time values

      Вектор двух или более временных координат

    • Y values

      Вектор двух или более амплитуд сигнала, которые соответствуют значениям в Time values

    Записи в любом поле могут быть любыми MATLAB® выражение, которое вычисляется в вектор, включая результаты оценки переменного Рабочего пространства MATLAB. Получившиеся векторы должны быть равной длины.

    Примечание

    Signal Builder отображает предупреждение, если вы добавляете пользовательскую форму волны с большим количеством точек данных (100 000 000 или более).

     
  3. Выберите форму волны, которую вы хотите добавить.

  4. Задайте входы (в приглашении) и нажатие кнопки OK.

Если вы выбираете стандартную форму волны, Signal Builder добавляет сигнал с этой формой волны в группу. При выборе пользовательской формы волны выводится запрос на Time values и Y values.

Можно также использовать переменные рабочего пространства MATLAB для создания новых сигналов.

  1. В Командном Окне MATLAB создайте данные для двух переменных, t и y.

    t = 1:10
    y = 1:10

    Эти векторы должны быть того же размера.

  2. Создайте модель и добавьте блок Signal Builder.

  3. Дважды кликните блок Signal Builder.

  4. Выберите Signal > New > Custom.

  5. В окне Custom Waveform введите t в поле Time values и y в поле Y values, а затем нажмите OK.

    В Блок Signal Builder окне новый сигнал отображается как Сигнал 2.

Определение выходного сигнала

Для определения типа выходов, используемых для отправки тестовых сигналов:

  1. В Signal Builder выберите Signal > Output.

  2. В списке выберите:

    • Ports

      По умолчанию. Отправляет отдельные сигналы от блока. Порт выхода с именем Signal N появляется для каждого Сигнального N.

    • Bus

      Отправляет одну, виртуальную, негиерархическую шину сигналов от блока. Появится выходной порт с именем Bus.

    Совет

    • Вы не можете использовать опцию Bus, чтобы создать шину невиртуальных сигналов.

    • Опция Bus позволяет вам изменить макет модели, не перенаправляя сигналы блоков Signal Builder. Используйте блок Bus Selector, чтобы выбрать сигналы от этой шины.

    • Если вы создаете блок Signal Builder с помощью Signal & Scope Manager или с помощью опции Create & Connect Generator из контекстного меню линии сигнала, вы не можете задать выход сигнала. В этих случаях блок отправляет отдельные сигналы.

Копирование и вставка сигналов

Чтобы скопировать сигнал из одной группы и вставить его в другую группу как новый сигнал:

  1. В Signal Builder выберите сигнал, который вы хотите скопировать.

  2. Выберите Edit > Copy.

  3. Выберите группу, в которую необходимо вставить сигнал.

  4. Выберите Edit > Paste.

Чтобы скопировать сигнал с одной оси и вставить его в другую ось, чтобы заменить его сигнал:

  1. Выберите сигнал, который вы хотите скопировать.

  2. Выберите Edit > Copy.

  3. Выберите сигнал на оси, которую вы хотите обновить.

  4. Выберите Edit > Paste.

Удаление сигналов

Чтобы удалить сигнал, в Signal Builder, выберите сигнал и выберите Delete или Cut из меню Edit. Signal Builder удаляет сигнал из текущей группы. Поскольку каждая группа сигналов должна содержать одинаковое количество сигналов, Signal Builder также удаляет все сигналы, разделяющие один и тот же индекс в других группах.

Переименование сигнала

Чтобы переименовать сигнал:

  1. В Signal Builder выберите Signal > Rename.

    Появится диалоговое окно с полем редактирования, в котором отображается текущее имя сигнала.

  2. Отредактируйте или замените текущее имя новым.

  3. Нажмите OK.

Вы также можете отредактировать имя сигнала в поле Name в левом нижнем углу окна Signal Builder.

Замена сигнала

Для замены сигнала:

  1. В Signal Builder выберите сигнал, затем выберите Signal > Replace with.

    Появится меню форм волны. Он включает набор стандартных форм волны (Константа, Шаг и так далее) и опцию Настраиваемая форма волны.

  2. Выберите одну из осей.

    Если вы выбираете стандартную форму волны, Signal Builder заменяет сигнал в текущей выбранной группе на этот сигнал. Для других форм волны в Signal Builder отображается диалоговое окно, позволяющее вам предоставить вход для запрашиваемой формы волны.

Форма волныОписаниеИсходные данные
ПостоянныйПостоянная форма волны.Ничего
ШагФорма шагового сигнала.Ничего
ПульсИмпульсный сигналНичего
КвадратКвадратная форма волны
  • Frequency (Hz)

    Частота волны, в герцах

  • Amplitude

    Амплитуда формы волны

  • Y Offset

    Вертикальное смещение формы волны

  • % Duty cycle

    Процент от периода, в котором сигнал положителен. Введите значение от 0 до 100.

Зуб пилыФорма волны пиломатериала
  • Frequency (Hz)

    Частота волны, в герцах

  • Amplitude

    Амплитуда формы волны

  • Y Offset

    Вертикальное смещение формы волны

Дискретизированный SinДискретизированный сигнал синуса
  • Frequency (Hz)

    Частота волны, в герцах

  • Amplitude

    Амплитуда формы волны

  • Y Offset

    Вертикальное смещение формы волны

  • Samples Per Period

    Количество выборок за период формы волны

Дискретизированный Гауссов шумДискретизированный сигнал Гауссова шума на основе Гауссова распределения с входным средним и стандартным отклонением на входной частоте.
  • Frequency (Hz)

    Частота волны, в герцах

  • Mean

    Среднее значение выхода случайных переменных

  • Standard Deviation

    Стандартное отклонение в квадрате случайных переменных выхода

  • Seed (empty to use current state)

    Начальное начальное значение для генератора случайных чисел

Псевдослучайный шумПсевдослучайная шумовая форма волны, основанная на биномиальном распределении с верхними и более низкими значениями на входной частоте.
  • Frequency (Hz)

    Частота, с которой форма волны колеблется между Upper value и Lower value, в герцах

  • Upper value

    Верхний предел сигнала

  • Lower value

    Нижний предел сигнала

  • Seed

    Начальное начальное значение для генератора случайных чисел

Случайный шум ПуассонаСигнал случайного шума Пуассона, который чередуется между 0 и 1
  • Avg rate (1/sec)

    Средняя скорость перехода от 0 до 1

  • Seed (empty to use current state)

    Начальное начальное значение для генератора случайных чисел

ОбычайПользовательская кусочно-линейная форма волны. Пользовательские значения должны помещаться в области отображения.
  • Time values

    Вектор двух или более временных координат

  • Y values

    Вектор двух или более амплитуд сигнала, которые соответствуют значениям в Time values

Записи в любом поле могут быть любым выражением MATLAB, которое вычисляется как вектор. Получившиеся векторы должны быть равной длины.

Примечание

Signal Builder возвращает предупреждение, если вы добавляете пользовательскую форму сигнала с большим количеством точек данных (100 000 000 или более). Затем можно отменить действие.

Вы также можете отредактировать имя сигнала в поле Name в левом нижнем углу окна Signal Builder.

Изменение индекса сигнала

Для изменения индекса сигнала:

  1. В Signal Builder выберите сигнал, затем выберите Signal > Change Index.

    Появится диалоговое окно с полем раскрывающегося списка, содержащим существующий индекс сигнала.

  2. В раскрывающемся списке выберите другой индекс и выберите OK. Или выберите индекс из списка Index в левом нижнем углу окна Signal Builder.

Скрытие сигналов

По умолчанию в окне Signal Builder отображаются формы сигналов группы на панели группы. Чтобы скрыть форму волны:

  1. В Signal Builder выберите форму волны, затем выберите Signal > Hide.

  2. Чтобы повторно отобразить скрытую форму волны, выберите панель «Группа», затем выберите Signal > Show.

  3. Выберите сигнал из списка. Также можно скрыть и повторно отобразить скрытую форму волны, дважды щелкнув ее имя в списке сигналов Signal Builder.

Создание наборов групп сигналов вручную

В этом разделе описывается, как создать наборы групп сигналов вручную. Если у вас есть файлы данных о сигнале, такие как файлы из тестов, рассмотрите импорт этих данных, как описано в Importing Signal Group Sets.

Для создания взаимозаменяемого набора групп сигналов:

  1. Перетащите образец блока Signal Builder из библиотеки Simulink Sources в модель.

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

  2. Используйте редактор сигналов блоков, чтобы создать дополнительные группы сигналов, добавить сигналы к группам сигналов, изменить существующие сигналы и группы сигналов и выбрать группу сигналов, которую выводит блок.

    Примечание

    Каждая группа сигналов должна содержать одинаковое количество сигналов.

  3. Соедините выход блока с вашей схемой.

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

Можно создать сколько угодно блоков Signal Builder в модели, каждый из которых представляет отдельный набор взаимозаменяемых групп источников сигналов. Когда группа имеет несколько сигналов, сигналы могут иметь разное время окончания. Однако Signal Builder блок требует, чтобы время окончания сигналов в группе совпадало. Если происходит несоответствие, Signal Builder блок совпадает со временем окончания, удерживая последнее значение сигнала с меньшим временем окончания.

Смотрите Симуляцию с группами сигналов для получения информации об использовании групп сигналов в модели.

Импорт наборов групп сигналов

Темы этого раздела описывают, как импортировать данные сигнала в блок Signal Builder. У вас уже должен быть файл сигнальных данных, содержимое которого вы хотите импортировать. Для примера у вас могут быть данные о сигнале от ранее запущенных тестов. Описание форматов данных, которые принимает блок Signal Builder, см. в разделе Импорт групп сигналов из существующих наборов данных. Процедуры в следующих разделах используют файл 3Grp_3Sig.xls в папке matlabroot\ help\toolbox\simulink\примеры (откройте).

Signal Builder принимает сигналы только типа double.

Если вы импортируете Simulink.SimulationData.Dataset Данные set, блок импортирует его как собственную группу.

Импорт групп сигналов из существующих наборов данных

У вас могут быть существующие наборы сигнальных данных, которые вы хотите ввести в блок Signal Builder. Команда File > Import from File в окне Signal Builder запускает диалоговое окно Импорт Файла. Это диалоговое окно является модальным, что означает, что особое внимание не может измениться на другое окно MATLAB во время работы диалогового окна. Если вы хотите увидеть изменения в окне Signal Builder после импорта данных, выполните одно из следующих действий:

  • Закройте диалоговое окно «Импорт файла».

  • Настройте диалоговое окно Импорт Файла и окно Signal Builder один за другим.

Примечание

Вы не можете отменить результаты импорта файла данных о сигнале. В сложение вы не можете отменить последнее действие, выполненное перед открытием диалогового окна Импорта файла. Когда вы закрываете диалоговое окно Импорта файла, кнопки Undo last edit и Redo last edit в окне Signal Builder становятся серыми. Эти кнопки имеют серый цвет независимо от того, импортировали ли вы файл данных.

Диалоговое окно Импорт Файла принимает следующие форматированные типы файлов:

  • Microsoft® Excel® (.xls, .xlsx)

  • Разделенные запятыми значением (CSV) текстовые файлы (.csv)

  • MAT-файлы (.mat)

Совет

Чтобы импортировать данные о сигнале из электронной таблицы Microsoft Excel, рассмотрите использование блока From Spreadsheet. Блок From Spreadsheet постепенно загружает данные из электронной таблицы во время симуляции. Если вы используете From Spreadsheet блок, вам не нужно ничего делать, чтобы обработать изменения в значениях листов.

Примечание

Блок Signal Builder использует xlsread функция. См. xlsread документация для получения информации о поддерживаемых платформах.

Импортировать файл набора данных можно только в том случае, если он соответствующим образом отформатирован.

Для электронных таблиц Microsoft Excel:

  • Блок Signal Builder интерпретирует первую строку как имя сигнала. Если вы не задаете имя сигнала, блок Signal Builder присваивает имя по умолчанию с Imported_Signal формата #, где # Шаги с каждым дополнительным неназванным сигналом.

  • Блок Signal Builder интерпретирует первый столбец как время. В этом столбце значения времени должны увеличиться.

  • Блок Signal Builder интерпретирует оставшиеся столбцы как сигналы.

  • Если существует несколько листов:

    • Каждый лист должен иметь одинаковое количество сигналов (столбцов).

    • Каждый лист должен иметь одинаковые имена сигналов (при наличии).

    • Каждый столбец на каждом листе должен иметь одинаковое число строк.

  • Блок Signal Builder интерпретирует каждый лист как группу сигналов.

Этот пример содержит электронную таблицу Microsoft Excel приемлемого формата. Он имеет три листа с именами Group1, Group2 и Group3, представляющих три сигнальные группы.

Для текстовых файлов CSV:

  • Каждый файл содержит только цифры. Не называйте сигналы в файле CSV.

  • Блок Signal Builder интерпретирует первый столбец как время. В этом столбце значения времени должны увеличиться.

  • Блок Signal Builder интерпретирует оставшиеся столбцы как сигналы.

  • Каждый столбец должен иметь одинаковое количество записей.

  • Блок Signal Builder интерпретирует каждый файл как одну группу сигналов.

  • Блок Signal Builder присваивает имя сигнала по умолчанию каждому сигналу с Imported_Signal формата #, где # шаги с каждым дополнительным сигналом.

Этот пример содержит файл CSV приемлемого формата. Содержимое представляет одну сигнальную группу.

0,0,0,5,0
1,0,1,5,0
2,0,1,5,0
3,0,1,5,0
4,5,1,5,0
5,5,1,5,0
6,5,1,5,0
7,0,1,5,0
8,0,1,5,1
9,0,1,5,1
10,0,1,5,0

Для MAT-файлов:

  • Блок Signal Builder поддерживает ведение журнала хранилища данных, который Simulink.SimulationData.Dataset объект представляет и интерпретирует эти данные как одну группу.

  • Блок Signal Builder поддерживает выход Simulink, сохраненный как структура со временем.

  • Блок Signal Builder поддерживает формат данных Signal Builder. Этот формат представляет собой группу массивов ячеек, которые необходимо пометить.

  • Блок Signal Builder не поддерживает:

    • Выход Simulink только как структуры

    • Выход Simulink только как массив

Примечание

Signal Builder возвращает предупреждение, если вы импортируете большое количество точек данных (100 000 000 или больше). Затем можно отменить действие.

Этот пример содержит допустимо записанное рабочее пространство MATLAB. Используйте команду Save рабочего пространства MATLAB, чтобы сохранить переменные в MAT-файле. Импортируйте этот файл в блок Signal Builder.

Замена всех данных сигнала выбранными данными

Программа Simulink создает блок Signal Builder по умолчанию с одним сигналом. Чтобы заменить этот сигнал и все другие данные о сигнале, которые может отобразить блок:

  1. Создайте модель и перетащите блок Signal Builder в эту модель.

  2. Дважды кликните блок.

    Окно Signal Builder появляется с его Сигналом 1 по умолчанию.

  3. В Signal Builder выберите File > Import from File.

    Откроется диалоговое окно Импорт файла (Import File).

  4. В поле File to Import введите имя файла данных сигнала или нажмите Browse.

    Появится браузер файлов.

  5. Если вы выбираете браузер файлов, перейдите к и выберите файл данных о сигнале. Для примера выберите 3Grp_3Sig.xls.

    Примечание

    При попытке импортировать неправильно отформатированный файл данных появляется сообщение об ошибке. При щелчке, чтобы закрыть это окно, на панели Status History появится более подробное сообщение об ошибке (если она есть). Для примера:

    Панель Data to Import содержит сигнальные данные из файла. Щелкните на расширителе, чтобы отобразить все сигналы.

  6. Выберите сигналы, которые вы хотите импортировать. Чтобы импортировать все сигналы, нажмите Select All.

  7. Из списка Placement for Selected Data выберите действие, которое требуется принять для данных сигнала. Для примера выберите Replace existing dataset.

    Кнопка Confirm Selection активирована. Проверьте выбор сигнала, прежде чем блок Signal Builder выполнит указанное действие. Если выбор данных сигнала не подходит, Confirm Selection остается серым. Например, Confirm Selection остается серым, если количество выбранных сигналов не совпадает с количеством сигналов в группе Signal Builder, которые вы хотите заменить.

  8. Нажмите кнопку Confirm Selection.

    Если запрошенное действие является действительным, на панели История состояния отображаются сообщения о состоянии. Для примера:

    Подтверждение также включает кнопки OK и Apply.

  9. Если вы удовлетворены сообщением о состоянии, нажмите кнопку Apply, чтобы заменить существующие данные о сигнале содержимым этого файла.

    При выборе Replace existing datasetпрограммное обеспечение предоставляет вам возможность сохранить существующее содержимое блока Signal Builder.

  10. Нажмите кнопку следующим образом:

    Кому...Нажмите...

    Сохраните содержимое блока Signal Builder перед заменой его новыми данными о сигнале.

    Примечание

    Этот выбор предлагает вам сохранить блок Signal Builder в имени модели по вашему выбору. Программа сохраняет только блок Signal Builder и никакое другое содержимое модели.

    Yes, save as
    Замените содержимое блока Signal Builder, не сохраняя их в первую очередь.No, import without saving
    Остановите процесс замены.Cancel

    В данном примере выберите No, import without saving, чтобы заменить содержимое блока Signal Builder.

  11. Блок Signal Builder обновляется новыми данными о сигнале. Щелкните OK, чтобы закрыть диалоговое окно Импорта файла и просмотреть блок Signal Builder.

  12. Нажмите OK.

  13. Смотрите обновленное окно Signal Builder, чтобы подтвердить, что данные о вашем сигнале целы.

  14. Закройте окно Signal Builder и сохраните и закройте модель. Для примера сохраните модель как signalbuilder1.

Добавление выбранных сигналов ко всем существующим группам сигналов

Можно импортировать сигналы из файла данных о сигнале и добавить выбранные сигналы в конец всех существующих групп сигналов. Если имена сигналов, которые будут добавлены, не уникальны, программа переименовывает их, увеличивая каждое имя на 1 или выше, пока это не будет уникальное имя сигнала. Например, если блок и файл данных содержат сигналы с именем thermostatпрограммное обеспечение переименовывает импортированный сигнал в thermostat1 при добавлении. Если вы добавляете другой сигнал с именем thermostat, имена программ, которые последняя версия thermostat2.

В этой теме используются signalbuilder1 из процедуры в Замена Всех Сигнальных Данных на Выбранные Данные.

  1. В Командном Окне MATLAB введите signalbuilder1.

  2. Дважды кликните блок Signal Builder.

    Появится окно Signal Builder.

  3. В окне Signal Builder выберите File > Import from File.

    Откроется диалоговое окно Импорт файла (Import File).

  4. В поле File to Import введите имя файла данных сигнала или нажмите Browse.

    Отображается браузер файлов.

  5. Если вы выбираете браузер файлов, перейдите к и выберите файл данных о сигнале. Для примера выберите 3Grp_3Sig.xls.

    Примечание

    Если вы пытаетесь импортировать неправильно отформатированный файл данных о сигнале, появляется сообщение об ошибке. При щелчке, чтобы закрыть это окно, на панели Status History появится сообщение об ошибке. Для примера:

    Панель Data to Import содержит сигнальные данные из файла. Щелкните на расширителе, чтобы отобразить все сигналы.

  6. Выберите сигналы, которые вы хотите импортировать. В этом примере существует три группы, myGroup1, myGroupB и myGroup_Three. Выберите все сигналы в myGroup1.

  7. Из списка Placement for Selected Data выберите действие, которое требуется принять для данных сигнала. Для примера выберите Append selected signals to all groups.

    Кнопка Confirm Selection активирована. Проверьте выбор сигнала, прежде чем блок Signal Builder выполнит указанное действие. Если выбор данных сигнала не подходит, Confirm Selection остается серым. Например, Confirm Selection остается серым, если количество выбранных сигналов не совпадает с количеством сигналов в группе Signal Builder, которые вы хотите заменить.

  8. Нажмите кнопку Confirm Selection.

    Если запрошенное действие является действительным, на панели «История состояния» отображаются сообщения о состоянии. Для примера:

    Подтверждение также включает кнопки OK и Apply.

    Следите за Before и After заголовками сигналов. В этих разделах указываются имена блоков и импортированных сигналов данных до и после действия добавления.

  9. Если вы удовлетворены сообщением о состоянии, нажмите кнопку Apply, чтобы добавить выбранные сигналы ко всем группам сигналов в блоке Signal Builder.

  10. Блок Signal Builder обновляется новыми данными о сигнале. Щелкните OK, чтобы закрыть диалоговое окно Импорта файла и просмотреть блок Signal Builder.

  11. Нажмите OK.

  12. Смотрите обновленное окно Signal Builder, чтобы подтвердить, что данные о вашем сигнале целы. Заметьте, что программа переименовала Sig1, Sig2 и Sig3 сигналов из файла данных о сигнале в Sig4, Sig5 и Sig6 в блоке Signal Builder.

  13. Закройте окно Signal Builder и сохраните и закройте модель. Для примера сохраните модель как signalbuilder2.

Добавление выбранных сигналов к последовательным существующим группам сигналов

Можно добавить сигналы в том порядке, в котором они выбраны, к концу последовательных групп сигналов. Этот оператор означает, что вы выбираете то же количество сигналов, что и группы сигналов, и последовательно добавляете каждый сигнал к другой группе. Программа переименовывает каждый добавленный сигнал в имя последнего добавленного сигнала.

В этой теме используются signalbuilder1 из процедуры в Замена Всех Сигнальных Данных на Выбранные Данные.

  1. В Командном Окне MATLAB введите signalbuilder1.

  2. Дважды кликните блок Signal Builder.

  3. Обратите внимание, сколько групп существует в блоке Signal Builder. Для примера этот блок Signal Builder имеет три группы, myGroup1, myGroupB и myGroup_Three.

  4. В окне Signal Builder выберите File > Import from File.

  5. В поле File to Import введите имя файла данных сигнала или нажмите Browse.

  6. Если вы выбираете браузер файлов, перейдите к и выберите файл данных о сигнале. Для примера выберите 3Grp_3Sig.xls.

    Примечание

    При попытке импортировать неправильно отформатированный файл данных о сигнале появляется всплывающее окно сообщения об ошибке. При щелчке, чтобы закрыть это окно, на панели Status History появится сообщение об ошибке. Для примера:

    Панель Data to Import содержит сигнальные данные из файла. Щелкните на расширителе, чтобы отобразить все сигналы.

  7. Выберите сигналы, которые вы хотите импортировать. В этом примере существует три группы, myGroup1, myGroupB и myGroup_Three. Выберите все сигналы в myGroup1.

  8. Из списка Placement for Selected Data выберите действие, которое требуется принять для данных сигнала. Для примера выберите Append selected signals to different groups (in order).

    Кнопка Confirm Selection активирована. Проверьте выбор сигнала, прежде чем блок Signal Builder выполнит указанное действие.

  9. Нажмите кнопку Confirm Selection.

    Если запрошенное действие является действительным, на панели «История состояния» отображаются сообщения о состоянии. Для примера:

    Подтверждение также включает кнопки OK и Apply.

  10. Если вы удовлетворены сообщением о состоянии, нажмите Apply, чтобы добавить сигналы.

    Блок Signal Builder обновляется новыми данными о сигнале. Щелкните OK, чтобы закрыть диалоговое окно Импорта файла и просмотреть три группы блока Signal Builder.

    Самая верхняя группа сигналов, myGroup1, показывает все сигналы по умолчанию, включая новую Sig4.

  11. Щелкните другое имя группы, например, myGroupB. Заметьте, что Sig4 существует для группы, скрытая по умолчанию.

  12. Чтобы отобразить Sig4 на этой панели, дважды щелкните значок Sig4 в области Состояние выбора (Selection Status) на панели. График обновляется, чтобы отразить Sig4.

  13. Закройте окно Signal Builder и сохраните и закройте модель. Для примера сохраните модель как signalbuilder3.

Добавление групп сигналов к существующим группам

Можно добавить одну или несколько групп сигналов в конец списка существующих групп сигналов. Если блок уже имеет группу сигналов с таким же именем, как и добавляемая, программа увеличивает имя группы на 1 или выше, пока оно не станет уникальным перед добавлением. Например, если блок и файл данных содержат группы с именем MyGroup1, программа переименовывает импортированную группу в MyGroup2 при добавлении. Если вы добавляете другую группу с именем MyGroup1, имена программ, которые последняя версия MyGroup3.

В этой теме используются signalbuilder1 из процедуры в Замена Всех Сигнальных Данных на Выбранные Данные.

  1. В Командном Окне MATLAB введите signalbuilder1.

  2. Дважды кликните блок Signal Builder.

    Появится окно Signal Builder.

  3. Обратите внимание, сколько групп существует в блоке Signal Builder и сколько сигналов существует в каждой группе. Блок Signal Builder требует, чтобы все группы имели одинаковое количество сигналов. Для примера этот блок Signal Builder имеет три группы, myGroup1, myGroupB и myGroup_Three. В каждой группе существует три сигнала.

  4. Дважды кликните блок.

  5. В File to Import текстовом поле введите имя файла данных сигнала или нажмите Browse.

  6. Если вы выбираете браузер файлов, перейдите к и выберите файл данных о сигнале. Для примера выберите 3Grp_3Sig.xls.

    Панель Data to Import содержит сигнальные данные из файла. Щелкните на расширителе, чтобы отобразить все сигналы.

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

  8. Выберите группу, которую необходимо импортировать. В этом примере существует три группы, myGroup1, myGroupB и myGroup_Three. Выберите myGroupB.

  9. Из списка Placement for Selected Data выберите действие, которое требуется принять для группы сигналов. Для примера выберите Append groups.

    Кнопка Confirm Selection активирована. Проверьте выбор сигнала, прежде чем блок Signal Builder выполнит указанное действие.

  10. Нажмите кнопку Confirm Selection.

    Если запрошенное действие является действительным, на панели «История состояния» отображаются сообщения о состоянии. Для примера:

    Подтверждение также включает кнопки OK и Apply.

  11. Если вы удовлетворены сообщением о состоянии, нажмите Apply, чтобы добавить сигналы.

    Блок Signal Builder обновляется новыми данными о сигнале. Щелкните OK, чтобы закрыть диалоговое окно Импорта файла и просмотреть группы блока Signal Builder.

    Заметьте сложение новой группы сигналов в качестве последней панели. Поскольку группа сигналов с именем myGroupB уже существует, программа автоматически увеличивает имя новой группы сигналов на 1. Выберите myGroupB.

  12. Закройте окно Signal Builder и сохраните и закройте модель. Для примера сохраните модель как signalbuilder4.

Добавление сигналов с таким же именем к существующим группам сигналов

Если вы добавляете сигнал, имя которого совпадает с именем сигнала, который существует в блоке Signal Builder, программа увеличивает имя добавленного сигнала на 1. Программа повторяет шаг, пока имя добавленного сигнала не станет уникальным. Для примера:

  1. Предположим, что ваш блок Signal Builder имеет группу сигналов, myGroup1с Sig1, Sig2 и Sig3 сигналов.

  2. Добавьте сигнал с именем Sig1 к myGroup1.

  3. Заметьте, что программное обеспечение увеличивает Sig1 до Sig4, прежде чем добавлять его к myGroup1.

Добавление группы сигналов с различными именами сигналов

Если вы добавляете группу сигналов, имена которых отличаются от имен, существующих в блоке Signal Builder, программное обеспечение изменяет имена существующих сигналов так же, как и добавленные сигналы. Для примера,

  1. Предположим, что ваш блок Signal Builder имеет группу сигналов, myGroup1с Sig1, Sig2 и Sig3 сигналов.

  2. Добавьте группу сигналов с именем myGroup2 имена сигналов SigA, SigB и SigC.

  3. Заметьте, что программное обеспечение:

    • Приложения myGroup2.

    • Переименовывает сигналы в myGroup1 быть таким же, как в myGroup2.

Импорт данных в пользовательские форматы

В этом разделе описывается, как импортировать данные сигнала, форматированные в пользовательском формате. У вас уже должны быть данные сигнала из файла, содержимое которого вы хотите импортировать. Описание форматов данных, которые принимает блок Signal Builder, см. в разделе Импорт групп сигналов из существующих наборов данных. Если ваши данные не форматированы с помощью одного из этих форматов данных, используйте следующий рабочий процесс для импорта пользовательских форматированных данных. Этот рабочий процесс использует следующие файлы, расположенные в папке matlabroot\ help\toolbox\simulink\примеры (open), в качестве примеров:

  • SigBldCustomFile.xls - Сигнальные данные Файл Microsoft Excel с использованием формата, который не принимает блок Signal Builder, например:

  • createSignalBuilderSupportedFormat.m - Пользовательская функция MATLAB, которая использует xlsread для чтения электронных таблиц Microsoft Excel. Эта функция , взятая в качестве примера, переформатирует пользовательские данные в формате, который поддерживает блок Signal Builder, следующим образом:

    • grpNames - Массив ячеек, который содержит векторы символов с именем группы с количеством строк = 1, количеством столбцов = количеством групп.

    • sigNames - Массив ячеек, который содержит векторы символов с именем сигнала с количеством строк = 1, столбцы = количество сигналов.

    • time - Массив ячеек, который содержит временные данные с количеством строк = количество сигналов, столбцы = количество групп.

    • data - Массив ячеек, который содержит сигнальные данные с количеством строк = количество сигналов, столбцы = количество групп.

    Signal Builder имеет следующие требования к этой пользовательской функции:

    • Количество сигналов в каждой группе должно быть одинаковым.

    • Имена сигналов в каждой группе должны быть одинаковыми.

    • Количество точек данных в каждом сигнале должно быть одинаковым.

    • Каждый элемент в time и data массива ячеек содержит матрицу вещественных чисел. Эта матрица может быть [1x N] или [N x1], где N количество точек данных в каждом сигнале.

  1. Идентифицируйте формат ваших пользовательских данных сигнала, например:

    SigBldCustomFile.xls
  2. Создайте пользовательскую функцию MATLAB, которая:

    1. Использует функцию ввода-вывода MATLAB, такую как xlsread, чтобы считать пользовательские данные форматированного сигнала. Для примера, createSignalBuilderSupportedFormat.m.

    2. Форматирует пользовательские форматированные данные сигнала к данным, которые принимает блок Signal Builder, например, MAT-файл.

  3. Используйте пользовательскую функцию MATLAB, чтобы записать пользовательские форматированные сигнальные данные в файл, который принимает блок Signal Builder. Для примера:

    createSignalBuilderSupportedFormat('SigBldCustomFile.xls', 'OutputData.mat')
  4. Импортируйте переформатированный файл данных о сигнале, OutputData.mat, в блок Signal Builder (см. «Импорт наборов групп сигналов»).

Редактирование формы волны

Signal Builder позволяет вам изменять форму, цвет, а также стиль линии и толщину сигналов, выводимых группой.

Изменение формы волны

Signal Builder позволяет изменять форму волны путем выбора и перетаскивания ее линии сегментов и точек с помощью клавиш мыши или стрелой или путем редактирования координат сегментов или точек.

Выбор формы волны

Чтобы выбрать форму волны, щелкните левой кнопкой мыши на любой точке формы волны.

Signal Builder отображает точки формы волны, чтобы указать, что форма волны выбрана.

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

Работа с точками

Можно работать с точками в форме волны:

  • Чтобы выбрать точку в форме волны, сначала выберите форму волны. Затем наведите курсор мыши на точку. Курсор изменяет форму, указывая, что он находится над точкой.

    Щелкните левой кнопкой мыши точку. Signal Builder рисует круг вокруг точки, чтобы указать ваш выбор.

  • Чтобы вставить точку, выберите форму волны и Shift+ щелкните сечение точки.

  • Чтобы отменить выбор точки, нажмите клавишу Esc.

  • Чтобы удалить точку, выберите точку и нажмите клавиши Backspace или Delete.

  • Для редактирования точки с signalbuilder function, использовать signalbuilder set функция для замены формы волны. Вы не можете программно удалить точку.

Выбор сегментов

Чтобы выбрать сегмент линии, сначала выберите содержащую его форму волны. Затем щелкните сегмент слева. Signal Builder утолщает сегмент, указывая, что он выбран.

Чтобы отменить выбор сегмента, нажмите клавишу Esc.

Движущиеся Формы Волны

Чтобы переместить форму волны, выберите ее и используйте клавиши со стрелами на клавиатуре, чтобы переместить форму волны в нужном направлении. Каждый ключевой штрих перемещает форму волны в следующее место на сетке привязки (см. Привязка сетки) или по 0.1 дюймы, если сетка привязки не включена.

Перетаскивание сегментов

Чтобы перетащить сегмент линии в новое место, наведите курсор мыши на сегмент линии. Курсор мыши изменяет форму, показывая направление, в котором можно перетащить сегмент.

Нажмите левую кнопку мыши и перетащите сегмент в нужное место. Можно также использовать клавиши стрелы на клавиатуре, чтобы переместить выбранный сегмент линии.

Перетаскивание точек

Чтобы перетащить точку вдоль оси амплитуды (вертикали) сигнала, наведите курсор мыши на точку. Курсор меняет форму на окружность, указывая, что можно перетащить точку. Перетащите точку параллельно оси Y в нужное место. Чтобы перетащить точку вдоль временной (горизонтальной) оси, нажмите клавишу Shift во время перетаскивания точки. Для перемещения выбранной точки можно также использовать клавиши со стрелами на клавиатуре.

Привязка сетки

Каждая ось формы волны содержит невидимую сетку привязки, которая облегчает точное позиционирование точек формы волны. Источник сетки привязки совпадает с источником оси формы волны. При перетаскивании точки или сегмента, которые вы перетаскивали, Signal Builder перемещает точку или точки сегмента к ближайшей точке или точкам сетки, соответственно. Меню Axes Signal Builder позволяет вам задавать горизонтальную (временную) ось сетки и интервалы между вертикальными (амплитудными) осями независимо. Чем тонче интервал, тем больше у вас свободы в размещении точек, но тем сложнее точно позиционировать точки. По умолчанию интервал между сетками равен 0, что означает, что можно разместить точки в любом месте сетки; т.е. сетка эффективно отключена. Используйте меню Axes, чтобы выбрать интервал, который вы предпочитаете.

Вставка и удаление точек

Чтобы вставить точку, сначала выберите форму волны. Затем удерживайте нажатой клавишу Shift и щелкните левой кнопкой мыши форму волны в точке, в которую необходимо вставить точку. Чтобы удалить точку, выберите точку и нажмите клавишу Del.

Редактирование координат точек

Чтобы изменить координаты точки, сначала выберите точку. Signal Builder отображает текущие координаты точки в Left Point полях редактирования в нижней части окна Signal Builder. Чтобы изменить амплитуду выбранной точки, отредактируйте или замените значение в поле Y новым значением и нажмите Enter. Signal Builder перемещает точку в новое место. Аналогично отредактируйте значение в поле T, чтобы изменить время выбранной точки.

Редактирование координат сегмента

Чтобы изменить координаты сегмента, сначала выберите сегмент. Signal Builder отображает текущие координаты конечных точек сегмента в Left Point и Right Point полях редактирования в нижней части окна Signal Builder. Чтобы изменить координату, отредактируйте значение в соответствующем поле редактирования и нажмите Enter.

Изменение цвета формы волны

Чтобы изменить цвет формы волны, выберите форму волны и затем выберите Color из меню Signal Signal Builder. В Signal Builder отображается выбор цвета MATLAB. Выберите новый цвет для формы волны. Нажмите OK.

Изменение стиля и толщины линии формы волны

Signal Builder может отображать форму волны как сплошную, штриховую или пунктирную линию. По умолчанию используется сплошная линия. Чтобы изменить стиль линии формы волны, выберите форму волны, затем выберите Line Style в меню Signal Builder Signal. Выберите стиль линии из меню.

Чтобы изменить толщину линии формы волны, выберите форму волны, а затем выберите Line Width в меню Signal. Отредактируйте значение толщины и нажмите кнопку OK.

Временная область значений Signal Builder

Временная область значений Signal Builder определяет промежуток времени, в течение которого его выход явно задан. По умолчанию временная область значений составляет от 0 до 10 секунд. Можно изменить как начальное, так и конечное время блочной временной области значений (см. Изменение временной области значений Signal Builder).

Если симуляция начинается перед временем начала блочной временной области значений, блок экстраполирует свой начальный выход из первых двух заданных выходов. Если моделирование выходит за пределы временной области значений блоков, блок по умолчанию выводит значения, экстраполированные из последних определенных значений сигналов для оставшейся части симуляции. Диалоговое окно Signal Builder Симуляции Options позволяет вам задать другие окончательные опции выхода (для получения дополнительной информации см. Значения сигналов после последнего времени).

Примечание

Когда вы нажимаете кнопку Start simulation на панели инструментов блока Signal Builder, в симуляции используется время остановки модели. Конец временной области значений, заданного в форме волны, не является временем остановки для модели.

Изменение временной области значений Signal Builder

Чтобы изменить временную область значений, выберите Change Time Range из меню Signal Builder Axes.

В диалоговом окне отредактируйте поля Min time и Max time по мере необходимости, чтобы отразить начальное и конечное время новой временной области значений, соответственно.

Экспорт данных группы сигналов

Можно экспортировать данные, которые определяют группы Блока Signal Builder сигналов в MAT-файл, Рабочее пространство MATLAB или блок Signal Editor.

Для экспорта данных сигнала Signal Builder, форматированный как Simulink.SimulationData.Dataset, в MAT-файл, выберите File > Export Data > To MAT-file.

  • File name - введите имя MAT-файла, содержащего данные.

  • Group indices - Введите один или несколько номеров групп сигналов, для которых вы хотите экспортировать данные, заданные как скаляр или вектор. Номера должны соответствовать существующей группе в блоке.

Кроме того, можно использовать signalbuilder get функция для возврата одного или нескольких наборов данных. Для примера:

[ds1 ds2]=signalbuilder(block,'get',[group1 group2])

Чтобы экспортировать данные о сигнале в рабочее пространство MATLAB, выберите File > Export Data > To Workspace.

Signal Builder экспортирует данные по умолчанию в переменную рабочей области с именем channels. Чтобы экспортировать в другую именованную переменную, введите имя переменной в поле Имя переменной. Signal Builder экспортирует данные в рабочую область как значение указанной переменной.

Экспортированные данные являются массивом структур. Структура xData и yData поля содержат координатные точки, определяющие сигналы в текущей выбранной группе сигналов.

Для доступа ко всем данным в группах сигналов блока Signal Builder используйте signalbuilder get функция:

[time, data]=signalbuilder(block,'get',signal,group)

Для примера:

% For time 0 to 5, create three signal groups.
block = signalbuilder([], 'create', [0 5], {[2 2] [4 4] [7 8];[0 2] [0 4] [7 10]});
% Get the signals for all three groups.
[time, data]=signalbuilder(block,'get',[1 2],[1:3])
time =

  2×3 cell array

    [1×2 double]    [1×2 double]    [1×2 double]
    [1×2 double]    [1×2 double]    [1×2 double]


data =

  2×3 cell array

    [1×2 double]    [1×2 double]    [1×2 double]
    [1×2 double]    [1×2 double]    [1×2 double]

Чтобы получить доступ к данным сигнала из блока Signal Builder и экспортировать его в блок Signal Editor, выберите File > Export Data > To Signal Editor block.

  1. Из блока Signal Builder выберите File > Export > To Signal Editor block.

    Совет

    Также нажмите кнопку.Signal Builder to Signal Editor button

  2. В браузере файлов укажите имя файла, которое будет содержать сохраненные данные сигнала.

    В модели появляется Signal Editor блок.

  3. Чтобы экспортировать данные сигнала в блок Signal Editor, дважды кликните блок и проверьте имя экспортированного файла в параметре File name.

  4. Чтобы просмотреть импортированные данные сигнала в пользовательском интерфейсе Редактор, нажмите Launch Signal Editor ().Signal Builder to Signal Editor button

Симуляция с группами сигналов

Можно использовать стандартные команды симуляции, чтобы запустить модели, содержащие блоки Signal Builder, или использовать кнопку Run или Run all в окне Signal Builder (см. «Выполнение всех групп сигналов»).

Если вы хотите захватить входы и выходы, которые генерирует кнопка Run all, рассмотрите использование программного обеспечения SystemTest™.

Активация сигнальной группы

Во время симуляции блок Signal Builder всегда выводит активную группу сигналов. Активная группа сигналов - это группа, выбранная в окне Signal Builder для этого блока, если диалоговое окно открыто. В противном случае активная группа является группой, выбранной при последнем закрытии диалогового окна. Чтобы активировать группу, откройте окно группы Signal Builder и выберите группу.

Выполнение различных групп сигналов последовательно

Панель инструментов Signal Builder включает стандартные кнопки Simulink для выполнения симуляции. Это облегчает выполнение нескольких различных групп сигналов последовательно. Например, можно открыть диалоговое окно, выбрать группу, запустить симуляцию, выбрать другую группу, запустить симуляцию и так далее, все из окна Signal Builder.

Выполнение всех групп сигналов

Чтобы запустить все группы сигналов, заданные блоком Signal Builder, откройте диалоговое окно блока и нажмите кнопку на панели инструментов Signal Builder. Кнопка Run all запускает серию симуляций, по одной для каждой группы сигналов, заданных блоком. Если вы установили Simulink Coverage в своей системе и используете Инструмент Model Coverage, кнопка Run all конфигурирует инструмент для сбора и сохранения данных о покрытии для каждой симуляции в рабочем пространстве MATLAB и отображения отчета о совокупных результатах покрытия в конце последней симуляции. Это позволяет вам быстро определить, насколько хорошо набор групп сигналов тестирует вашу модель.

Примечание

Чтобы остановить серию симуляций, начатых командой Run all, введите Ctrl+C в командной строке MATLAB.

Симуляция из блока Signal Builder

Чтобы управлять симуляциями из блока Signal Builder, выберите File > Simulation Options.

Значения сигналов после окончания времени

Установка этого элемента управления определяет выход блока Signal Builder, если симуляция выполняется дольше, чем период, заданный блоком.

  • Чтобы вывести последнее заданное значение каждого сигнала в текущей активной группе для оставшейся части симуляции, выберите Hold final value. Для примера:

  • Чтобы вывести значения, экстраполированные из последнего определенного значения каждого сигнала в текущей активной группе для оставшейся части симуляции, выберите Extrapolate. Для примера:

  • Чтобы вывести нуль для оставшейся части симуляции, выберите Set to zero. Для примера:

Шаг расчета

Для вывода непрерывного сигнала введите 0 в параметре Sample time. Для примера следующее отображение показывает выход набора Блока Signal Builder для вывода непрерывной формы Гауссова волны в течение 10 секунд.

Чтобы вывести дискретный сигнал, введите шаг расчета сигнала в этом параметре. Следующий пример показывает выход набора Блока Signal Builder для излучения дискретной Гауссовой формы волны, имеющей 0.5 время второго шага расчета.

Включите пересечение нуля

Чтобы блок Signal Builder обнаружил события пересечения нулем, установите Enable zero crossing On (по умолчанию). Блок Signal Builder устанавливает обнаружение пересечения нулем на блоке From Workspace, который вы используете для создания Signal Builder групп сигналов. Для получения дополнительной информации смотрите Обнаружение пересечения нулем.

См. также

| |

Похожие темы