exponenta event banner

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

Группировать блоки для создания иерархии модели

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

  • Subsystem block

Описание

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

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

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

Атомная подсистема - это блок подсистемы с выбранным параметром блока Обработать как атомную единицу.

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

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

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

  • Выберите все блоки и линии, составляющие подсистему, а затем на вкладке Несколько щелкните Создать подсистему. Simulink ® заменяет блоки блоком подсистемы, а также необходимыми блоками ввода и вывода для отражения сигналов, поступающих и выходящих из подсистемы.

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

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

Примечание

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

Порты

Вход

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

Размещение блока 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 ®.

Главный

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

none

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

FromPortIcon

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

FromPortBlockName

Отображение имени соответствующего блока портов в блоке подсистемы.

SignalName

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

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

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

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

ReadWrite

Разрешить открытие и изменение содержимого подсистемы.

ReadOnly

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

NoReadOrWrite

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

Примечание

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

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

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

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

прочь

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

на

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

Зависимости

Чтобы включить этот параметр, выберите параметр Обработать как атомную единицу.

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

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

Укажите, как планировать подсистему.

Sample time

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

Periodic Partition

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

Aperiodic Partition

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

Зависимости

Чтобы включить этот параметр, выберите параметр Обработать как атомную единицу измерения.

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр Обработать как атомарную единицу измерения (Treat as atomic unit parameter) и задайте для параметра Расписание как (Schedule As) значение Periodic Partition или Aperiodic Partition.

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

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

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

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

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

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

-1

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

[Ts 0]

Укажите время периодической выборки.

Зависимости

Чтобы включить этот параметр, выберите параметр Обработать как атомную единицу.

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

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

Укажите выражение элемента управления (условия) исполнения, которое выполняет блок функции Simulink исполнения, когда выражение вычисляется как true.

Дополнительные сведения см. в разделе Simulink.Variant.

Variant

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

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

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

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

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

Зависимости

Включите этот параметр, добавив блок подсистемы в блок подсистемы вариантов.

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

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

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

на

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

прочь

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

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

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

Создание кода

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

Auto

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

Inline

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

Nonreusable function

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

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

Reusable function

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

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

Дополнительные сведения см. в разделе:

Совет

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

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

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

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

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

Зависимости

  • Для создания кода этому параметру требуется Simulink Coder.

  • Чтобы включить этот параметр, выберите Обработать как атомную единицу.

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

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

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

При наличии лицензии Embedded Coder можно управлять именами функций с помощью опций на панели Создание кода параметра конфигурации (Configuration Parameter Code Generation) > Идентификаторы (Identifiers).

Auto

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

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

Use subsystem name

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

Примечание

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

User specified

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

  • При выборе Reusable function для параметра Function packaging и нескольких экземпляров повторно используемой подсистемы в ссылочной иерархии модели, чтобы создать повторно используемый код для подсистемы, необходимо установить опции File name в значение Auto.

Use subsystem name

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

Примечание

Если для параметров имени файла установлено значение Use subsystem nameимя файла подсистемы обрабатывается, если модель содержит блоки модели или если для модели создается целевой объект ссылки на модель. В этих ситуациях имя файла подсистемы состоит из имени подсистемы, которому предшествует имя модели.

Use function name

Генератор кода использует в качестве имени файла имя функции, указанное опциями Имя функции.

User specified

Эта опция включает текстовое поле Имя файла (без расширения). Генератор кода использует введенное имя в качестве имени файла. Введите любое имя файла, но не включайте .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.

  • Чтобы включить этот параметр, задайте для параметра Имя файла значение 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)

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

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 и целевой системный файл на основе 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).

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

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

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

Зависимости

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

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

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

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

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

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

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

Зависимости

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

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

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

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

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

Inherit from model

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

Default

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

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

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

Совет

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

Для доступа к этому параметру нажмите кнопку «Преобразовать».

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

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

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

Типы данных

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

Прямой проход

no

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

limited[a]

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

limited[a]

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

no

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

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

.

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

.
Представлен в R2007a