exponenta event banner

Настройка связи отправителя и получателя AUTOSAR

При связи отправитель-получатель (S-R) на основе порта AUTOSAR компоненты программного обеспечения AUTOSAR считывают и записывают данные в другие компоненты или службы. Для реализации связи S-R программные компоненты AUTOSAR определяют:

  • Интерфейс отправитель-получатель AUTOSAR с элементами данных.

  • AUTOSAR предоставляет и требует порты, которые отправляют и принимают данные.

В Simulink ® можно:

  1. Создайте интерфейсы и порты AUTOSAR S-R с помощью словаря AUTOSAR.

  2. Модель AUTOSAR предоставляет и требует порты, используя порты и порты корневого уровня Simulink.

  3. Сопоставьте выходы и входы с АВТОЗАР, предоставляющими и требующими порты, с помощью редактора сопоставлений кодов.

Сведения о связи отправитель-получатель в очереди см. в разделе Настройка связи отправитель-получатель в очереди AUTOSAR.

Настройка интерфейса отправитель-получатель AUTOSAR

Для создания интерфейса и портов S-R в Simulink:

  1. Откройте словарь AUTOSAR и выберите S-R Interfaces. Нажмите кнопку Add для создания нового интерфейса данных AUTOSAR S-R. Укажите его имя и количество связанных элементов данных S-R.

  2. Выберите и разверните новый интерфейс S-R. Выберите DataElements и измените атрибуты элемента данных AUTOSAR.

  3. В словаре AUTOSAR разверните узел AtomicComponents и выберите компонент AUTOSAR. Разверните компонент.

  4. Выберите и используйте ракурсы SenderPorts, SenderPorts и SenderPorts для добавления портов AUTOSAR S-R, которые необходимо связать с новым интерфейсом S-R. Для каждого нового порта S-R выберите созданный интерфейс S-R.

    Дополнительно проверьте атрибуты связи для каждого порта S-R и при необходимости измените их. Дополнительные сведения см. в разделе Настройка ComSpecs порта отправителя-получателя AUTOSAR.

  5. Откройте редактор сопоставлений кода. Выберите и используйте вкладки Inports и Outports для сопоставления входов и выходов Simulink с портами AUTOSAR S-R. Для каждого порта ввода или вывода выберите порт AUTOSAR, элемент данных и режим доступа к данным.

Настройка порта предоставления-требования AUTOSAR

AUTOSAR версии 4.1 представил порт предоставления-требования AUTOSAR (PRPort). Моделирование AUTOSAR PRPort включает использование пары входов и выходов Simulink с соответствующими типами данных, измерениями и типами сигналов. Можно связать PRPort с интерфейсом отправитель-получатель (S-R) или энергонезависимым (NV) интерфейсом данных.

Конфигурирование AUTOSAR PRPort для связи S-R в Simulink:

  1. Откройте модель, которая настроена для AUTOSAR и в которой выполняемая модель имеет входной и выходной порты, подходящие для сопряжения с AUTOSAR. PRPort. В этом примере RPort_DE1 ввод и PPort_DE1 outport оба используют тип данных int8, размер порта 1 и тип сигнала real.

  2. Откройте словарь AUTOSAR и перейдите в представление SenderTalkPorts. (Для конфигурирования PRPort для NV-связи используйте представление NvSenderPorts.)

  3. Чтобы добавить порт отправителя-получателя, нажмите кнопку Добавить. В диалоговом окне «Добавление портов» укажите «Имя» как PRPort и выберите интерфейс из списка доступных интерфейсов S-R. Нажмите "Добавить".

  4. Откройте редактор сопоставлений кодов и перейдите на вкладку «Inports». Чтобы сопоставить входной порт Simulink с созданным портом отправителя-получателя AUTOSAR, выберите входной порт и установите значение «Порт». PRPortи установите элемент Element в элемент данных, совместно используемый для входа и выхода.

  5. Выберите вкладку «Выходы». Чтобы сопоставить выходной порт Simulink с созданным портом отправителя-получателя AUTOSAR, выберите выходной порт и установите значение «Порт». PRPortи установите для параметра Element тот же элемент данных, который был выбран на предыдущем шаге.

  6. Нажмите кнопку Validate для проверки обновленной конфигурации компонента AUTOSAR. Если сообщается об ошибках, устраните их и повторите проверку. Общая ошибка, отмеченная проверкой, - несоответствие свойств между портом ввода и портом вывода, которые сопоставлены с AUTOSAR PRPort.

Кроме того, можно программно добавить и сопоставить PRPort порт с использованием свойства AUTOSAR и функций карты. В следующем примере добавляется AUTOSAR PRPort (порт отправителя-получателя), а затем сопоставляет его с парой входов и выходов Simulink.

hModel = 'my_autosar_expfcns';
open_system(hModel)
arProps = autosar.api.getAUTOSARProperties(hModel);
swcPath = find(arProps,[],'AtomicComponent')
swcPath = 
    'ASWC
add(arProps,'ASWC','SenderReceiverPorts','PRPort','Interface','Interface1')
prportPath = find(arProps,[],'DataSenderReceiverPort')
prportPath = 
    'ASWC/PRPort'
slMap = autosar.api.getSimulinkMapping(hModel);
mapInport(slMap,'RPort_DE1','PRPort','DE1','ImplicitReceive')
mapOutport(slMap,'PPort_DE1','PRPort','DE1','ImplicitSend')
[arPortName,arDataElementName,arDataAccessMode] = getOutport(slMap,'PPort_DE1')
arPortName =
PRPort

arDataElementName =
DE1

arDataAccessMode =
ImplicitSend

Настройка порта приемника AUTOSAR для службы IsUpdated

AUTOSAR определяет атрибуты качества обслуживания, такие как ErrorStatus и IsUpdated, для интерфейсов отправитель-получатель. IsUpdated атрибут позволяет явному приемнику AUTOSAR определить, получил ли элемент данных порта получателя данные с момента последнего чтения. Когда данные простаивают, приемник может экономить вычислительные ресурсы.

Для отправителя AUTOSAR Runtime Environment (RTE) устанавливает статус флага обновления, указывающий, был ли записан элемент данных. Получатель вызывает Rte_IsUpdated_Port_Element API, считывающий флаг обновления и возвращающий значение, указывающее, был ли элемент данных обновлен с момента последнего чтения.

В Simulink можно:

  • Импорт порта приемника AUTOSAR, для которого IsUpdated служба сконфигурирована.

  • Конфигурирование порта приемника AUTOSAR для IsUpdated обслуживание.

  • Создание кода C и ARXML для порта приемника AUTOSAR, для которого IsUpdated служба сконфигурирована.

Смоделировать IsUpdated служба в Simulink, вы соединяете входной порт, который настроен для ExplicitReceive доступ к данным с новым портом ввода, сконфигурированным для IsUpdated доступ к данным. Конфигурирование порта приемника AUTOSAR для IsUpdated услуга:

  1. Откройте модель, для которой настроен интерфейс отправитель-получатель AUTOSAR.

  2. Определите входной порт, соответствующий порту приемника AUTOSAR, для которого IsUpdated требуется обслуживание. Создайте второй входной порт, задайте для него тип данных booleanи подключите его к тому же блоку. Например:

  3. Откройте редактор сопоставлений кода. Выберите вкладку Inports. В представлении inports настройте свойства сопоставления для обоих inports.

    1. Если порт ввода данных еще не настроен, установите для DataGroupMode значение ExplicitReceive. Выберите значения Port и Element, которые сопоставляют входной порт с портом-приемником AUTOSAR и элементом данных, для которого IsUpdated требуется обслуживание.

    2. Для ввода качества обслуживания установите для DataGroupMode значение IsUpdated. Выберите значения Port и Element, которые точно соответствуют введенным данным.

  4. Для проверки конфигурации компонента AUTOSAR нажмите кнопку Validate.

  5. Создайте модель и проверьте созданный код. Созданный код C содержит Rte_IsUpdated Вызов API.

    if (Rte_IsUpdated_Input_DE1()) {
      …
      Rte_Read_Input_DE1(&tmp);
      …
    }

    Экспортированный код ARXML содержит параметр ENABLE-UPDATE true для порта приемника AUTOSAR.

    <R-PORT-PROTOTYPE UUID="...">
        <SHORT-NAME>Input</SHORT-NAME>
        <REQUIRED-COM-SPECS>
            <NONQUEUED-RECEIVER-COM-SPEC>
                <DATA-ELEMENT-REF DEST="VARIABLE-DATA-PROTOTYPE">/pkg/if/Input/DE1
                                                               </DATA-ELEMENT-REF>
                …
                <ENABLE-UPDATE>true</ENABLE-UPDATE>
                …
            </NONQUEUED-RECEIVER-COM-SPEC>
        </REQUIRED-COM-SPECS>
        …
    </R-PORT-PROTOTYPE>

Настройка недействительности данных отправителя-получателя AUTOSAR

Стандарт AUTOSAR определяет механизм признания недействительными элементов данных AUTOSAR, используемых в связи отправитель-получатель (S-R). Компонент отправителя может уведомлять дочерний компонент получателя о недопустимости данных в порту отправителя. Каждый элемент данных S-R может иметь политику признания недействительным. В Simulink можно:

  • Импорт элементов данных отправителя-получателя AUTOSAR, для которых настроена политика аннулирования.

  • Используйте блок «Недействительность сигнала» для моделирования недействительности данных отправителя-получателя для моделирования и генерации кода. С помощью параметров блока можно указать политику признания сигнала недействительным и начальное значение для элемента данных S-R.

  • Создайте C-код и описания ARXML для элементов данных отправителя-получателя AUTOSAR, для которых настроена политика аннулирования.

Для каждого элемента данных S-R можно установить для параметра блока Недействительность сигнала Политика недействительности сигнала значение Keep, Replace, или DontInvalidate. Если значение входных данных недопустимо (флаг управления недействительностью true), результирующее действие определяется значением политики признания сигнала недействительным:

  • Keep - Замените значение входных данных последним допустимым значением сигнала.

  • Replace - Замените значение входных данных параметром Initial value.

  • DontInvalidate - Не заменять значение входных данных.

Чтобы настроить политику аннулирования для элемента данных AUTOSAR S-R в Simulink:

  1. Откройте модель, для которой настроен интерфейс отправитель-получатель AUTOSAR. Например, предположим, что:

    • Внешний порт Simulink с именем Out сопоставлен с портом отправителя AUTOSAR PPort и элемент данных OutElem. В словаре AUTOSAR порт отправителя AUTOSAR PPort выбирает интерфейс S-R Out, который содержит элемент данных OutElem.

    • Вход Simulink с именем In1 сопоставлен с портом-приемником AUTOSAR RPort1 и элемент данных InElem1. В словаре AUTOSAR порт приемника AUTOSAR RPort1 выбирает интерфейс S-R In1, который содержит элемент данных InElem1. В редакторе сопоставлений кодов на вкладке «Inports» (Ввод данных) отображается сопоставление для ввода данных. In1.

  2. Добавьте в модель блок «Недействительность сигнала».

    1. Блок должен быть подключен непосредственно к корневому исходящему блоку. Подключение блока к корневому исходящему порту Out.

    2. Подключите первый вход блока, значение данных, к пути данных от корневого входа In1.

    3. Для второго входного блока, флага управления недействительностью, добавьте корневой входной порт с именем In2 к модели. Установить его тип данных скалярным boolean. Сопоставьте новый порт ввода со вторым портом отправителя AUTOSAR. Если второй порт отправителя AUTOSAR не существует, используйте словарь AUTOSAR для создания порта AUTOSAR, интерфейса S-R и элемента данных.

      В этом примере импорт Simulink In2 сопоставлен с портом-приемником AUTOSAR RPort2 и элемент данных InElem2. В словаре AUTOSAR порт приемника AUTOSAR RPort2 выбирает интерфейс S-R In2, который содержит элемент данных InElem2.

      Подключите второй вход блока к корневому входу In2.

  3. Просмотрите параметры блока «Недействительность сигнала», например, в инспекторе свойств или диалоговом окне параметров блока. Проверьте политику аннулирования сигнала и атрибуты начального значения. Дополнительные сведения см. на странице ссылки на блок недействительности сигнала.

  4. Откройте редактор сопоставлений кодов и перейдите на вкладку «Выходы». Для корневого исходящего порта Out, убедитесь, что для режима доступа к данным AUTOSAR установлено значение ExplicitSend или EndToEndWrite.

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

  6. Создайте модель и проверьте созданный код. Когда сигнал действителен, генерируемый код C вызывает Rte_Write_Port_Element. Когда сигнал недействителен, код C вызывает Rte_Invalidate_Port_Element.

    /* SignalInvalidation: '<Root>/Signal Invalidation' incorporates:
     *  Inport: '<Root>/In2'
     */
    if (!Rte_IRead_Runnable_Step_RPort2_InElem2()) {
      /* Outport: '<Root>/Out' */
      (void) Rte_Write_PPort_OutElem(mSignalInvalidation_B.Gain);
    } else {
      Rte_Invalidate_PPort_OutElem();
    }

    Экспортированный код ARXML содержит настройку недействительности для элемента данных.

    <INVALIDATION-POLICY>
        <DATA-ELEMENT-REF DEST="VARIABLE-DATA-PROTOTYPE">/pkg/if/Out/OutElem</DATA-ELEMENT-REF>
        <HANDLE-INVALID>KEEP</HANDLE-INVALID>
    </INVALIDATION-POLICY>
    

Конфигурирование порта интерфейса AUTOSAR S-R для сквозной защиты

Сквозная защита AUTOSAR (E2E) для портов отправителя и получателя основана на библиотеке E2E. E2E - это библиотека C, используемая для безопасной передачи данных между компонентами AUTOSAR. Сквозная защита добавляет дополнительную информацию к исходящему пакету данных. Затем компонент, принимающий пакет, может независимо проверить, соответствует ли принятый пакет данных отправленному пакету. Потенциально принимающий компонент может обнаруживать ошибки и предпринимать действия.

Для упрощения интеграции сгенерированного кода AUTOSAR с решениями AUTOSAR E2E Embedded Coder ® поддерживает защиту E2E AUTOSAR. В Simulink можно:

  • Импорт порта отправителя и портов получателя AUTOSAR, для которых настроена защита E2E.

  • Настройте порт отправителя или получателя AUTOSAR для защиты E2E.

  • Создайте код C и ARXML для портов отправителя и получателя AUTOSAR, для которых настроена защита E2E.

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

  • Поведение моделирования не изменяется.

  • Генерация кода похожа на явную запись и чтение, с такими различиями:

    • Вызовы API-оболочки инициализации E2E отображаются в коде инициализации C.

    • Вызовы API оболочки защиты E2E отображаются в коде шага C.

    • При сочетании с вводом состояния ошибки возвращается сквозное чтение uint32 вместо uint8.

    • Для COM-SPEC получателя и отправителя экспортер ARXML генерирует свойство USES-END-TO-END-PROTECTION со значением true.

Конфигурирование порта отправителя или получателя AUTOSAR для защиты E2E:

  1. Откройте модель, для которой настроен интерфейс отправитель-получатель AUTOSAR.

  2. Откройте редактор сопоставлений кода. Перейдите к входному или исходящему порту Simulink, моделирующему приемник или порт отправителя AUTOSAR, для которого требуется настроить защиту E2E. Выберите порт.

  3. Установите режим доступа к данным AUTOSAR в значение EndToEndRead (ввод) или EndToEndWrite (аутпорт).

  4. Для проверки конфигурации компонента AUTOSAR нажмите кнопку Validate.

  5. Создайте модель и проверьте созданный код. Созданный код C содержит E2E Вызовы API.

    void Runnable_Step(void)
    {
      …
      /* Inport: '<Root>/Input' */
      E2EPW_Read_RPort_InputDE(…);
      …
      /* Outport: '<Root>/Output'... */
      (void) E2EPW_Write_PPort_OutputDE(…);
      …
    }
    …
    void Runnable_Init(void)
    {
      …
      /* End-to-End (E2E) initialization */
      E2EPW_ReadInit_RPort_InputDE();
      E2EPW_WriteInit_PPort_OutputDE();
      …
    }
    

    Экспортированный код ARXML содержит параметры E2E для портов получателя и отправителя AUTOSAR.

    <NONQUEUED-RECEIVER-COM-SPEC>
        …
        <USES-END-TO-END-PROTECTION>true</USES-END-TO-END-PROTECTION>
    …
    <NONQUEUED-SENDER-COM-SPEC>
        …
        <USES-END-TO-END-PROTECTION>true</USES-END-TO-END-PROTECTION>

Настройка порта приемника AUTOSAR для события DataReceiveErrorEvent

При обмене данными отправитель-получатель AUTOSAR между компонентами программного обеспечения среда Runtime Environment (RTE) вызывает DataReceiveErrorEvent когда уровень связи сообщает об ошибке при приеме данных компонентом приемника. Например. событие может указывать, что компонент отправителя не смог ответить в течение AliveTimeout ограничение или то, что компонент отправителя отправил недопустимые данные.

Встроенный кодер поддерживает создание DataReceiveErrorEvents в компонентах приемника AUTOSAR. В Simulink можно:

  • Импорт AUTOSAR DataReceiveErrorEvent определение.

  • Определение DataReceiveErrorEvent.

  • Создание кода ARXML для портов-получателей AUTOSAR, для которых DataReceiveErrorEvent сконфигурирован.

Необходимо настроить DataReceiveErrorEvent для порта приемника AUTOSAR, который использует ImplicitReceive, ExplicitReceive, или EndToEndRead режим доступа к данным.

Конфигурирование порта приемника AUTOSAR для DataReceiveErrorEvent:

  1. Откройте модель, для которой настроена сторона-получатель интерфейса отправитель-получатель AUTOSAR.

  2. Откройте редактор сопоставлений кода. Выберите вкладку Inports. Выберите порт ввода данных, сопоставленный порту-получателю AUTOSAR, для которого требуется настроить DataReceiveErrorEvent. Установите режим доступа к данным AUTOSAR в значение ImplicitReceive, ExplicitReceive, или EndToEndRead. Вот два примера, без и с связанным портом ErrorStatus.

  3. Откройте словарь AUTOSAR. Разверните узел AtomicComponents. Разверните компонент получателя и выберите Runnables.

  4. В представлении runnables создайте runnable для обработки DataReceiveErrorEvents.

    1. Нажмите кнопку Добавить, чтобы добавить выполняемую запись.

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

    3. Перейдите на панель «События» и настройте DataReceiveErrorEvent для выполняемой. Щелкните Добавить событие, выберите тип DataReceiveErrorEventи введите имя события.

    4. В разделе Свойства события выберите триггер для события. Выбранное значение триггера указывает порт приемника AUTOSAR и элемент данных, для которого выполняется обработка DataReceiveErrorEvents.

      Кроме того, можно программно создать DataReceiveErrorEvent.

      arProps = autosar.api.getAUTOSARProperties(mdlname);
      add(arProps,ibQName,'Events','DRE_Evt',...
          'Category','DataReceiveErrorEvent','Trigger','rPort.DE1',...
          'StartOnEvent',runnableQName);
  5. Создайте модель и проверьте созданный код. Экспортированный код ARXML определяет возможность обработки ошибок и инициирующее ее событие.

    <EVENTS>
        <DATA-RECEIVE-ERROR-EVENT UUID="...">
            <SHORT-NAME>DRE_Evt</SHORT-NAME>
            <START-ON-EVENT-REF DEST="RUNNABLE-ENTITY">
              /Root/mDemoModel_swc/ReceivingASWC/IB/Run_ErrorHandling</START-ON-EVENT-REF>
            <DATA-IREF>
                <CONTEXT-R-PORT-REF DEST="R-PORT-PROTOTYPE">
                  /Root/mDemoModel_swc/ReceivingASWC/rPort</CONTEXT-R-PORT-REF>
                <TARGET-DATA-ELEMENT-REF DEST="VARIABLE-DATA-PROTOTYPE">
                  /Root/Interfaces/In/DE</TARGET-DATA-ELEMENT-REF>
            </DATA-IREF>
        </DATA-RECEIVE-ERROR-EVENT>
    </EVENTS>
    ...
    <RUNNABLES>
        ...
        <RUNNABLE-ENTITY UUID="...">
            <SHORT-NAME>Run_ErrorHandling</SHORT-NAME>
            <MINIMUM-START-INTERVAL>0</MINIMUM-START-INTERVAL>
            <CAN-BE-INVOKED-CONCURRENTLY>false</CAN-BE-INVOKED-CONCURRENTLY>
            ...
            <SYMBOL>Run_ErrorHandling</SYMBOL>
        </RUNNABLE-ENTITY>
    </RUNNABLES>

Настройка ComSpecs порта отправителя-получателя AUTOSAR

В программных компонентах AUTOSAR порт отправителя или получателя может дополнительно указать спецификацию связи (ComSpec). ComSpecs описывает дополнительные требования к связи для данных порта.

Для моделирования ComSpecs отправителя и получателя AUTOSAR в Simulink можно:

  • Импорт ComSpecs отправителя и получателя из файлов ARXML.

  • Создание ComSpecs отправителя и получателя в Simulink.

  • Для портов отправителя, не поставленных в очередь, измените атрибут ComSpec InitValue.

  • Для портов приемника, не поставленных в очередь, измените атрибуты ComSpec AliveTimeout, HandleNeverReceived, и InitValue.

  • Для портов приемника в очереди измените атрибут ComSpec QueueLength.

  • Экспорт ComSpecs в файлы ARXML

Например, при создании порта приемника AUTOSAR в Simulink используется редактор сопоставления кодов для сопоставления входного порта Simulink с портом приемника AUTOSAR и элементом данных S-R. Затем можно выбрать порт и указать его атрибуты ComSpec.

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

При импорте или создании порта приемника AUTOSAR можно использовать словарь AUTOSAR для просмотра и редактирования атрибутов ComSpec сопоставленных элементов данных S-R в порту AUTOSAR.

Для программного изменения атрибутов ComSpec порта AUTOSAR используйте функцию свойства AUTOSAR. set. Например:

hModel = 'autosar_swc';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);
arProps = autosar.api.getAUTOSARProperties(hModel);

% Find ComSpec path
portPath = find(arProps,[],'DataReceiverPort','PathType','FullyQualified');
ifPath = find(arProps,[],'SenderReceiverInterface','Name','Input_If','PathType','FullyQualified');
dataElementPath = find(arProps,ifPath{1},'FlowData','Name','In1','PathType','FullyQualified');
infoPath = find(arProps,portPath{1},'PortInfo',...
    'PathType','FullyQualified','DataElements',dataElementPath{1});
comSpecPath = find(arProps,infoPath{1},'PortComSpec','PathType','FullyQualified');

% Set ComSpec attributes
set(arProps,comSpecPath{1},'AliveTimeout',30,'HandleNeverReceived',true,'InitValue',1);
get(arProps,comSpecPath{1},'AliveTimeout')
get(arProps,comSpecPath{1},'HandleNeverReceived')
get(arProps,comSpecPath{1},'InitValue')

Для установки QueueLength атрибут для порта приемника в очереди:

set(arProps,comSpecPath,'QueueLength',10);

При создании кода для модели AUTOSAR, определяющей атрибуты ComSpec, экспортируемые описания портов ARXML включают значения атрибутов ComSpec.

<PORTS>
    <R-PORT-PROTOTYPE UUID="...">
        <SHORT-NAME>ReceivePort</SHORT-NAME>
        <REQUIRED-COM-SPECS>
            <NONQUEUED-RECEIVER-COM-SPEC>
                <DATA-ELEMENT-REF DEST="VARIABLE-DATA-PROTOTYPE">
                  /Company/Powertrain/Interfaces/Input_If/In1
                </DATA-ELEMENT-REF>
...
                <ALIVE-TIMEOUT>30</ALIVE-TIMEOUT>
                <HANDLE-NEVER-RECEIVED>true</HANDLE-NEVER-RECEIVED>
...
                <INIT-VALUE>
                    <CONSTANT-REFERENCE>
                        <SHORT-LABEL>DefaultInitValue_Double_1</SHORT-LABEL>
                        <CONSTANT-REF DEST="CONSTANT-SPECIFICATION">
                          /Company/Powertrain/Constants/DefaultInitValue_Double_1
                        </CONSTANT-REF>
                    </CONSTANT-REFERENCE>
                </INIT-VALUE>
            </NONQUEUED-RECEIVER-COM-SPEC>
        </REQUIRED-COM-SPECS>
    </R-PORT-PROTOTYPE>
</PORTS>
...
<CONSTANT-SPECIFICATION UUID="...">
    <SHORT-NAME>DefaultInitValue_Double_1</SHORT-NAME>
    <VALUE-SPEC>
      <NUMERICAL-VALUE-SPECIFICATION>
          <SHORT-LABEL>DefaultInitValue_Double_1</SHORT-LABEL>
          <VALUE>1</VALUE>
      </NUMERICAL-VALUE-SPECIFICATION>
  </VALUE-SPEC>
</CONSTANT-SPECIFICATION>

См. также

Связанные примеры

Подробнее