Подсистема, атомарная подсистема, подсистема CodeReuse

Группа блокируется, чтобы создать иерархию модели

  • Библиотека:
  • Simulink / Ports & Subsystems

Описание

Блок Subsystem содержит подмножество блоков в модели или системе. Блок Subsystem может представлять виртуальную подсистему или невиртуальную подсистему.

  • Невиртуальная подсистема – Управление, когда содержимое подсистемы оценено как единый блок (атомарное выполнение). Создайте условно выполняемые подсистемы, которые запускаются только, когда событие имеет место на инициировании, вызове функции, действии или входе включения (см. Условно Выполняемые Подсистемы и Модели).

  • Виртуальная подсистема – Подсистема ни условно ни атомарно не выполняется. Виртуальные подсистемы не имеют контрольных сумм. Чтобы определить, является ли подсистема виртуальной, используйте функцию get_param для булевых параметров блоков IsSubsystemVirtual.

Атомарная подсистема является блоком Subsystem с параметрами блоков выбранный Treat as atomic unit.

codereuse подсистема является блоком Subsystem с параметром выбранный Treat as atomic unit и набор parameter Function packaging к Reusable function, задавая функциональный формат генерации кода для подсистемы.

Чтобы создать подсистему, выполнить одно из следующих действий:

  • Скопируйте блок Subsystem с библиотеки Ports & Subsystems в вашу модель. Затем добавьте блоки в подсистему путем открытия блока Subsystem и копирования блоков в него.

  • Выберите все блоки и строки, которые составляют подсистему и выбирают Diagram> Subsystem & Model Reference> Create Subsystem from Selection. Simulink® заменяет блоки на блок Subsystem, наряду с необходимыми блоками Inport и Outport, чтобы отразить сигналы, входящие и оставляющие подсистему.

Количество входных портов, продвинутых значок блока Subsystem, соответствует количеству блоков Inport в подсистеме. Точно так же количество выходных портов, продвинутых блок, соответствует количеству блоков Выходного порта в подсистеме.

Блок Subsystem поддерживает распространение метки сигнала через подсистему блоки Outport и Inport.

Порты

Входной параметр

развернуть все

Размещение блока Inport в блоке подсистемы добавляет внешний входной порт в блок. Метка порта совпадает с именем блока Inport.

Используйте блоки Inport, чтобы получить сигналы от окружения.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

Вывод

развернуть все

Размещение блока Outport в блоке подсистемы добавляет выходной порт от блока. Метка порта на блоке подсистемы является именем блока Outport.

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

Параметры

развернуть все

Параметры на вкладке Code Generation требуют лицензия Embedded Coder® или Simulink Coder™.

Основной

Выберите, как отобразить метки порта на значке блока Subsystem.

none

Не отображайте метки порта.

FromPortIcon

Если соответствующий значок порта отображает имя сигнала, отобразите имя сигнала на блоке Subsystem. В противном случае отобразите имя блокировки порта.

FromPortBlockName

Отобразите имя соответствующей блокировки порта на блоке Subsystem.

SignalName

Если имя сигнала существует, отобразите имя сигнала, соединенного с портом на блоке Subsystem. В противном случае отобразите имя соответствующей блокировки порта.

Программируемое использование

Параметр: ShowPortLabels
Ввод: символьный вектор
Значение: 'FromPortIcon' | 'FromPortBlockName' | 'SignalName'
Значение по умолчанию: 'FromPortIcon'

Управляйте пользовательским доступом к содержимому подсистемы.

ReadWrite

Позвольте открыться и модификация содержимого подсистемы.

ReadOnly

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

NoReadOrWrite

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

Программируемое использование

Параметр: Permissions
Ввод: символьный вектор
Значение: 'ReadWrite' | 'ReadOnly' | 'NoReadOrWrite'
Значение по умолчанию: 'ReadWrite'

Введите имя функции, которая будет названа, если ошибка происходит, в то время как Simulink выполняет подсистему.

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

Программируемое использование

Параметр: ErrorFcn
Ввод: символьный вектор
Значение: '' | '<function name>'
Значение по умолчанию: ''

Выберите, разрешить ли имена переменных рабочей области, на которые ссылается эта подсистема.

Смотрите Процесс Разрешения Разрешения и Символа Символа в Руководстве пользователя Simulink для получения дополнительной информации.

All

Разрешите все имена переменных рабочей области, используемых этой подсистемой, включая используемых, чтобы задать значения параметров блоков и Объекты данных Simulink (например, объекты Simulink.Signal).

ExplicitOnly

Разрешите, что только имена переменных рабочей области раньше задавали значения параметров блоков, память хранилища данных (где никакой блок не существует), сигналы, и утверждает отмеченный, когда “должен решить”.

None

Не разрешайте имена переменных рабочей области.

Программируемое использование

Параметр: PermitHierarchicalResolution
Ввод: символьный вектор
Значение: 'All' | 'ExplicitOnly' | 'None'
Значение по умолчанию: 'All'

Причины Simulink, чтобы обработать подсистему как модуль при определении порядка выполнения методов блока.

'off'

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

на

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

Зависимость

Выбирая этот параметр, включает Minimize algebraic loop occurrences, Sample time, Schedule As и параметры Function packaging. Используя Function packaging требует лицензии Simulink Coder.

Программируемое использование

Параметр: TreatAsAtomicUnit
Ввод: символьный вектор
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

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

'off'

Не пытайтесь устранить любые искусственные алгебраические циклы, которые включают атомарную подсистему.

на

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

Зависимость

Чтобы включить этот параметр, выберите параметр Treat as atomic unit.

Программируемое использование

Параметр: MinAlgLoopOccurrences
Ввод: символьный вектор
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

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

Sample time

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

Periodic Partition

Запланируйте подсистему как периодический раздел. Задайте имя раздела и шаг расчета, соответствующий уровню, на котором запускается раздел.

Aperiodic Partition

Запланируйте подсистему как апериодический раздел. Задайте имя раздела.

Зависимость

Чтобы включить этот параметр, выберите параметр Treat as atomic unit.

Программируемое использование

Параметр: ScheduleAs
Ввод: символьный вектор
Значение: 'SampleTime' | 'DiscretePartition' 'UnconstrainedPartition'
Значение по умолчанию: 'SampleTime'

Задайте имя раздела для подсистемы.

Зависимость

Чтобы включить этот параметр, выберите параметр Treat as atomic unit и Schedule As, чтобы быть Discrete Partition или Unconstrained partition.

Программируемое использование

Параметр: PartitionName
Ввод: символьный вектор
Значение: character vector |
Значение по умолчанию: character vector

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

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

  • Если все блоки должны запуститься на том же уровне, задайте шаг расчета, соответствующий этому уровню как значение параметра Sample time.

  • Если какой-либо из блоков в подсистеме задает различный шаг расчета (кроме -1 или inf), Simulink отображает сообщение об ошибке, когда вы обновляете или моделируете модель. Например, предположите, что все блоки в подсистеме должны запустить времена 5 секунда. Чтобы гарантировать это, задайте шаг расчета подсистемы как 0.2. В этом примере, если какой-либо из блоков в подсистеме задает шаг расчета кроме 0.2, -1 или inf, Simulink отображает ошибку, когда вы обновляете или моделируете модель.

-1

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

[Ts 0]

Задайте периодический шаг расчета.

Зависимость

Чтобы включить этот параметр, выберите параметр Treat as atomic unit.

Программируемое использование

Параметр: SystemSampleTime
Ввод: символьный вектор
Значение: '-1' | '[Ts 0]'
Значение по умолчанию: '-1'

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

'off'

Не включайте распространение контекста выполнения через контур этой подсистемы.

на

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

Зависимость

Включите этот параметр путем добавления порта Enable или Триггерной блокировки порта к блоку Subsystem.

Программируемое использование

Параметр: PropExecContextOutsideSubsystem
Ввод: символьный вектор
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

Задайте различное управление (условие) выражение, которое выполняет различный Функциональный блок Simulink, когда выражение оценивает к true.

См. также Simulink.Variant

Variant

Имя по умолчанию для логического (булева) выражения.

логическое выражение

Логическое (булево) выражение или объект Simulink.Variant, представляющий логическое выражение.

Функция активируется, когда выражение оценивает к true.

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

Зависимость

Включите этот параметр путем добавления блока Subsystem в Различном блоке Subsystem.

Программируемое использование

Параметры блоков: VariantControl
Ввод: символьный вектор
Значение: 'Variant' | '<logical expression>'
Значение по умолчанию: 'Variant'

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

на

Simulink обрабатывает подсистему как модуль при распространении различных условий от Различных Исходных блоков или к Различным блокам Приемника. Например, когда Simulink вычисляет различное условие подсистемы, это распространяет то условие ко всем блокам в подсистеме.

'off'

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

Программируемое использование

Параметр: TreatAsGroupedWhenPropagatingVariantConditions
Ввод: символьный вектор
Значение: 'on' | 'off'
Значение по умолчанию: 'on'

Генерация кода

Выберите формат кода, который будет сгенерирован для атомарной (невиртуальной) подсистемы.

Auto

Simulink Coder и Embedded Coder выбирают оптимальный формат для вас на основе типа и количества экземпляров подсистемы, которые существуют в модели.

Inline

Simulink Coder и Embedded Coder встраивают подсистему безусловно.

Nonreusable function

Если Filename options установлен в Auto, Simulink Coder и отдельные функции пакета Embedded Coder в образцовом файле. Если File name options установлен в Use subsystem name, Use function name или User specified с помощью различных имен файлов, Simulink Coder и отдельных функций пакета Embedded Coder в отдельных файлах.

Подсистемы с этой установкой генерируют функции, которые могут иметь аргументы в зависимости от установки параметра интерфейса Function. Можно назвать сгенерированную функцию и файл с помощью Имени функции параметров и Имени файла (никакое расширение). Эти функции не повторно используемы.

Reusable function

Simulink Coder и Embedded Coder генерируют функцию с аргументами, которая позволяет повторное использование кода подсистемы, когда модель включает несколько экземпляров подсистемы.

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

Советы

  • Когда это необходимо несколько экземпляров подсистемы, которая будет представлена как одна допускающая повторное использование функция, можно определять каждого из них как Auto или как Reusable function. Лучше использовать один или другой, как использующий обоих создает две допускающих повторное использование функции, один для каждого обозначения. Результаты этого выбора отличаются только, когда повторное использование не возможно. Выбор Auto не позволяет управление функции или имени файла для кода подсистемы.

  • Reusable function и опции Auto и пытаются определить, существуют ли несколько экземпляров подсистемы и если код может быть снова использован. Различие между поведением опций - это, когда повторное использование не возможно:

    • Auto приводит к встроенному коду, или если обстоятельства запрещают встраивание, отдельные функции для каждого экземпляра подсистемы.

    • Reusable function приводит к отдельной функции с аргументами для каждого экземпляра подсистемы в модели.

  • Если вы выбираете Reusable function, в то время как ваш сгенерированный код находится под системой контроля версий, установите File name options на Use subsystem name, Use function name или User specified. В противном случае имена ваших файлов кода изменяются каждый раз, когда вы изменяете свою модель, которая предотвращает систему контроля версий над вашими файлами.

Зависимость

  • Этот параметр требует Simulink Coder для генерации кода.

  • Чтобы включить этот параметр, выберите Treat as atomic unit.

  • Установка этого параметра на Nonreusable function или Reusable function включает следующие параметры:

    • Function name options

    • File name options

    • Раздел Memory для инициализирует/отключает функции (требует лицензии на Embedded Coder и основанный на ERT системный конечный файл),

    • Раздел Memory для функций выполнения (требует лицензии на Embedded Coder и основанный на ERT системный конечный файл),

  • Установка этого параметра на Nonreusable function включает Function with separate data (требует лицензии на Embedded Coder и основанный на ERT системный конечный файл).

Программируемое использование

Параметр: RTWSystemCode
Ввод: символьный вектор
Значение: 'Auto' | 'Inline' | 'Nonreusable function' | 'Reusable function'
Значение по умолчанию: 'Auto'

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

Выберите, как Simulink Coder называет функцию, которую он генерирует для подсистемы.

Если у вас есть лицензия Embedded Coder, вы можете имена функции управления с опциями на Параметре конфигурации Code Generation> панель Symbols.

Auto

Присвойте уникальное имя функции с помощью соглашения о присвоении имен по умолчанию, model_subsystem(), где model является именем модели, и subsystem является именем подсистемы (или тот из идентичного, когда код снова используется).

Если вы выбираете Reusable function для параметра Function packaging и существует несколько экземпляров допускающей повторное использование подсистемы в иерархии модели - ссылки в порядке сгенерировать повторно используемый код для подсистемы, Function name options должен быть установлен в Auto.

Use subsystem name

Используйте имя подсистемы в качестве имени функции. По умолчанию имя функции использует соглашение о присвоении имен model_subsystem.

Примечание

Когда подсистема находится в блоке библиотеки, и упаковка Функции параметра подсистемы установлена в Reusable function, если вы устанавливаете опцию Use subsystem name, генератор кода использует имя блока библиотеки для имени функции и имени файла подсистемы.

User specified

Включите поле Function name. Введите любой легальный C или имя функции C++, которое должно быть уникальным.

Зависимость

  • Этот параметр требует лицензии Simulink Coder.

  • Установка функции Генерации кода, группирующей к Nonreusable function или Reusable function, включает этот параметр.

  • Установка этого параметра на User specified включает параметр имени функции Генерации кода.

Программируемое использование

Параметр: RTWFcnNameOpts
Ввод: символьный вектор
Значение: 'Auto' | 'Use subsystem name' | 'User specified'
Значение по умолчанию: 'Auto'

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

Для получения дополнительной информации смотрите Генерацию Управления Функций для Подсистем (Simulink Coder).

Задайте уникальный, допустимый C или имя функции C++ для кода подсистемы.

Используйте этот параметр, если вы хотите дать функции собственное имя вместо того, чтобы позволить генератору кода Simulink Coder присваивать свое собственное автоматически сгенерированное имя или использовать имя подсистемы. Для получения дополнительной информации смотрите Генерацию Управления Функций для Подсистем (Simulink Coder).

Зависимость

  • Этот параметр требует лицензии Simulink Coder.

  • Чтобы включить этот параметр, установите параметр Function name options на User specified.

Программируемое использование

Параметр: RTWFcnName
Ввод: символьный вектор
Значение: '' | '<function name>'
Значение по умолчанию: ''

Выберите, как Simulink Coder называет отдельный файл для функции, которую это генерирует для подсистемы.

Смотрите Специфичные для блока Параметры для получения информации о командной строке.

Auto

В зависимости от настройки подсистемы и сколько экземпляров находится в модели, Auto приводит к различным результатам:

  • Если генератор кода не генерирует отдельный файл для подсистемы, код подсистемы сгенерирован в модуле кода, сгенерированном от родительской системы подсистемы. Если родительский элемент подсистемы является самой моделью, код подсистемы сгенерирован в model.c или model.cpp.

  • Если вы выбираете Reusable function для параметра Function packaging, и ваш сгенерированный код находится под системой контроля версий, рассмотрите определение значения File name options кроме Auto. Это препятствует тому, чтобы сгенерированное имя файла изменилось из-за несвязанных образцовых модификаций, который проблематичен для использования системы контроля версий, чтобы управлять настройками.

  • Если вы выбираете Reusable function для параметра Function packaging и существует несколько экземпляров допускающей повторное использование подсистемы в иерархии модели - ссылки в порядке сгенерировать повторно используемый код для подсистемы, File name options должен быть установлен в Auto.

Use subsystem name

Генератор кода генерирует отдельный файл, с помощью подсистемы (или блок библиотеки) имя как имя файла.

Примечание

Когда File name options установлен в Use subsystem name, имя файла подсистемы искажается, если модель содержит блоки Model, или если цель модели-ссылки генерируется для модели. В этих ситуациях имя файла для подсистемы состоит из имени подсистемы, снабженного префиксом именем модели.

Use function name

Генератор кода использует имя функции, заданное Function name options как имя файла.

User specified

Эта опция включает поле ввода текста File name (no extension). Генератор кода использует имя, которое вы вводите как имя файла. Введите любое имя файла, но не включайте .c или .cpp (или никакой другой) расширение. Это имя файла не должно быть уникальным.

Примечание

В то время как имя исходного файла подсистемы не должно быть уникальным, необходимо постараться не давать групповые имена, которые приводят к циклическим зависимостям (например, sys_a.h включает sys_b.h, sys_b.h включает sys_c.h, и sys_c.h включает sys_a.h).

Зависимость

  • Этот параметр требует лицензии Simulink Coder.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function или Reusable function.

  • Установка этого параметра на User specified включает параметр File name (no extension).

Программируемое использование

Параметр: RTWFileNameOpts
Ввод: символьный вектор
Значение: 'Auto' | 'Use subsystem name' | 'Use function name' | 'User specified'
Значение по умолчанию: 'Auto'

Имя файла, которое вы задаете, не должно быть уникальным. Однако постарайтесь не давать групповые имена, которые приводят к циклическим зависимостям (например, sys_a.h включает sys_b.h, sys_b.h включает sys_c.h, и sys_c.h включает sys_a.h).

Для получения дополнительной информации смотрите Генерацию Управления Функций для Подсистем (Simulink Coder).

Зависимость

  • Этот параметр требует лицензии Simulink Coder.

  • Чтобы включить этот параметр, установите File name options на User specified.

Программируемое использование

Параметр: RTWFileName
Ввод: символьный вектор
Значение: '' | '<file name>'
Значение по умолчанию: ''

Сгенерируйте код функции подсистемы, в котором внутренние данные для атомарной подсистемы разделяются от своей родительской модели и принадлежат подсистеме.

'off'

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

на

Сгенерируйте код функции подсистемы, в котором внутренние данные для атомарной подсистемы разделяются от своей родительской модели и принадлежат подсистеме. Структура данных подсистемы объявляется независимо от структур данных родительской модели. Подсистема с отдельными данными имеет свою собственную структуру данных блока I/O и DWork. В результате сгенерированный код для подсистемы легче проследить и протестировать. Разделение данных также имеет тенденцию уменьшать максимальный размер структур глобальных данных в модели, потому что они разделены в несколько структур данных.

Зависимость

  • Этот параметр требует лицензии на Embedded Coder и основанный на ERT системный конечный файл.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function.

  • Выбор этого параметра включает эти параметры:

    • Memory section for constants

    • Memory section for internal data

    • Memory section for parameters

Программируемое использование

Параметр: FunctionWithSeparateData
Ввод: символьный вектор
Значение: 'off' | 'on'
Значение по умолчанию: 'off'

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

Выберите, чтобы использовать аргументы со сгенерированной функцией.

void_void

Сгенерируйте функцию без аргументов и передайте данные как глобальные переменные. Например:

void subsystem_function(void)

Allow arguments

Сгенерируйте функцию, которая использует аргументы вместо передающих данных как глобальные переменные. Эта спецификация уменьшает глобальный RAM. Это может уменьшать размер кода и улучшить скорость выполнения и позволить генератору кода применять дополнительную оптимизацию. Например:

void subsystem_function(real_T rtu_In1, real_T rtu_In2, 
                        real_T *rty_Out1)

Зависимость

  • Этот параметр требует лицензии Embedded Coder и основанного на ERT системного конечного файла.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function.

Программируемое использование

Параметр: FunctionInterfaceSpec
Ввод: символьный вектор
Значение: 'void_void' | 'Allow arguments'
Значение по умолчанию: 'void_void'

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

Выберите, как Embedded Coder применяет разделы памяти к функциям инициализации и завершения подсистемы.

Inherit from model

Примените разделы корневой модели memory к функциональному коду подсистемы

Default

Не применяйте разделы памяти к системному коду подсистемы, заменяя любую спецификацию образцового уровня

The memory section of interest

Примените один из разделов модели memory к подсистеме

Советы

Зависимость

  • Этот параметр требует лицензии на программное обеспечение Embedded Coder и основанный на ERT системный конечный файл.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function или Reusable function.

Программируемое использование

Параметр: RTWMemSecFuncInitTerm
Ввод: символьный вектор
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest'
Значение по умолчанию: 'Inherit from model'

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

Выберите, как Embedded Coder применяет разделы памяти к функциям выполнения подсистемы.

Inherit from model

Примените разделы корневой модели memory к функциональному коду подсистемы

Default

Не применяйте разделы памяти к системному коду подсистемы, заменяя любую спецификацию образцового уровня

The memory section of interest

Примените один из разделов модели memory к подсистеме

Советы

Зависимость

  • Этот параметр требует лицензии на программное обеспечение Embedded Coder и основанный на ERT системный конечный файл.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function или Reusable function.

Программируемое использование

Параметр: RTWMemSecFuncExecute
Ввод: символьный вектор
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest'
Значение по умолчанию: 'Inherit from model'

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

Выберите, как Embedded Coder применяет разделы памяти к константам подсистемы.

Inherit from model

Примените разделы корневой модели memory к данным подсистемы

Default

Не применяют разделы памяти к данным подсистемы, заменяя любую спецификацию образцового уровня

The memory section of interest

Примените один из разделов модели memory к подсистеме

Советы

  • Раздел memory, который вы задаете, применяется к соответствующим структурам глобальных данных в сгенерированном коде. Для основной информации о структурах глобальных данных, сгенерированных для атомарных подсистем, смотрите Стандартные Структуры данных в Сгенерированном коде (Simulink Coder).

  • Может быть полезно для переопределения настроек раздела memory модели для данной подсистемы.

  • Возможные значения отличаются в зависимости от того, что (если таковые имеются) пакет разделов памяти вы установили для настройки модели. Смотрите Данные об Управлении и Функциональное Размещение в Памяти Вставкой Прагм (Embedded Coder).

  • Если вы не сконфигурировали модель с пакетом, Inherit from model является единственным значением, которое появляется. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.

Зависимость

  • Этот параметр требует лицензии на Embedded Coder и основанный на ERT системный конечный файл.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function и выберите параметр Function with separate data

Программируемое использование

Параметр: RTWMemSecDataConstants
Ввод: символьный вектор
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest'
Значение по умолчанию: 'Inherit from model'

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

Выберите, как Embedded Coder применяет разделы памяти к подсистеме внутренние данные.

Inherit from model

Примените разделы корневой модели memory к данным подсистемы

Default

Не применяют разделы памяти к данным подсистемы, заменяя любую спецификацию образцового уровня

The memory section of interest

Примените один из разделов модели memory к подсистеме

Советы

  • Раздел memory, который вы задаете, применяется к соответствующим структурам глобальных данных в сгенерированном коде. Для основной информации о структурах глобальных данных, сгенерированных для атомарных подсистем, смотрите Стандартные Структуры данных в Сгенерированном коде (Simulink Coder).

  • Может быть полезно для переопределения настроек раздела memory модели для данной подсистемы.

  • Возможные значения отличаются в зависимости от того, что (если таковые имеются) пакет разделов памяти вы установили для настройки модели. Смотрите Данные об Управлении и Функциональное Размещение в Памяти Вставкой Прагм (Embedded Coder).

  • Если вы не сконфигурировали модель с пакетом, Inherit from model является единственным значением, которое появляется. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.

Зависимость

  • Этот параметр требует лицензии на Embedded Coder и основанный на ERT системный конечный файл.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function и выберите параметр Function with separate data.

Программируемое использование

Параметр: RTWMemSecDataInternal
Ввод: символьный вектор
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest'
Значение по умолчанию: 'Inherit from model'

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

Выберите, как Embedded Coder применяет разделы памяти к параметрам подсистемы.

Inherit from model

Примените разделы корневой модели memory к функциональному коду подсистемы

Default

Не применяют разделы памяти к системному коду подсистемы, заменяя любую спецификацию образцового уровня

Раздел memory интереса

Примените один из разделов модели memory к подсистеме

Советы

  • Раздел memory, который вы задаете, применяется к соответствующей структуре глобальных данных в сгенерированном коде. Для основной информации о структурах глобальных данных, сгенерированных для атомарных подсистем, смотрите Стандартные Структуры данных в Сгенерированном коде (Simulink Coder).

  • Может быть полезно для переопределения настроек раздела memory модели для данной подсистемы.

  • Возможные значения отличаются в зависимости от того, что (если таковые имеются) пакет разделов памяти вы установили для настройки модели. Смотрите Данные об Управлении и Функциональное Размещение в Памяти Вставкой Прагм (Embedded Coder).

  • Если вы не сконфигурировали модель с пакетом, Inherit from model является единственным значением, которое появляется. В противном случае список включает Default и все разделы памяти, которые содержит пакет модели.

Зависимость

  • Этот параметр требует лицензии на Embedded Coder и основанный на ERT системный конечный файл.

  • Чтобы включить этот параметр, установите Function packaging на Nonreusable function и выберите параметр Function with separate data.

Программируемое использование

Параметр: RTWMemSecDataParameters
Ввод: символьный вектор
Значение: 'Inherit from model' | 'Default' | 'The memory section of interest'
Значение по умолчанию: 'Inherit from model'

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

Образцовые примеры

Характеристики блока

Типы данных

Boolean[a] | bus[a] | double[a] | enumerated[a] | fixed point[a] | integer[a] | single[a] | string[a]

Прямое сквозное соединение

no

Многомерные сигналы

limited[a]

Сигналы переменного размера

limited[a]

Обнаружение пересечения нулем

no

[a]  Фактическая поддержка типа данных или возможности зависит от реализации блока.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

Представленный в R2007a