Организуйте связанные определения параметров блоков в структурах

Когда вы используете числовой MATLAB® переменные, чтобы установить значения параметров блоков в модели, большие модели могут накопить много переменных, увеличив усилие по обслуживанию и заставив имена переменных вырасти в длине.

Вместо этого можно организовать эти значения параметров в структуры. Каждая структура является одной переменной, и каждое поле структуры хранит числовое значение параметров. Можно присвоить понятные имена к структурам, подструктурам и полям, чтобы указать на цель каждого значения.

Используйте структуры для:

  • Сократите количество переменных рабочей области, которые необходимо обеспечить.

  • Избегайте конфликтов по совпадению имен между переменными рабочей области.

    Вы не можете создать две переменные, которые имеют то же имя в том же осциллографе, такой как в базовом рабочем пространстве. Когда вы создаете структуры, необходимо предоставить каждому полю имя, но несколько структур могут каждый содержать поле, которое использует то же имя. Поэтому можно использовать каждую структуру и подструктуру как namespace, который препятствует тому, чтобы имена полей конфликтовали друг с другом и с другими именами переменных в том же осциллографе.

  • Логически наборы группы значений параметров блоков. Например, используйте вложенные структуры, чтобы ясно идентифицировать значения параметров, что каждая подсистема или сослалась на использование модели.

Если вы используете параметры маски или аргументы модели, чтобы передать значения параметров компонентам системы, можно использовать структуры, чтобы сократить количество отдельных параметров маски или аргументов модели, которые необходимо обеспечить. Вместо того, чтобы передать несколько переменных, можно передать одну переменную структуры.

Для основной информации о создании и управлении структурами MATLAB, смотрите Структуры. Для основной информации об устанавливании значений параметров блоков в модели смотрите Установленные Значения Параметров блоков.

Чтобы использовать структуры, чтобы инициализировать сигналы шины, смотрите, Задают Начальные условия для Элементов Шины.

Создайте и используйте структуру параметра

В этом примере показано, как создать и использовать структуру параметра в модели.

Модель f14 в качестве примера использование несколько переменных из базового рабочего пространства, чтобы установить значения параметров блоков. Например, когда вы открываете модель, она создает переменные Zw, Mw, и Mq в базовом рабочем пространстве. Организовывать эти переменные в одну переменную структуры:

  1. В командной строке откройте модель в качестве примера.

    f14

  2. В командной строке создайте структуру параметра myGains. Установите значения полей при помощи значений целевых переменных.

    myGains.Zw = Zw;
    myGains.Mw = Mw;
    myGains.Mq = Mq;

  3. В Model Explorer, на панели Model Hierarchy, нажимают Base Workspace. В панели Contents щелкните правой кнопкой по переменной Mq и выберите Find Where Used.

  4. В диалоговом окне Select a system кликните по узлу f14 и нажмите OK. Нажмите OK, когда спрошено об обновлении схемы.

  5. В панели Contents щелкните правой кнопкой по строке, соответствующей блоку, пометил Gain1, и выберите Properties. Диалоговое окно блока Gain1 открывается.

  6. Измените значение параметра Gain от Mq к myGains.Mq и нажмите OK.

  7. В панели Contents щелкните правой кнопкой по строке, соответствующей блоку Transfer Fcn.1, и выберите Properties.

  8. Измените значение параметра Denominator coefficients от [1,-Mq] к [1,-myGains.Mq] и нажмите OK.

  9. В панели Model Hierarchy нажмите Base Workspace. Используйте Find Where Used, чтобы определить местоположение блоков, которые используют переменные Mw и Zw. В диалоговых окнах блока замените ссылки на имена переменных согласно таблице.

    Имя переменнойЗаменяющее имя
    MwmyGains.Mw
    ZwmyGains.Zw

  10. Очистите старые переменные.

    clear Zw Mw Mq

Каждые из модифицированных параметров блоков теперь используют поле myGains структура. Числовое значение каждого поля структуры равно значению соответствующей переменной, которую вы очистили.

Можно переместить модель, чтобы использовать одну структуру параметра вместо нескольких переменных рабочей области.

Храните информацию типа данных в значениях полей

Использовать структуру или массив структур, чтобы организовать значения параметров, которые используют тип данных кроме double, можно явным образом задать тип, когда вы создаете структуру. Когда вы создадите структуру, используйте введенные выражения, такие как single(15.23) задавать значения полей.

myParams.Gain = single(15.23);

Если вы хотите изменить значение поля позже, необходимо не забыть явным образом задавать тип снова. Если вы не задаете тип, значение поля использует тип данных double вместо этого:

myParams.Gain = 15.23;
% The field 'Gain' now uses the data type 'double' instead of 'single'.

Чтобы сохранить спецификацию типа, можно использовать преобразованное в нижний индекс присвоение, чтобы присвоить новое значение полю:

% Assign value of type 'single'.
myParams.Gain = single(15.23);

% Assign new value while retaining type 'single'.
myParams.Gain(:) = 11.79;

Чтобы совпадать с типом данных с фиксированной точкой, установите значение поля при помощи fi Объект (Fixed-Point Designer).

Типы данных поля элемента управления и характеристики путем создания объекта параметра

Simulink.Parameter объект позволяет вам разделять значение параметров блоков от его типа данных. Если вы используете объект параметра, чтобы сохранить структуру или массив структур, можно создать Simulink.Bus возразите, чтобы использовать в качестве типа данных целой структуры.

Можно использовать объект шины и объект параметра, чтобы явным образом управлять:

  • Тип данных каждого поля. Когда вы используете этот метод, вы не должны помнить использовать введенные выражения или преобразованное в нижний индекс присвоение, чтобы установить значения полей.

  • Сложность, размерности и модули каждого поля.

  • Минимальное и максимальное значение каждого поля, если поле представляет значение настраиваемого параметра.

  • Форма целой структуры. shape структуры является номером, именами и иерархией полей.

  • Приспособляемость структуры в коде, который вы генерируете из модели.

  1. Создайте структуру параметра myParams.

    myParams = struct(...
        'SubsystemA',struct(...
            'Gain',15.23,...
            'Offset',89,...
            'Init',0.59),...
        'SubsystemB',struct(...
            'Coeffs',[5.32 7.99],...
            'Offset',57,...
            'Init1',1.76,...
            'Init2',2.76)...
    );

  2. Используйте функцию Simulink.Bus.createObject создать Simulink.Bus объекты, которые представляют структуру и подструктуры.

    Simulink.Bus.createObject(myParams)
    

    Поскольку myParams содержит две уникальных подструктуры, функция создает три Simulink.Bus объекты: один именованный slBus1 представлять первичную структуру myParams, один именованный SubsystemA для подструктуры SubsystemA, и один именованный SubsystemB для подструктуры SubsystemB.

  3. Переименуйте объект slBus1 шины как myParamsType.

    myParamsType = slBus1;
    clear slBus1

  4. Сохраните структуру myParams в Simulink.Parameter объект.

    myParams = Simulink.Parameter(myParams);

    Value свойство объекта параметра содержит структуру.

  5. Установите тип данных объекта параметра к объекту myParamsType шины.

    myParams.DataType = 'Bus: myParamsType';

  6. Откройте Редактор Шины, чтобы просмотреть объекты шины.

    buseditor

  7. В панели Model Hierarchy кликните по узлу SubsystemA. В панели Contents, набор полевые типы данных согласно фигуре.

  8. Опционально, установите полевые типы данных для подструктуры SubsystemB.

Объект параметра myParams хранит структуру параметра. Тип данных объекта параметра является объектом myParamsType шины. До симуляции и генерации кода, объект параметра бросает значения полей к типам данных, которые вы задали в объекте шины.

Чтобы использовать одно из полей, чтобы установить значение параметров блоков, задайте выражение, такое как myParams.SubsystemB.Init1.

Чтобы получить доступ к значениям полей в командной строке, используйте Value свойство объекта параметра. Поскольку объект шины управляет полевыми типами данных, вы не должны использовать введенное выражение, чтобы установить значение поля.

myParams.Value.SubsystemA.Gain = 12.79;

Объект шины строго управляет полевыми характеристиками и формой структуры. Например, если вы устанавливаете значение двухэлементного поля myParams.SubsystemB.Coeffs к трехэлементному массиву модель генерирует ошибку, когда вы устанавливаете значение параметров блоков. Чтобы изменить размерности поля, измените элемент Coeffs в объекте SubsystemB шины.

Чтобы управлять объектами шины после того, как вы создаете их, смотрите, Создают и Задают Объекты Simulink.Bus и Сохраняют Объекты Simulink.Bus.

Совпадайте с полевым типом данных типу данных сигнала

Предположим, что вы используете поле myParams.SubsystemA.Gain устанавливать значение параметра Gain в блоке Gain. Если вы хотите, чтобы тип данных поля совпадал с типом данных выходного сигнала блока, вы не можете использовать контекстно-зависимый ввод данных (см., что Контекстно-зависимые Данные Вводят). Рассмотрите использование Simulink.AliasType или Simulink.NumericType возразите, чтобы установить тип данных поля и сигнала. Если вы не используете объект типа данных, необходимо не забыть изменять тип данных поля каждый раз, когда вы изменяете тип данных сигнала.

  1. В командной строке создайте Simulink.AliasType объект, который представляет тип данных single.

    myType = Simulink.AliasType;
    myType.BaseType = 'single';

  2. В диалоговом окне блока Gain, на вкладке Signal Attributes, устанавливает Output data type на myType.

  3. В командной строке откройте Редактор Шины.

    buseditor

  4. В панели Model Hierarchy выберите объект SubsystemA шины. В панели Contents, набор тип данных поля Gain к myType.

Теперь и выходной сигнал блока Gain и поле myParams.SubsystemA.Gain структуры используйте тип данных, который вы задаете при помощи BaseType свойство myType.

Для получения дополнительной информации об объектах типа данных, смотрите Simulink.AliasType и Simulink.NumericType.

Управляйте переменными структуры

Чтобы создать, измените и смотрите переменную, значение которой является структурой, можно использовать Редактора переменных. Для получения дополнительной информации смотрите, Изменяют Структуру и Переменные типа массив В интерактивном режиме.

Задайте иерархию параметра путем создания вложенных структур

Чтобы далее организовать значения параметров блоков, создайте иерархию вложенных структур.

Например, предположите, что вы создаете подсистемы под названием SubsystemA и SubsystemB в вашей модели. Вы используете переменные, такие как Offset_SubsystemA и Offset_SubsystemB устанавливать значения параметров блоков в подсистемах.

Gain_SubsystemA = 15.23;
Offset_SubsystemA = 89;
Init_SubsystemA = 0.59;

Coeffs_SubsystemB = [5.32 7.99];
Offset_SubsystemB = 57;
Init1_SubsystemB = 1.76;
Init2_SubsystemB = 2.76;

Создайте структуру параметра, которая содержит подструктуру для каждой подсистемы. Используйте значения существующих переменных, чтобы установить значения полей.

myParams = struct(...
    'SubsystemA',struct(...
        'Gain',Gain_SubsystemA,...
        'Offset',Offset_SubsystemA,...
        'Init',Init_SubsystemA),...
    'SubsystemB',struct(...
        'Coeffs',Coeffs_SubsystemB,...
        'Offset',Offset_SubsystemB,...
        'Init1',Init1_SubsystemB,...
        'Init2',Init2_SubsystemB)...
);

Одна переменная myParams структуры содержит всю информацию о параметре для блоков в подсистемах. Поскольку каждая подструктура действует как пространство имен, можно задать Offset поле несколько раз.

Использовать Offset поле от подструктуры SubsystemB как значение параметров блоков, задайте значение параметров в диалоговом окне блока как выражение myParams.SubsystemB.Offset.

Группа несколько структур параметра в массив

Чтобы организовать структуры параметра, которые имеют подобные характеристики, можно создать одну переменную, значение которой является массивом структур. Этот метод помогает вам параметрировать модель, которая содержит несколько экземпляров алгоритма, таких как подсистема библиотеки или модель, на которую ссылаются, которая использует аргументы модели.

Предположим, что вы создаете две идентичных подсистемы в модели.

Предположим, что блоки в каждой подсистеме требуют, чтобы три числовых значения установили значения параметров. Создайте массив двух структур, чтобы сохранить значения.

myParams(1).Gain = 15.23;
myParams(1).Offset = 89;
myParams(1).Init = 0.59;

myParams(2).Gain = 11.93;
myParams(2).Offset = 57;
myParams(2).Init = 2.76;

Каждая структура в массиве хранит эти три значения параметров для одной из подсистем.

Чтобы установить значение параметров блоков в одной из подсистем, задайте выражение, которое ссылается на поле одной из структур в массиве. Например, используйте выражение myParams(2).Init.

Организуйте значения параметров для допускающих повторное использование компонентов и итеративных алгоритмов

Можно также разделить массив структур в блоке For Each Subsystem. Этот метод помогает вам организовать переменные рабочей области, когда модель неоднократно выполняет алгоритм, например, путем итерации алгоритма по векторному сигналу. Для примера смотрите Повторение Алгоритм Используя Для Каждой Подсистемы.

Если вы используете аргументы модели, чтобы задать различные значения параметров через несколько экземпляров модели, на которую ссылаются, можно использовать массивы структур, чтобы организовать значения аргументов модели. В рабочем пространстве модели, на которое ссылаются создайте переменную структуры и сконфигурируйте модель, чтобы использовать структуру в качестве аргумента модели. Используйте поля структуры, чтобы установить значения параметров блоков в модели. Затем создайте массив структур в базовом рабочем пространстве или словаре данных, с которым соединяются родительская модель или модели. В родительской модели или моделях, используйте каждую из структур в массиве как значение аргумента модели в блоке Model. Каждая структура в массиве хранит значения параметров для одного экземпляра модели, на которую ссылаются.

Модель sldemo_mdlref_datamngt в качестве примера содержит три экземпляра (блоки Model) модели sldemo_mdlref_counter_datamngt маскированной, на которую ссылаются,. Переменные IC1 базового рабочего пространства, IC2, Param1, и Param2 Simulink.Parameter объекты, значения которых являются структурами. Родительская модель использует эти переменные, чтобы установить значения параметров маски на блоках Model. Начиная с IC1 структурно идентично IC2, и Param1 к Param2, можно объединить эти четыре структуры в два массива структур.

  1. Откройте родительскую модель в качестве примера.

    sldemo_mdlref_datamngt

    Модель создает четыре Simulink.Parameter объекты в базовом рабочем пространстве.

  2. Откройте пример модель, на которую ссылаются.

    sldemo_mdlref_counter_datamngt

    Рабочее пространство модели задает два аргумента модели, CounterICs и CounterParams, чьи значения являются структурами. Блоки в модели используют поля этих структур, чтобы установить значения параметров.

  3. В модели sldemo_mdlref_datamngt, откройте Model Data Editor (на вкладке Modeling, нажмите Model Data Editor). В Model Data Editor смотрите вкладку Parameters.

  4. В модели кликните по одному из блоков Model.

    Model Data Editor подсвечивает строки, которые соответствуют двум параметрам маски на выбранном блоке Model. Блок использует параметры маски, чтобы установить значения двух аргументов модели, заданных моделью, на которую ссылаются, sldemo_mdlref_counter_datamngt. Каждый блок Model использует различную комбинацию этих четырех объектов параметра от базового рабочего пространства, чтобы установить значения аргументов.

  5. В столбце Value Model Data Editor кликните по одной из ячеек, чтобы начать редактировать значение соответствующего параметра маски (например, IC1). Рядом со значением параметров кликните по кнопке действий и выберите Open. Диалоговое окно свойства для объекта параметра открывается.

  6. В диалоговом окне свойства, рядом с полем Value, кликают по кнопке действий и выбирают Open Variable Editor.

    Редактор переменных показывает, что объект параметра хранит структуру. Структуры в Param2 и IC2 имейте те же поля как структуры в Param1 и IC1 но различные значения полей.

  7. В командной строке объедините эти четыре объекта параметра в два объекта параметра, значения которых являются массивами структур.

    % Create a new parameter object by copying Param1.
    Param = Param1.copy;
    
    % Use the structure in Param2 as the second structure in the new object.
    Param.Value(2) = Param2.Value;
    % The value of Param is now an array of two structures.
    
    % Delete the old objects Param1 and Param2.
    clear Param1 Param2
    
    % Create a new parameter object by copying IC1.
    % Use the structure in IC2 as the second structure in the new object.
    IC = IC1.copy;
    IC.Value(2) = IC2.Value;
    clear IC1 IC2

  8. В родительской модели, в Model Data Editor, используют столбец Value, чтобы заменить значения параметров маски согласно таблице

    Предыдущее значениеНовое значение
    Param1Param(1)
    IC1IC(1)
    Param2Param(2)
    IC2IC(2)

Каждый блок Model устанавливает значение аргумента CounterICs модели при помощи одной из структур в массиве IC. Точно так же каждый блок устанавливает значение CounterParams при помощи одной из структур в Param.

Осуществите однородность в массиве структур

Все структуры в массиве структур должны иметь ту же иерархию полей. Каждое поле в иерархии должно иметь те же характеристики в массиве. Можно использовать объект параметра и объект шины осуществить эту однородность среди структур.

Чтобы использовать объект параметра, чтобы представлять массив структур параметра, установите значение объекта к массиву структур:

% Create array of structures.
myParams(1).Gain = 15.23;
myParams(1).Offset = 89;
myParams(1).Init = 0.59;
myParams(2).Gain = 11.93;
myParams(2).Offset = 57;
myParams(2).Init = 2.76;

% Create bus object.
Simulink.Bus.createObject(myParams);
myParamsType = slBus1;
clear slBus1

% Create parameter object and set data type.
myParams = Simulink.Parameter(myParams);
myParams.DataType = 'Bus: myParamsType';

Чтобы использовать одно из полей, чтобы установить значение параметров блоков, задайте выражение, такое как myParams(2).Offset.

Чтобы получить доступ к значениям полей в командной строке, используйте Value свойство объекта параметра.

myParams.Value(2).Offset = 129;

Создайте структуру сигналов с постоянным знаком

Можно использовать структуру в блоке Constant, чтобы создать один сигнал шины, который передает несколько числовых констант. Для получения дополнительной информации смотрите Constant. Для получения информации о сигналах шины смотрите Виртуальную Шину.

Факторы прежде, чем мигрировать на структуры параметра

  • Прежде чем вы переместите модель, чтобы использовать структуры параметра, обнаружить все блоки в целевой модели и в других моделях, которые используют переменные, которые вы намереваетесь заменить.

    Например, предположите, что два блока в модели используют переменную myVar рабочей области. Если вы создаете структуру myParams с полем myVar, и набор значение параметров в только одном из блоков к myParams.myVar, другой блок продолжает использовать переменную myVar. Если вы удаляете myVar, модель генерирует ошибку, потому что оставшийся блок требует удаленной переменной.

    Чтобы обнаружить все блоки, которые используют переменную:

    1. Откройте все модели, которые могут использовать переменную. Если модели находятся в иерархии модели - ссылки, можно открыть только топ-модель.

    2. В Model Data Editor или в панели Contents Model Explorer, щелкните правой кнопкой по переменной и выберите Find Where Used. Model Explorer отображает все блоки, которые используют переменную.

    Можно обнаружить переменное использование только в моделях, которые открыты. Прежде чем вы мигрируете на структуры параметра, откроете все модели, которые могут использовать целевые переменные. Для получения дополнительной информации об определении переменного использования в модели, смотрите Блоки Открытия Который Использование Определенная Переменная.

    В качестве альтернативы можно воздержаться от удаления myVar. Однако, если вы изменяете значение myParams.myVar поле структуры, необходимо не забыть изменять значение myVar соответствовать.

  • Можно объединить несколько отдельных переменных или объектов параметра (таких как Simulink.Parameter) в структуру, которую вы храните в одном переменном или объекте параметра (чтобы объединить объекты параметра, смотрите Объединение Существующие Объекты параметра В Структуру). Однако получившаяся переменная или объект действуют как одна сущность. В результате вы не можете применить различные настройки генерации кода, такие как классы памяти, к отдельным полям в структуре.

Объедините существующие объекты параметра в структуру

Когда вы используете объекты параметра, чтобы установить значения параметров блоков (например, таким образом, можно применить классы памяти), чтобы объединить объекты в одну структуру:

  1. Создайте структуру MATLAB и сохраните ее в переменной. Чтобы установить значения полей, используйте значения параметров, которые хранит каждый существующий объект параметра.

  2. Преобразуйте переменную в объект параметра. Создайте и используйте Simulink.Bus возразите как тип данных объекта параметра (см. Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра).

  3. Выберите класс памяти, чтобы примениться к получившемуся объекту параметра. Можно выбрать только один класс памяти, который применяется к целой структуре.

  4. Передайте метаданные параметра, такие как Min и Max свойства существующих объектов параметра, к соответствующим свойствам Simulink.BusElement объекты в объекте шины.

Например, предположите, что у вас есть три отдельных объекта параметра.

coeff = Simulink.Parameter(17.5);
coeff.Min = 14.33;
coeff.DataType = 'single';
coeff.StorageClass = 'ExportedGlobal';

init = Simulink.Parameter(0.00938);
init.Min = -0.005;
init.Max = 0.103;
init.DataType = 'single';
init.StorageClass = 'Model default';

offset = Simulink.Parameter(199);
offset.DataType = 'uint8';
offset.StorageClass = 'ExportedGlobal';

  1. Создайте переменную структуры.

    myParams.coeff = coeff.Value;
    myParams.init = init.Value;
    myParams.offset = offset.Value;

  2. Преобразуйте переменную в объект параметра.

    myParams = Simulink.Parameter(myParams);

  3. Создайте объект шины и используйте его в качестве типа данных объекта параметра.

    Simulink.Bus.createObject(myParams.Value);
    paramsDT = copy(slBus1);
    
    myParams.DataType = 'Bus: paramsDT';

  4. Передайте метаданные от старых объектов параметра до элементов шины в объекте шины.

    % coeff
    paramsDT.Elements(1).Min = coeff.Min;
    paramsDT.Elements(1).DataType = coeff.DataType;
    
    % init
    paramsDT.Elements(2).Min = init.Min;
    paramsDT.Elements(2).Max = init.Max;
    paramsDT.Elements(2).DataType = init.DataType;
    
    % offset
    paramsDT.Elements(3).DataType = offset.DataType;

    Чтобы помочь вам записать скрипт, который выполняет эту операцию передачи, можно использовать properties функционируйте, чтобы найти свойства, которые имеют общего элементы шины и старые объекты параметра. Чтобы перечислить поля структуры так, чтобы можно было выполнить итерации по ним, используйте fieldnames функция.

  5. Примените класс памяти к объекту параметра.

    myParams.StorageClass = 'ExportedGlobal';

Теперь можно использовать поля myParams, вместо старых объектов параметра, чтобы установить значения параметров блоков.

Структуры параметра в сгенерированном коде

Можно сконфигурировать структуры параметра, чтобы появиться в сгенерированном коде как структуры и массивы структур. Для получения информации о генерации кода со структурами параметра смотрите, Организуют Данные в Структуры в Сгенерированном коде (Simulink Coder).

Ограничения структуры параметра

  • Значение поля, которое вы используете, чтобы установить параметры блоков, должно быть числовым или перечислимого типа. Значение поля может быть действительным или комплексным скаляром, вектором или многомерным массивом.

  • Если значение какого-либо из полей структуры является многомерным массивом, вы не можете настроить ни одно из значений полей в процессе моделирования.

  • Все структуры в массиве структур должны иметь ту же иерархию полей. Каждое поле в иерархии должно иметь те же характеристики в массиве:

    • Имя поля

    • Тип числовых данных, такой как single или int32

    • Сложность

    • Размерности

    Предположим, что вы задаете массив двух структур.

    paramStructArray = ...
    [struct('sensor1',int16(7),'sensor2',single(9.23)) ...
     struct('sensor1',int32(9),'sensor2',single(11.71))];

    Вы не можете использовать ни одно из полей в параметрах блоков потому что поле sensor1 использует другой тип данных в каждой структуре.

  • Структуры параметра не поддерживают контекстно-зависимый ввод данных в сгенерированном коде. Если структура параметра является настраиваемой в коде, поля структуры используют типы числовых данных, которые вы задаете или при помощи введенных выражений или при помощи Simulink.Bus объект. Если вы не используете введенные выражения или Simulink.Bus объект, поля структуры используют double тип данных.

Упакуйте общие данные точек по оси Х и данные таблицы для интерполяционных таблиц

Когда вы осуществляете обмен данными между блоками интерполяционной таблицы, рассматриваете использование Simulink.LookupTable и Simulink.Breakpoint объекты вместо структур, чтобы сохранить и сгруппировать данные. Этот метод улучшает удобочитаемость модели путем ясной идентификации данных как частей интерполяционной таблицы и явным образом соединения данных о точке останова с табличными данными. Смотрите Пакет Разделяемые Данные о Точке останова и Таблице для Интерполяционных таблиц.

Создайте структуру параметра согласно типу структуры от существующего кода С

Можно создать структуру параметра, которая соответствует struct введите определение, которое задает ваш существующий код С. Используйте этот метод для:

В MATLAB сохраните структуру параметра в объекте параметра и используйте объект шины в качестве типа данных (см. Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра). Чтобы создать шину возражают согласно вашему коду С struct введите, используйте Simulink.importExternalCTypes функция.

Похожие темы