Некоторые блоки не позволяют вам установить параметр Sample Time по умолчанию. Однако вы видите, и установите параметр Sample Time для этих блоков в существующей модели, если шаг расчета установлен в значение кроме значения по умолчанию -1
(наследованный шаг расчета). Параметр Sample Time не доступен на определенных блоках, потому что определение шага расчета, который не является -1
на блоках, таких как Gain, Sum и n-D Lookup Table заставляет переход частоты дискретизации быть неявно смешанным с алгоритмами блока. Это смешивание может часто приводить к неоднозначности и беспорядку в моделях Simulink®.
В большинстве приложений моделирования вы задаете уровни для модели на контуре вашей системы вместо на блоке в подсистеме. Вы задаете системный уровень от входящих сигналов или уровень выборки выхода. Можно также решить уровни для событий, которые вы моделируете, которые вводят подсистему как триггер, вызов функции, или позволяют/запрещают сигналы. Для некоторых глобальных переменных (таких как Блоки памяти Хранилища данных) может быть нужной дополнительная спецификация шага расчета. Если вы хотите изменить уровень в системе, используйте блок Rate Transition, который специально разработан к переходам уровня модели.
В будущем релизе вы не можете смочь, видят или устанавливают этот параметр на блоках, где это не является соответствующим.
Используйте эти подходы вместо того, чтобы установить параметр Sample Time в блоках, где это не является соответствующим:
Настройте свою модель путем определения Sample Time только в блоках, перечисленных в Соответствующих Блоках для Параметра Шага расчета, и установите Sample Time на -1
для всех других блоков. Чтобы изменить шаг расчета для нескольких блоков одновременно, используйте Model Explorer. Для получения дополнительной информации смотрите Свойства объектов Редактирования.
Используйте блок Rate Transition для переходов уровня модели в вашей модели.
Используйте блок Signal Specification, чтобы задать шаг расчета в моделях, которые не имеют исходных блоков, таких как алгебраические циклы.
Задайте уровень симуляции независимо от шагов расчета блока, с помощью диалогового окна Model Parameter.
Если вы завершили эти изменения, проверьте, дает ли ваша модель те же выходные параметры как прежде.
Задайте шаг расчета на контуре модели или подсистемы, или в блоках, спроектированных к переходам уровня модели. Примеры включают:
Блоки в библиотеке Sources
Блоки в библиотеке Sinks
Инициируйте порты (если Trigger type установлен в function-call
) и порты Enable
Чтение Хранилища данных и блоки Записи Хранилища данных, как Блок памяти Хранилища данных они соединяются с силой быть вне контура подсистемы
Блок Rate Transition
Блок Specification сигнала
Блоки в библиотеке Discrete
Передайте блок Receive
Функциональный блок Caller
Можно задать шаг расчета в блоках, которые не отображают параметр на диалоговом окне блока. Если вы задаете значение кроме -1
в этих блоках не происходит никакая ошибка, когда вы симулируете модель. Однако сообщение появляется на диалоговом окне блока, советующем, чтобы установить этот параметр на -1
(наследованный шаг расчета). Если вы продвигаете параметры блоков шага расчета маску, этот параметр всегда отображается на диалоговом окне маски.
Чтобы изменить шаг расчета в этом случае, используйте set_param
команда. Например, выберите блок в Редакторе Simulink и в командной строке, введите:
set_param(gcb,'SampleTime','2');
Разрешите переходы уровня | Шаги расчета в подсистемах | Шаги расчета в системах | Что такое шаг расчета?