Проверка соответствия сигнала модели границам во время моделирования
Оптимизация проектирования Simulink/проверка модели
Оптимизация проектирования Simulink/Ограничения сигналов

Во время моделирования убедитесь, что сигнал удовлетворяет указанным верхним и нижним границам.
Если сигнал удовлетворяет всем границам, блок ничего не делает.
Если сигнал не удовлетворяет ограничению, в окне команд MATLAB ® появляется предупреждающее сообщение. Можно также указать, что блок:
Вычислите выражение MATLAB.
Остановите моделирование и верните сообщение об ошибке.
Во время моделирования блок может также возвращать логический сигнал подтверждения.
Если сигнал удовлетворяет всем границам, сигнал подтверждения истинен (1).
Если сигнал не удовлетворяет ограничению, сигнал утверждения является ложным (0).
С помощью блока можно создать:
Одиночная граница с одним ребром
Одна граница с несколькими кромками
Несколько границ
Можно добавить блоки проверки пользовательских границ к нескольким сигналам, чтобы убедиться, что они удовлетворяют этим границам. Можно также построить график границ на графике времени, чтобы графически проверить, что сигнал удовлетворяет границам.
Этот блок и другие блоки в библиотеке проверки модели проверяют, что сигнал остается в пределах заданных границ характеристик временной области. Если модель не нарушает каких-либо границ, можно отключить блок, очистив опцию утверждения. При изменении модели можно повторно включить утверждение, чтобы изменения не приводили к нарушению модели границы.
Если сигнал не удовлетворяет границам, можно оптимизировать параметры модели в соответствии с границами. При наличии программного обеспечения Simulink ® Control Design™ можно добавить границы частотной области, такие как величина Боде, и оптимизировать отклик модели в соответствии с требованиями как временной области, так и частотной области.
Блок может использоваться во всех режимах моделирования для контроля сигналов, но только в Normal или Accelerator режим моделирования для оптимизации отклика.
Port_1 (u) - Сигнал для проверки по указанным границамСигнал для проверки по верхнему и нижнему границам, указанным в Amplitudes и Times при моделировании.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point | enumerated | bus
Port_1 (out) - Выходной сигнал подтверждения1 | 0Выходной сигнал, указывающий, находится ли входной сигнал в пределах заданного сигнала подтверждения. На каждом шаге времени выходные данные возвращаются как одно из следующих:
Правда1) если утверждение успешно выполнено, то есть сигнал удовлетворяет всем границам
Ложь (0), если утверждение дает сбой, то есть сигнал нарушает ограничение
Тип данных выходного сигнала по умолчанию является двойным. Чтобы задать тип выходных данных как Boolean для всех блоков, генерирующих логические сигналы в модели Simulink, выберите Implement logic signals as Boolean data в разделе Configuration Parameters.
Чтобы включить этот порт, на вкладке Assertion выберите параметр Output assertion signal.
Типы данных: Boolean | double
Show Plot - Открыть окно печатиbuttonИспользуйте график для просмотра следующего.
Системные характеристики и сигналы, вычисленные во время моделирования - нажмите эту кнопку перед моделированием модели для просмотра системных характеристик или сигнала.
Можно отобразить дополнительные признаки, такие как пиковое время отклика, щелкнув правой кнопкой мыши график и выбрав Характеристики (Characteristics).
Границы (Bounds) - можно указать границы на вкладке Границы (Bounds) или щелкнуть правой кнопкой мыши на графике и выбрать Границы (Bounds) > Создать границу (New Bound).
Границы можно изменить, перетащив сегмент границы или щелкнув правой кнопкой мыши на графике и выбрав команду «Границы» > «Редактировать границы». Перед моделированием модели щелкните Обновить блок (Update Block), чтобы обновить значение границы в параметрах блока.
Типичные задачи, выполняемые в окне печати:
Откройте диалоговое окно «Параметры блока», нажав
или выбрав «Редактировать».
Чтобы найти блок, которому соответствует окно печати, щелкните
Вид (View) > Выделить блок симулятора (Highlight Simulink Block). Это действие активизирует окно модели и подсвечивает блок.
Моделирование модели щелчком мыши.
Это действие также линеаризует часть модели между указанными входными и выходными данными линеаризации.
Добавление легенды на график линейной системной характеристики щелчком мыши.![]()
Show plot on block open - Дважды щелкните блок, чтобы открыть печатьoff (по умолчанию) | onОткройте окно печати вместо параметров блока, дважды щелкнув блок в модели Simulink.
Этот параметр используется для открытия и выполнения задач, таких как добавление или изменение границ, в окне печати вместо параметров блока. Если требуется получить доступ к параметрам блока в окне печати, выберите «Редактировать» или нажмите кнопку.![]()
Дополнительные сведения о графике см. в разделе Параметр «Показать график».
Параметр:
LaunchViewOnOpen |
| Текст: символьный вектор |
Значение:
'on' | 'off' |
По умолчанию:
'off' |
Response Optimization - Оптимизатор открытых ответовbuttonОткройте оптимизатор отклика (Response Optimizer), чтобы оптимизировать отклик модели в соответствии с требованиями конструкции, указанными на вкладке Границы (Bounds).
Include upper bound in assertion - Проверить, что сигнал удовлетворяет верхней границеon (по умолчанию) | offВо время моделирования проверьте, что сигнал меньше или равен верхним границам, указанным в верхней границе Times и Amplitudes. Программа отображает предупреждение, если сигнал нарушает верхние границы.
Границы также отображаются на графике времени.
При отключении этого параметра программа прекращает проверку соответствия входного сигнала верхним границам во время моделирования. Связанные сегменты также отображаются на графике серым цветом.

Чтобы просмотреть только границы и входной сигнал на графике, снимите флажок «Включить утверждение».
Чтобы использовать этот параметр, на вкладке Утверждение выберите Включить утверждение. Если снять флажок «Включить утверждение», программа не использует ограничения для утверждения, но они продолжают появляться на графике.
Параметр:
EnableUpperBound
|
| Текст: символьный вектор |
Значение:
'on' | 'off'
|
По умолчанию:
'on'
|
Times - Вектор времени верхней границы[0 5; 5 10] (по умолчанию) | двухэлементный вектор | матрица из двух столбцов | массив ячеекВектор времени для одного или нескольких сегментов верхней границы, заданный в секундах.
Задайте соответствующие значения амплитуд в амплитудах.
Чтобы задать одиночную границу с одним ребром, используйте двухэлементный вектор. Вектор должен иметь вид [Tstart Tend], где Tstart и Tend являются положительными конечными числами с Tstart < Tend.
Например, чтобы создать одну верхнюю границу с амплитудой 1,2 в интервале времени от 0 до 10 секунд, укажите [0 10] для времени и [1.2 1.2] для амплитуд.

Чтобы задать одну границу с несколькими ребрами, используйте матрицу из двух столбцов. Матрица должна иметь вид [T1 T2; T2 T3; …; Tn Tn + 1], где n - количество ребер в границе. Одна граница с несколькими кромками является кусочно непрерывной, поэтому задайте временные интервалы так, чтобы следующая кромка начиналась в то же самое время, когда заканчивается предыдущая кромка.
Например, чтобы создать одиночную границу с двумя рёбрами в моменты времени 0-5 и 5-10 секунд с амплитудами 1,2 и 1 соответственно, задайте [0 5;5 10] для времени и [1.2 1.2;1 1] для амплитуд.

Чтобы задать несколько границ, используйте массив ячеек из двухэлементных векторов, двухколонных матриц или обоих. То есть использовать массив ячеек из нескольких одиночных границ.
Например, чтобы создать две границы в моменты времени 0-4 и 6-10 секунд с амплитудами 1,2 и 1 соответственно, укажите {[0 4] [6 10]} для времени и {[1.2 1.2] [1 1]} для амплитуд.

В окне печати можно добавить или изменить время начала и окончания.
Чтобы добавить новые векторы времени, щелкните правой кнопкой мыши желтую область на графике и выберите «Редактировать». Нажмите «Вставить» для добавления новой строки в диалоговое окно «Редактирование границы». Укажите время начала и окончания нового связанного сегмента в столбце «Время». Задайте соответствующие амплитуды в столбце Амплитуда (Amplitude).
Чтобы изменить время начала и окончания, перетащите связанный сегмент. Можно также щелкнуть сегмент правой кнопкой мыши и выбрать «Редактировать». Укажите новое время в столбце «Время».
Перед моделированием модели щелкните Обновить блок (Update Block).
Для проверки того, что входной сигнал удовлетворяет амплитудам, соответствующим векторам времени верхней границы, выберите Включить верхнюю границу в утверждение и Включить утверждение.
Параметр:
UpperBoundTimes
|
| Текст: символьный вектор |
| Значение: двухэлементный вектор | матрица из двух столбцов | массив ячеек |
По умолчанию:
[0 5; 5 10]
|
Amplitudes - Значения амплитуды верхней границы[1.1 1.1; 1.01 1.01] (по умолчанию) | двухэлементный вектор | матрица из двух столбцов | массив ячеекЗначения амплитуды для одного или нескольких сегментов верхней границы.
Укажите соответствующее время начала и окончания в Times.
Чтобы задать одиночную границу с одним ребром, используйте двухэлементный вектор. Вектор должен иметь вид [A1 A2], где A1 и A2 - связанные амплитуды на соответствующих краях вектора времени. Для постоянной амплитуды на протяжении временного интервала используйте A1 = A2.
Например, чтобы создать одну верхнюю границу с амплитудой 1,2 в интервале времени от 0 до 10 секунд, укажите [0 10] для времени и [1.2 1.2] для амплитуд.

Чтобы задать одну границу с несколькими ребрами, используйте матрицу из двух столбцов. Матрица должна иметь вид [A1 B1; …; Один Bn], где n - количество ребер в границе. Для постоянной амплитуды на протяжении временного интервала используйте Ak = Bk, где k = 1,..., n
Например, чтобы создать одиночную границу с двумя рёбрами в моменты времени 0-5 и 5-10 секунд с амплитудами 1,2 и 1 соответственно, задайте [0 5;5 10] для времени и [1.2 1.2;1 1] для амплитуд.

Чтобы задать несколько границ, используйте массив ячеек из двухэлементных векторов, двухколонных матриц или обоих. То есть использовать массив ячеек из нескольких одиночных границ.
Например, чтобы создать две границы в моменты времени 0-4 и 6-10 секунд с амплитудами 1,2 и 1 соответственно, укажите {[0 4] [6 10]} для времени и {[1.2 1.2] [1 1]} для амплитуд.

В окне печати можно добавлять или изменять амплитуды.
Чтобы добавить новые амплитуды, щелкните правой кнопкой мыши график и выберите «Редактировать». Нажмите «Вставить» для добавления новой строки в диалоговое окно «Редактирование границы». Задайте начальную и конечную амплитуды нового связанного сегмента в столбце Амплитуда (Amplitude). Укажите соответствующее время начала и окончания в столбце «Время».
Чтобы изменить начальную и конечную амплитуды, перетащите связанный сегмент. Можно также щелкнуть сегмент правой кнопкой мыши и выбрать «Редактировать». Укажите новые амплитуды в столбце Амплитуда (Amplitude).
Перед моделированием модели щелкните Обновить блок (Update Block).
Чтобы убедиться, что входной сигнал удовлетворяет верхним амплитудным границам, выберите Включить верхнюю границу в утверждение и Включить утверждение.
Параметр:
UpperBoundAmplitudes
|
| Текст: символьный вектор |
| Значение: двухэлементный вектор | матрица из двух столбцов | массив ячеек |
По умолчанию:
[1.1 1.1; 1.01 1.01]
|
Include lower bound in assertion - Проверить, что сигнал удовлетворяет нижней границеoff (по умолчанию) | onПри моделировании проверьте, что сигнал больше или равен нижним границам, указанным в нижней границе Times и Amplitudes. Программа выводит предупреждение, если сигнал нарушает нижние границы.
Границы также отображаются на графике времени.
Если этот параметр отключен, нижние границы отключаются, и программа прекращает проверку соответствия границ во время моделирования. Связанные сегменты также затемнены на графике.

Чтобы просмотреть только границы и входной сигнал на графике, снимите флажок «Включить утверждение».
Чтобы использовать этот параметр, на вкладке Утверждение выберите Включить утверждение. Если снять флажок «Включить утверждение», программа не использует ограничения для утверждения, но они продолжают появляться на графике.
Параметр:
EnableLowerBound
|
| Текст: символьный вектор |
Значение:
'on' | 'off'
|
По умолчанию:
'off'
|
Times - Вектор времени нижней границы[] (по умолчанию) | двухэлементный вектор | матрица из двух столбцов | массив ячеекВектор времени для одного или нескольких сегментов нижней границы, заданный в секундах.
Задайте соответствующие значения амплитуд в амплитудах.
Чтобы задать одиночную границу с одним ребром, используйте двухэлементный вектор. Вектор должен иметь вид [Tstart Tend], где Tstart и Tend являются положительными конечными числами с Tstart < Tend.
Например, чтобы создать одну нижнюю границу с амплитудой 0,8 в интервале времени от 0 до 10 секунд, укажите [0 10] для времени и [0.8 0.8] для амплитуд.

Чтобы задать одну границу с несколькими ребрами, используйте матрицу из двух столбцов. Матрица должна иметь вид [T1 T2; T2 T3; …; Tn Tn + 1], где n - количество ребер в границе. Одиночная граница с несколькими кромками является кусочно непрерывной, задайте временные интервалы так, чтобы следующая кромка начиналась в то же самое время, когда заканчивается предыдущая кромка.
Например, чтобы создать одиночную границу с двумя рёбрами в моменты времени 0-5 и 5-10 секунд с амплитудами 0,8 и 0,98 соответственно, укажите [0 5;5 10] для времени и [0.8 0.8;0.98 0.98] для амплитуд.

Чтобы задать несколько границ, используйте массив ячеек из двухэлементных векторов, двухколонных матриц или обоих. То есть использовать массив ячеек из нескольких одиночных границ.
Например, чтобы создать две границы в моменты времени 0-4 и 6-10 секунд с амплитудами 0,8 и 0,98 соответственно, укажите {[0 4] [6 10]} для времени и {[0.8 0.8] [0.98 0.98]} для амплитуд.

В окне печати можно добавить или изменить время начала и окончания.
Чтобы добавить новые векторы времени, щелкните правой кнопкой мыши желтую область на графике и выберите «Редактировать». Нажмите «Вставить» для добавления новой строки в диалоговое окно «Редактирование границы». Укажите время начала и окончания нового связанного сегмента в столбце «Время». Задайте соответствующие амплитуды в столбце Амплитуда (Amplitude).
Чтобы изменить время начала и окончания, перетащите связанный сегмент. Можно также щелкнуть сегмент правой кнопкой мыши и выбрать «Редактировать». Укажите новое время в столбце «Время».
Перед моделированием модели щелкните Обновить блок (Update Block).
Чтобы убедиться, что входной сигнал удовлетворяет амплитудам, соответствующим векторам времени нижней границы, выберите Включить нижнюю границу в утверждение и Включить утверждение.
Параметр:
LowerBoundTimes
|
| Текст: символьный вектор |
| Значение: двухэлементный вектор | матрица из двух столбцов | массив ячеек |
По умолчанию:
[]
|
Amplitudes - Значения амплитуды нижней границы[] (по умолчанию) | двухэлементный вектор | матрица из двух столбцов | массив ячеекЗначения амплитуды для одного или нескольких сегментов нижней границы.
Укажите соответствующее время начала и окончания в Times.
Чтобы задать одиночную границу с одним ребром, используйте двухэлементный вектор. Вектор должен иметь вид [A1 A2], где A1 и A2 - связанные амплитуды на соответствующих краях вектора времени. Для постоянной амплитуды на протяжении временного интервала используйте A1 = A2.
Например, чтобы создать одну нижнюю границу с амплитудой 0,8 в интервале времени от 0 до 10 секунд, укажите [0 10] для времени и [0.8 0.8] для амплитуд.

Чтобы задать одну границу с несколькими ребрами, используйте матрицу из двух столбцов. Матрица должна иметь вид [A1 B1; …; Один Bn], где n - количество ребер в границе. Для постоянной амплитуды на протяжении временного интервала используйте Ak = Bk, где k = 1,..., n
Например, чтобы создать одиночную границу с двумя рёбрами в моменты времени 0-5 и 5-10 секунд с амплитудами 0,8 и 0,98 соответственно, укажите [0 5;5 10] для времени и [0.8 0.8;0.98 0.98] для амплитуд.

Чтобы задать несколько границ, используйте массив ячеек из двухэлементных векторов, двухколонных матриц или обоих. То есть использовать массив ячеек из нескольких одиночных границ.
Например, чтобы создать две границы в моменты времени 0-4 и 6-10 секунд с амплитудами 0,8 и 0,98 соответственно, укажите {[0 4] [6 10]} для времени и {[0.8 0.8] [0.98 0.98]} для амплитуд.

В окне печати можно добавлять или изменять амплитуды.
Чтобы добавить новые амплитуды, щелкните правой кнопкой мыши график и выберите «Редактировать». Нажмите «Вставить» для добавления новой строки в диалоговое окно «Редактирование границы». Задайте начальную и конечную амплитуды нового связанного сегмента в столбце Амплитуда (Amplitude). Укажите соответствующее время начала и окончания в столбце «Время».
Чтобы изменить начальную и конечную амплитуды, перетащите связанный сегмент. Можно также щелкнуть сегмент правой кнопкой мыши и выбрать «Редактировать». Укажите новые амплитуды в столбце Амплитуда (Amplitude).
Перед моделированием модели щелкните Обновить блок (Update Block).
Чтобы убедиться, что входной сигнал удовлетворяет нижним амплитудным границам, выберите Включить нижнюю границу в утверждение и Включить утверждение.
Параметр:
LowerBoundAmplitudes
|
| Текст: символьный вектор |
| Значение: двухэлементный вектор | матрица из двух столбцов | массив ячеек |
По умолчанию:
[]
|
Enable zero-crossing detection - Оценка модели на граничных кромкахon (по умолчанию) | offУбедитесь, что программа моделирует модель для получения выходных данных на граничных кромках. Моделирование модели на граничных кромках предотвращает отсутствие в решателе моделирования утверждения о том, что сигнал удовлетворяет граничному значению на своей кромке.

Дополнительные сведения см. в разделе Обнаружение пересечения нулей.
Параметр:
ZeroCross |
| Текст: символьный вектор |
Значение:
'on' | 'off' |
По умолчанию:
'on' |
Enable assertion - Включить или отключить проверкуon (по умолчанию) | offВключите блок, чтобы проверить, что границы, указанные и включенные для утверждения на вкладке Границы (Bounds), удовлетворяются во время моделирования. Утверждение не выполняется, если не выполняется привязка. В подсказке MATLAB появляется предупреждение о сбое утверждения.
Если утверждение не выполнено, можно дополнительно указать, что блок:
Выполните выражение MATLAB, указанное в обратном вызове Simulation при сбое утверждения (необязательно).
Остановите моделирование и верните сообщение об ошибке, выбрав Остановить моделирование при сбое утверждения.
Этот параметр не действует, если не указаны границы.
При отключении этого параметра блок больше не проверяет соответствие входного сигнала заданным границам. Значок блока также обновляется, указывая, что утверждение отключено.

В модели Simulink в разделе Параметры конфигурации (Configuration Parameters) параметр включения блока проверки модели (Model Verification block enabling) позволяет включать или отключать все блоки проверки модели в модели независимо от настройки этой опции в блоке.
Параметр:
enabled |
| Текст: символьный вектор |
Значение:
'on' | 'off' |
По умолчанию:
'on' |
Simulation callback when assertion fails (optional) - Выражение, вычисляемое при сбое утверждения'' (по умолчанию) | выражение MATLABВыражение MATLAB, выполняемое при сбое утверждения.
Поскольку выражение вычисляется в рабочей области MATLAB, сначала определите все переменные, используемые в выражении в рабочей области.
Чтобы включить этот параметр, выберите Включить утверждение.
Параметр:
callback |
| Текст: символьный вектор |
| Значение: выражение MATLAB |
По умолчанию:
'' |
Stop simulation when assertion fails - Остановка моделирования при сбое утвержденияoff (по умолчанию) | onОстановите моделирование, когда сигнал нарушает границу, заданную на вкладке Границы (Bounds) во время моделирования, то есть когда утверждение не удается.
При запуске моделирования из окна модели Simulink откроется окно Диагностика моделирования (Simulation Diagnostics), в котором появится сообщение об ошибке. Блок, в котором происходит нарушение границы, подсвечивается в модели.
Поскольку выбор этого параметра останавливает моделирование, как только утверждение завершается неуспешно, программа не сообщает об ошибках утверждения, которые могут произойти позже во время моделирования. Если вы хотите сообщить обо всех сбоях утверждения, не выбирайте этот параметр.
Чтобы включить этот параметр, выберите Включить утверждение.
Параметр:
stopWhenAssertionFail |
| Текст: символьный вектор |
Значение:
'on' | 'off' |
По умолчанию:
'off' |
Output assertion signal - Создать выходной сигналoff (по умолчанию) | onВыведите логический сигнал, который на каждом шаге времени будет:
Правда1) если утверждение выполнено успешно, то есть входной сигнал удовлетворяет всем границам
Ложь (0) если утверждение не удается, то есть входной сигнал нарушает ограничение
Тип данных выходного сигнала по умолчанию является двойным. Чтобы задать тип выходных данных как Boolean для всех блоков, генерирующих логические сигналы в модели Simulink, выберите Implement logic signals as Boolean data в разделе Configuration Parameters.
При выборе этого параметра к блоку добавляется выходной порт, который можно подключить к любому блоку в модели.
Этот параметр используется для разработки сложной логики утверждения. Пример см. в разделе Проверка модели с помощью элементов управления Simulink и блоков проверки Simulink (элемент управления Simulink).
Параметр:
export |
| Текст: символьный вектор |
Значение:
'on' | 'off' |
По умолчанию:
'off' |
Генерация кода доступна только в том случае, если включен параметр Output assertion signal.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.


