Основы сигнала

Сигнал является изменяющейся во времени величиной, которая имеет значения во всех точках времени. Можно задать широкую область значений атрибутов сигнала, включая:

  • Имя сигнала

  • Тип данных (для примера, 8-битного, 16-битного или 32-битного целого числа)

  • Числовой тип (действительный или комплексный)

  • Размерность (одномерный, двумерный или многомерный массив)

В Simulink®, сигналы являются выходами динамических систем, представленными блоками в схеме Simulink и самой схемой. Линии в блоке представляют математические отношения среди сигналов, заданных блоком. Например, линия, соединяющая выход блока A с входом блока B, указывает, что выход сигнала B зависит от выхода сигнала A.

Диаграммы Simulink представляют сигналы с линиями, которые имеют стрелку. Источник сигнала соответствует блоку, который записывает в сигнал во время оценки его блочных методов (уравнений). Адресатами сигнала являются блоки, которые считывают сигнал во время оценки блочных методов (уравнений). Назначение сигналов в модели не обязательно представляет порядок симуляции блоков в модели. Порядок симуляции определяется Simulink автоматически.

Примечание

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

Можно создать сигнал, добавив исходный блок к модели. Например, можно создать сигнал, который изменяется синусоидально со временем, добавив в модель образец блока Sine, Cosine из библиотеки Simulink Sources. Чтобы увидеть список блоков, которые создают сигналы в модели, см. «Источники». Кроме того, можно использовать Средства просмотра и генераторов, чтобы создавать сигналы в модели, не используя блоки.

Стили линии

Модель Simulink может включать много различных типов сигналов. Когда вы создаете блок, все типы сигналов появляются как тонкая, сплошная линия. После обновления схемы или начала симуляции сигналы появляются с заданными стилями линии. Эти типы сигналов позволяют вам различать различные типы сигналов. Из всех типов сигналов можно настроить только тип нескалярного сигнала. Дополнительные сведения см. в разделе Типы сигналов.

Тип сигналаСтиль линии
Скаляр и нескаляр
Нескаляр (с включенной опцией Wide nonscalar lines - см. «Широкие нескалярные линии»)

Управляющий сигнал

Виртуальная шина
Невиртуальная шина
Массив шин
Переменный размер

Свойства сигнала

Вы можете захотеть задать свойства сигнала в вашей модели, чтобы задать имя или метку вашим сигналам, подготовить данные для логгирования или настроить ваши сигналы в модели. Используйте Property Inspector, Model Data Editor или диалоговое окно Свойства сигнала, чтобы задать свойства для:

  • Имена сигналов и метки

  • Логгирование сигналов

  • Simulink Coder™, который используется для генерации кода

  • Документирование сигнала

Для доступа к свойствам сигнала в Property Inspector сначала отобразите Property Inspector. На вкладке Modeling, под Design, нажмите Property Inspector. При выборе сигнала свойства появляются в Property Inspector. Чтобы использовать Model Data Editor (на вкладке Modeling, нажмите Model Data Editor), смотрите вкладку Signals и выберите сигнал. Чтобы использовать диалоговое окно Свойства, щелкните правой кнопкой мыши сигнал и выберите Properties. Для получения информации о преимуществах каждого подхода смотрите Добавить блоки и Задать параметры.

Чтобы задать свойства сигнала программно, используйте функцию, такую как get_param чтобы создать переменную, которая содержит указатель на выходной порт блока, который создает сигнальную линию. Затем используйте set_param для установки программных параметров порта. Для примера:

p = get_param(gcb,'PortHandles')
l = get_param(p.Outport,'Line')
set_param(l,'Name','s9')

Имена сигналов и метки

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

  • Не используйте символ меньше, чем (<), чтобы запустить имя сигнала.

  • Имя сигнала может разрешиться к Simulink.Signal объект. (См. Simulink.Signal.) Имя сигнала должно быть легальным MATLAB® идентификатор. Этот идентификатор начинается с буквенного символа, за которым следуют алфавитно-цифровые символы или символы подчеркивания до длины, заданной функцией namelengthmax.

  • Сигнал имеет имя, поэтому сигнал может быть идентифицирован и ссылаться по наименованию в журнале данных. (См. «Экспорт данных сигнала с использованием логгирования сигналов».) Такое имя сигнала может содержать пространство и символы новой строки. Эти символы могут улучшить читаемость, но иногда требуют специальных методов обработки, как описано в Handling Spaces и Newlines в Logged Names

  • Имя сигнала существует только для уточнения схемы и не имеет вычислительной значимости. Такое имя сигнала может содержать что угодно и не нуждается в специальной обработке.

  • Сигнал является элементом массива объекта шины. Используйте допустимый идентификатор языка C для имени сигнала.

  • Входы в блок Bus Creator должны иметь уникальные имена. Если существуют повторяющиеся имена, блок Bus Creator добавляет (signal#) ко всем именам входных сигналов, где # - вход порта.

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

Назовите сигнал в интерактивном режиме:

  • Используя Property Inspector (на вкладке Modeling, под Design, нажмите Property Inspector)

  • Используя Model Data Editor (на вкладке Modeling, нажмите Model Data Editor) Signals вкладка

  • Из диалогового окна Свойств сигнала».

Имя сигнала появляется под сигналом, отображаемым как signal label.

Чтобы назвать сигнал программно, используйте get_param и set_param функционирует на сигнале. В таблице ниже описывается работа с именами сигналов и метками в редакторе Simulink.

ЗадачаДействие
Назовите сигнальную линиюДважды кликните сигнал и введите его имя.
Назовите ветвь именованной сигнальной линииДважды кликните ветвь.
Назовите каждую ветвь сигнала Щелкните правой кнопкой мыши сигнал, выберите Properties и используйте диалоговое окно.
Удалите метку и имя сигналаУдалите символы в метке или удалите имя в диалоговом окне «Свойств сигнала».
Удалите только метку сигнала Щелкните правой кнопкой мыши метку и выберите Delete Label.
Откройте текстовое поле метки сигнала для редактирования

Дважды кликните сигнальную линию.

Щелкните метку.

Выберите сигнальную линию (не метку) и используйте F2.

На платформах Macintosh выберите сигнальную линию (не метку) и используйте control+return.

Переместите метку сигнала Перетащите метку в новое место на той же сигнальной линии.
Скопируйте метку сигналаCtrl+ перетащить метку сигнала.
Измените шрифт меткиВыберите сигнальную линию (не метку), а затем на вкладке Format щелкните стреле кнопки Font Properties, затем нажмите Fonts for Model.

Параметры отображения сигналов

Отображение атрибутов сигнала в диаграмме модели может облегчить чтение модели. Например, в редакторе Simulink, на вкладке Debug, используйте меню Information Overlays, чтобы включить в макет модели информацию об атрибутах сигнала, таких как:

  • Типы данных портов

  • Проект областей значений

  • Размерности сигнала

  • Разрешение сигнала

Для получения дополнительной информации смотрите Атрибуты сигнала отображения.

Можно также выделить сигнал и его источник или блоки назначения. Для получения дополнительной информации смотрите Highlight Signal Sources and Destinations.

Сохраните атрибуты проекта сигналов и состояний

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

Кроме того, можно задать эти атрибуты с помощью свойств Simulink.Signal объект, который вы храните в рабочей области или словаре данных. См. Simulink.Signal и объекты данных.

Выберите стратегию для использования на основе целей моделирования.

  • Чтобы улучшить переносимость модели, читаемость и простоту обслуживания, сохраните эти спецификации в файле модели. Используйте Property Inspector, диалоговые окна Model Data Editor, диалоговых окон блока и свойства сигнала для доступа к параметрам и свойствам. Вам не нужно сохранять и управлять внешними Simulink.Signal объекты. Рассмотрите установку параметра конфигурации модели Signal resolution равной None, что отключает использование Simulink.Signal объекты по модели.

    Чтобы сконфигурировать атрибуты проекта и настройки генерации кода для сигналов с помощью списка, который можно сортировать, группировать и фильтровать, рассмотрите Model Data Editor. С помощью этого инструмента вы храните спецификации в файле модели вместо использования Simulink.Signal объекты. См. «Настройка свойств данных при помощи Model Data Editor».

  • Чтобы отделить эти спецификации от модели, чтобы вы могли управлять каждой независимо, используйте Simulink.Signal объекты. Затем можно сконфигурировать спецификации в плоском списке, который можно сортировать, группировать и фильтровать с помощью Model Data Editor или Model Explorer. Чтобы определить, где постоянно хранить объекты, смотрите Определение, Где хранить переменные и Объекты для моделей Simulink.

Тестовые сигналы

Вы можете выполнить следующие виды тестов на сигналах:

Минимальное и максимальное значения

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

Валидация подключения

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

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

Сценарии

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

Сценарии могут помочь с проверкой модели.

Похожие темы