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