Спецификация аргумента для функциональных блоков Simulink

Когда Функциональный блок Simulink в рамках блока Function Caller, вы не должны задавать параметры. В таком случае блок Function Caller может определить спецификации аргумента ввода и вывода.

Вы задаете аргументы, когда Функциональный блок Simulink выходит за рамки блока Function Caller. Функциональный блок Simulink считается из осциллографа блока Function Caller, когда два блока находятся в отдельных моделях, на которые ссылается общая родительская модель.

Спецификации аргумента в качестве примера для типов данных

Эта таблица приводит возможные спецификации аргумента ввода и вывода.

Тип данных функционального блока SimulinkФункциональное выражение блока вызывающей стороныОписание
doubledouble(1.0)Скаляр с двойной точностью.
doubledouble(ones(12,1))Вектор-столбец с двойной точностью длины 12.
singlesingle(1.0)Скаляр с одинарной точностью.
int8, int16, int32int8(1), int16(1), int32(1)Целочисленные скаляры.
 int32([1 1 1])Целочисленный вектор - строка из длины 3.
 int32(1+1i)Объедините скаляр, действительные и мнимые части которого являются 32-битными целыми числами.
uint8, int16, int32uint8(1), uint16(1), uint32(1)Счетчики беззнаковых целых чисел.
booleanboolean(true), boolean(false)Булевская переменная, инициализированная к true (1) или лжи (0).

fixdt(1,16)

fixdt (signed, word_length)

fi(0,1,16)

fi (value, signed, word_length)

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 Caller должен быть невиртуальной шиной с помощью объекта шины.

  1. Создайте объект myBus шины Simulink®.

    myBus = Simulink.Bus;
  2. Добавьте элементы A и B.

    myBus.Elements(1).Name = 'A';
    myBus.Elements(2).Name = 'B';

  3. Создайте структуру MATLAB® myBus_MATLABstruct с полями A и B.

    myBus_MATLABStruct.A = 0; 
    myBus_MATLABStruct.B = 0;

  4. Создайте объект параметра Simulink myBus_parameter и присвойте структуру MATLAB параметру Value.

    myBus_parameter = Simulink.Parameter;
    myBus_parameter.DataType = 'Bus: myBus';
    myBus_parameter.Value = myBus_MATLABStruct;
     
  5. Для диалогового окна блока Function Caller, установленного параметр Input argument specification на myBus_parameter.

  6. Для диалогового окна блока Argument In Функционального блока Simulink, установленного параметр Data type на Bus: myBus.

Спецификация входного параметра для перечислимого типа данных

Создайте перечислимый тип данных для этих трех основных цветов, и затем задайте параметр Input argument specification для блока Function Caller. Блок Function Caller вызывает Функциональный блок Simulink, который принимает сигнал с перечислимым типом, как введено.

  1. Создайте файл MATLAB для сохранения определения типов. На панели инструментов MATLAB выберите New> Class.

  2. В редакторе MATLAB задайте элементы перечислимого типа данных. Класс BasicColors является подклассом класса Simulink.IntEnumType.

    classdef BasicColors < Simulink.IntEnumType
      enumeration
        Red(0)
        Yellow(1)
        Blue(2) 
      end
    end 

  3. Сохраните определение класса в файле с именем BasicColors.m.

  4. Создайте объект параметра Simulink myEnum_parameter и присвойте одно из перечисляемых значений к параметру Value.

    myEnum_parameter = Simulink.Parameter;
    myEnum_parameter.Value = BasicColors.Red;
  5. Для диалогового окна блока Function Caller, набор Input argument specification. к myEnum_parameter.

  6. Для диалогового окна блока Argument In в Функциональном блоке Simulink, установленном параметр Data type на Enum: BasicColors.

Спецификация входного параметра для типа данных псевдонима

Создайте имя псевдонима для одного типа данных, и затем задайте параметр Input argument specification для блока Function Caller. Функциональный блок Simulink, вызванный блоком Function Caller также, использует имя псевдонима, чтобы задать тип входных данных.

  1. Создайте объект myAlias типа данных псевдонима Simulink.

    myAlias = Simulink.AliasType;
  2. Присвойте тип данных.

    myAlias.BaseType = 'single';

  3. Создайте объект параметра Simulink myAlias_parameter и присвойте имя псевдонима к параметру DataType.

    myAlias_parameter = Simulink.Parameter;
    myAlias_parameter.DataType = 'myAlias';
    myAlias_parameter.Value = 1;
  4. Для диалогового окна блока Function Caller, установленного параметр Input argument specification на myAlias_parameter.

  5. Для диалогового окна блока Argument In в Функциональном блоке Simulink, установленном параметр Data type на myAlias.

Смотрите также

Блоки

Похожие темы