Некоторые блоки не позволяют вам установить параметр 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. Для получения дополнительной информации смотрите 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');
Разрешите переходы уровня | Шаги расчета в подсистемах | Шаги расчета в системах | Что такое шаг расчета?