Subsystem, Atomic Subsystem, CodeReuse Subsystem

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

  • Библиотека:
  • Simulink/Порты и подсистемы

  • 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 поддерживает распространение метки сигнала через блоки Inport и Outport подсистемы.

Примечание

Подсистема-ссылка является подсистемой, хранящейся в отдельном файле, на который ссылается с помощью блока 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

Параметры

расширить все

Для параметров на вкладке Генерация Кода требуется Simulink Coder™ или Embedded Coder® лицензия.

Главный

Выберите способ отображения меток портов на значке Subsystem блока.

none

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

FromPortIcon

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

FromPortBlockName

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

SignalName

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

прочь

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

на

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

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

Параметр: TreatAsAtomicUnit
Тип: Вектор символов
Значение: 'off' | 'on'
По умолчанию: '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 равным Periodic Partition или Aperiodic Partition.

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

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

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

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

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

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

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

на

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

прочь

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 interface. Вы можете назвать сгенерированную функцию и файл с помощью параметров имя функции и File name (без расширения). Эти функции не являются повторяющимися.

Reusable function

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

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

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

Совет

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

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

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

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

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

Зависимости

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

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

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

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

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

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

Auto

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

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

Use subsystem name

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

Примечание

Когда подсистема находится в библиотечном блоке, и параметр подсистемы Function packaging устанавливается в 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 приводит к различным результатам:

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

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

Параметр: 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)

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

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

Allow arguments (Match graphical interface)

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

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'

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

прочь

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

на

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

Для получения дополнительной информации о том, как сгенерировать код модульной функции для атомарной подсистемы, смотрите Сгенерируйте код модульной функции для невиртуальных подсистем (Embedded Coder).

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

Зависимости

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

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

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

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

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

Inherit from model

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

Default

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

The memory section of interest

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

Совет

Зависимости

  • Этот параметр требует лицензии для программного обеспечения 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

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

Default

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

The memory section of interest

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

Совет

Зависимости

  • Этот параметр требует лицензии для программного обеспечения 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

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

Default

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

The memory section of interest

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

Совет

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

  • Возможные значения варьируются в зависимости от того, какой (если какой-либо) пакет разделов памяти вы установили для строения модели. Смотрите Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder).

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

  • Эти опции могут быть полезны для переопределения настроек раздела памяти модели для данной подсистемы. Для получения дополнительной информации о том, как применить разделы памяти к атомарным подсистемам, смотрите Переопределение размещения памяти по умолчанию для функций подсистемы и данных (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

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

Default

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

The memory section of interest

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

Совет

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

  • Возможные значения варьируются в зависимости от того, какой (если какой-либо) пакет разделов памяти вы установили для строения модели. Смотрите Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder).

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

  • Эти опции могут быть полезны для переопределения настроек раздела памяти модели для данной подсистемы. Для получения дополнительной информации о том, как применить разделы памяти к атомарным подсистемам, смотрите Переопределение размещения памяти по умолчанию для функций подсистемы и данных (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

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

Default

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

Интересующий раздел памяти

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

Совет

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

  • Возможные значения варьируются в зависимости от того, какой (если какой-либо) пакет разделов памяти вы установили для строения модели. Смотрите Control Data and Function Placement in Memory by Inserting Pragmas (Embedded Coder).

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

  • Эти опции могут быть полезны для переопределения настроек раздела памяти модели для данной подсистемы. Для получения дополнительной информации о том, как применить разделы памяти к атомарным подсистемам, смотрите Переопределение размещения памяти по умолчанию для функций подсистемы и данных (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.

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

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

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

Типы данных

Булев[a] | шина[a] | double[a] | перечисленные[a] | фиксированную точку[a] | половину[a] | целое число[a] | сингл[a] | строка[a]

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

no

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

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

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

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

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

no

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

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

.

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

.
Введенный в R2007a