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