Когда блок Simulink Function находится в возможностях блока Function Caller, вы не должны задавать параметры. В таком случае блок Function Caller может определять спецификации входного и выходных аргументов.
Вы задаете аргументы, когда блок Simulink Function находится вне возможностей блока Function Caller. Блок Simulink Function рассматривается вне возможностей блока Function Caller, когда эти два блока находятся в отдельных моделях, на которые ссылается общая родительская модель.
В этой таблице перечислены возможные спецификации входных и выходных аргументов.
Тип данных блока функции Simulink | Выражение блока вызывающего абонента функции | Описание |
---|---|---|
double | double(1.0) | Скаляр двойной точности. |
double | double(ones(12,1)) | Двойная точность вектора-столбца длины 12. |
single | single(1.0) | Скаляр одинарной точности. |
int8 , int16 , int32 | int8(1) , int16(1) , int32(1) | Целочисленные скаляры. |
int32([1 1 1]) | Целое число вектора-строки длины 3. | |
int32(1+1i) | Комплексный скаляр, действительная и мнимая части которого являются 32-битными целыми числами. | |
uint8 , int16 , int32 | uint8(1) , uint16(1) , uint32(1) | Беззнаковые целочисленные скаляры. |
boolean | boolean(true) , boolean(false) | Логический, инициализированный до значения true (1) или false (0). |
|
| 16-битный скаляр со знаком с фиксированной точкой с двоичной точкой, установленной на нуле. Номера с фиксированной точкой могут иметь размер слова до 128 бит. |
fixdt(1,16,4) | fi(0,1,16,4) | 16-битный скаляр со знаком с фиксированной точкой с двоичной точкой, установленной на 4. |
fixdt(1,16,2^0,0) | fi(0,1,16,2^0,0) | 16-битный скаляр со знаком с фиксированной точкой с заданным наклоном 2^0 и значение смещения установлено равным 0. |
Bus: <object name> | parameter object name | Simulink.Parameter объект со Value набор параметров MATLAB® структура для шины. |
Enum: <class name> | parameter object name | Simulink.Parameter объект со Value Набор параметров к перечисленному значению. |
<alias name> | parameter object name | Simulink.Parameter объект со DataType набор параметров, равный Simulink.AliasType объект и Value набор параметров равен значению. |
Создайте шину с двумя сигналами, а затем укажите параметр Input argument specification для блока Function Caller. Блок Function Caller вызывает блок Simulink Function, который принимает шину как вход.
Шина, вход к блоку Function Caller, должна быть невиртуальной шиной, использующей объект шины.
Создайте Simulink® объект шины myBus
.
myBus = Simulink.Bus;
Добавить элементы A
и B
.
myBus.Elements(1).Name = 'A'; myBus.Elements(2).Name = 'B';
Создайте структуру MATLAB myBus_MATLABstruct
с полями A
и B
.
myBus_MATLABStruct.A = 0; myBus_MATLABStruct.B = 0;
Создайте объект параметра Simulink myBus_parameter
и присвойте структуру MATLAB Value
параметр.
myBus_parameter = Simulink.Parameter; myBus_parameter.DataType = 'Bus: myBus'; myBus_parameter.Value = myBus_MATLABStruct;
Для диалогового окна блока Function Caller установите параметр Input argument specification равным myBus_parameter
.
Для Аргумента В диалоговое окно блока из блока Simulink Function установите параметр Data type на Bus: myBus
.
Создайте перечисленный тип данных для трех основных цветов, а затем укажите параметр Input argument specification для блока Function Caller. Блок Function Caller вызывает блок Simulink Function, который принимает сигнал с перечисляемым типом как вход.
Создайте файл MATLAB для сохранения определения типов. На панели инструментов MATLAB выберите New > Class.
В редакторе MATLAB задайте элементы перечисляемого типа данных. Класс BasicColors
- подкласс класса Simulink.IntEnumType
.
classdef BasicColors < Simulink.IntEnumType enumeration Red(0) Yellow(1) Blue(2) end end
Сохраните определение класса в файле с именем BasicColors.m
.
Создайте объект параметра Simulink myEnum_parameter
и присвойте одно из перечисленных значений Value
параметр.
myEnum_parameter = Simulink.Parameter; myEnum_parameter.Value = BasicColors.Red;
Для диалогового окна Function Caller блока установите Input argument specification. на myEnum_parameter
.
Для Аргумента In диалогового окна блока в блоке Simulink Function установите параметр Data type равным Enum: BasicColors
.
Создайте псевдоним имени для типа данных single, а затем укажите параметр Input argument specification для блока Function Caller. Блок Simulink Function, вызываемый блоком Function Caller, также использует имя псевдонима для определения типа входных данных.
Создайте объект типа данных псевдонима Simulink myAlias
.
myAlias = Simulink.AliasType;
Назначьте тип данных.
myAlias.BaseType = 'single';
Создайте объект параметра Simulink myAlias_parameter
и присвойте имя псевдонима DataType
параметр.
myAlias_parameter = Simulink.Parameter; myAlias_parameter.DataType = 'myAlias'; myAlias_parameter.Value = 1;
Для диалогового окна Function Caller блока установите параметр Input argument specification равным myAlias_parameter
.
Для Аргумента In диалогового окна блока в блоке Simulink Function установите параметр Data type равным myAlias
.