Subsystem, Atomic Subsystem, CodeReuse Subsystem

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

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

  • Subsystem block

Описание

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

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

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

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

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

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

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

  • Выберите все блоки и линии, которые составляют подсистему, и затем во вкладке Multiple, нажимают Create Subsystem. Simulink® заменяет блоки на блок Subsystem, наряду с необходимым Inport и блоками Outport, чтобы отразить сигналы, входящие и оставляющие подсистему.

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

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

Примечание

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

Порты

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

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

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

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

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

Вывод

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

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

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

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

Параметры

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

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

Основной

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

none

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

FromPortIcon

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

FromPortBlockName

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

SignalName

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

Для редактирования метки порта на блоках Subsystem смотрите Метки порта Редактирования на Подсистемах.

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

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

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

ReadWrite

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

ReadOnly

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

NoReadOrWrite

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

Примечание

Вы не получаете ответ, при попытке просмотреть содержимое подсистемы, параметр Read/Write permissions которой устанавливается на NoReadOrWrite. Например, при двойном клике по такой подсистеме, Simulink не открывает подсистему и не отображает сообщений.

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

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

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

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

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

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

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

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

All

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

ExplicitOnly

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

None

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

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

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

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

off

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

on

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

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

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

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

off

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

on

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

Зависимости

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

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

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

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

Sample time

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

Periodic Partition

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

Aperiodic Partition

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

Зависимости

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

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр Treat as atomic unit и установите Schedule As на Periodic Partition или Aperiodic Partition.

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

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

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

  • Если блоки в подсистеме могут запуститься на различных уровнях, задайте шаг расчета подсистемы, как наследовано (-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'

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

Для получения дополнительной информации смотрите Simulink.Variant.

Variant

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

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

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

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

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

Зависимости

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

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

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

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

on

Simulink обрабатывает подсистему как модуль при распространении различных условий от блоков Variant Source или с блоками Variant Sink. Например, когда 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. В противном случае имена ваших файлов кода изменяются каждый раз, когда вы изменяете свою модель, которая предотвращает систему контроля версий над вашими файлами.

  • Если вы выбираете опцию кроме Auto или Inline и параметр конфигурации модели States, генератор кода производит отдельные методы выхода и обновления. Генератор кода не учитывает спецификацию Combine output and update methods for code generation and simulation.

Зависимости

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

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

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

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

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

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

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).

Зависимости

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

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

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

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

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

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

Зависимости

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

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

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

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

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

Auto

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

  • Если генератор кода не генерирует отдельный файл для подсистемы, код подсистемы сгенерирован в модуле кода, сгенерированном от родительской системы подсистемы. Если родительский элемент подсистемы является самой моделью, код подсистемы сгенерирован в modelC или 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.

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

Параметр: 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>'
Значение по умолчанию: ''

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

void_void

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

void subsystem_function(void)

Allow arguments (Optimized)

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

void subsystem_function(real_T rtu_In1, real_T rtu_In2, 
                        real_T *rty_Out1)
В некоторых случаях, при генерации оптимизированного кода, генератор кода не может сгенерировать функцию, которая имеет аргументы.

Allow arguments (Match graphical interface)

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

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

Для получения дополнительной информации см.:

Зависимости

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

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

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

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

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

off

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

on

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

Для получения дополнительной информации о том, как сгенерировать модульный функциональный код для атомарной подсистемы, смотрите, Генерируют Модульный Функциональный Код для Невиртуальных Подсистем (Embedded Coder).

Для получения дополнительной информации о том, как применить разделы памяти к атомарным подсистемам, смотрите Размещение Памяти Значения по умолчанию Переопределения для Функций Подсистемы и Данных (Embedded Coder).

Зависимости

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

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

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

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

Выберите, как 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).

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

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

  • Эти опции могут быть полезны для переопределения настроек раздела memory модели для данной подсистемы. Для получения дополнительной информации о том, как применить разделы памяти к атомарным подсистемам, смотрите Размещение Памяти Значения по умолчанию Переопределения для Функций Подсистемы и Данных (Embedded Coder).

Зависимости

  • Этот параметр требует лицензии на 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).

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

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

  • Эти опции могут быть полезны для переопределения настроек раздела memory модели для данной подсистемы. Для получения дополнительной информации о том, как применить разделы памяти к атомарным подсистемам, смотрите Размещение Памяти Значения по умолчанию Переопределения для Функций Подсистемы и Данных (Embedded Coder).

Зависимости

  • Этот параметр требует лицензии на 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).

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

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

  • Эти опции могут быть полезны для переопределения настроек раздела memory модели для данной подсистемы. Для получения дополнительной информации о том, как применить разделы памяти к атомарным подсистемам, смотрите Размещение Памяти Значения по умолчанию Переопределения для Функций Подсистемы и Данных (Embedded Coder).

Зависимости

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

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

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

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

Ссылка подсистемы

Зависимости

Чтобы получить доступ к этому параметру, нажмите кнопку Convert.

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

Примеры модели

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

Типы данных

Boolean[a] | шина[a] | дважды[a] | перечислимый[a] | фиксированная точка[a] | половина[a] | целое число[a] | один[a] | строка[a]

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

no

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

ограниченный[a]

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

ограниченный[a]

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

no

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

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

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

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