Существуют различия в том, как можно использовать Системные объекты в блоке MATLAB System в Simulink® по сравнению с использованием того же объекта в MATLAB®. Вы видите эти различия при работе с сигналами переменного размера и настраиваемыми параметрами и при использовании Системных объектов как свойства.
Чтобы использовать сигналы переменного размера в Системе object™, необходимо реализовать методы matlab.system.mixin.Propagates
. В частности, используйте isOutputFixedSizeImpl метод, чтобы задать, является ли вывод переменным размером или фиксированным размером. Это верно для интерпретированного выполнения и методов симуляции генерации кода.
Simulink указывает общедоступные настраиваемые свойства Системного объекта как настраиваемые параметры соответствующего блока MATLAB System. Если свойство Системного объекта является настраиваемым, это является также настраиваемым в блоке MATLAB System. Во времени выполнения можно изменить параметр с помощью одного из следующих подходов. Изменение применяется наверху цикла симуляции.
В командной строке MATLAB используйте set_param
, чтобы изменить значение параметров.
В редакторе Simulink редактируйте диалоговое окно блока MATLAB System, чтобы изменить значение параметров, и затем обновить блок-схему.
Вы не можете изменить общедоступные настраиваемые свойства от Системного объекта внутренние методы, такие как stepImpl
.
Во время симуляции, устанавливая недопустимое значение на настраиваемом параметре вызывает сообщение об ошибке и останавливает симуляцию.
Блок MATLAB System позволяет Системному объекту иметь другие Системные объекты как публичные или частные свойства. Однако:
Системные объекты и другие объекты MATLAB, хранившие как публичные свойства, только для чтения. В результате вы не можете установить значение параметра, можно только получить значение параметра.
Системные объекты, сохраненные как значения свойств, появляются, потускнел в диалоговом окне блока MATLAB System.
MATLAB не требует, чтобы объекты присвоили значения по умолчанию свойствам. Однако в Simulink, если ваш Системный объект имеет свойства без присвоенных значений по умолчанию, связанный параметр диалогового окна требует, чтобы тип данных значения был встроенным типом данных Simulink.
Чтобы использовать блок MATLAB System в Для Каждого блока Subsystem, реализуйте
метод supportsMultipleInstanceImpl
matlab.system
. Этот метод должен возвратить true
. Блок MATLAB System клонирует Системный объект для каждого Для Каждой итерации Подсистемы.
В Simulink используйте метод validateInputsImpl
, чтобы подтвердить только атрибуты (размер, тип данных и сложность) входа. Не используйте этот метод, чтобы подтвердить значение входа.