Сконфигурируйте коммуникацию AUTOSAR приемника отправителя

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

  • Приемник отправителя AUTOSAR взаимодействует через интерфейс с элементами данных.

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

В Simulink® вы можете:

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

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

  3. Сопоставьте выходные порты, и импортирует к AUTOSAR, обеспечивают и требуют портов при помощи редактора Отображений Кода.

Для коммуникации приемника отправителя с очередями смотрите, Конфигурируют 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. Выберите и используйте ReceiverPorts, SenderPorts и представления SenderReceiverPorts, чтобы добавить порты AUTOSAR S-R, которые вы хотите сопоставить с новым интерфейсом S-R. Для каждого нового порта S-R выберите интерфейс S-R, который вы создали.

    Опционально, исследуйте коммуникационные атрибуты на каждый порт S-R и измените при необходимости. Для получения дополнительной информации смотрите, Конфигурируют Порт AUTOSAR Sender-Receiver ComSpecs.

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

Сконфигурируйте AUTOSAR, обеспечивают - требуют порта

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

Сконфигурировать PRPort AUTOSAR для коммуникации S-R в Simulink:

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

  2. Откройте Словарь AUTOSAR и перейдите к представлению SenderReceiverPorts. (Чтобы сконфигурировать PRPort для коммуникации NV используйте представление NvSenderReceiverPorts вместо этого.)

  3. Чтобы добавить порт приемника отправителя, нажмите кнопку Add. В диалоговом окне Add Ports задайте Name как PRPort и выберите Interface из списка доступных интерфейсов S-R. Нажмите Add.

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

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

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

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

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

    2. Для импорта качества сервиса, набор DataAccessMode к 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, для которых сконфигурирована политика аннулирования.

  • Используйте блок Signal Invalidation для аннулирования данных приемника отправителя модели для симуляции и генерации кода. Используя параметры блоков, можно задать политику аннулирования сигнала и начальное значение для элемента данных S-R.

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

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

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

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

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

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

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

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

    • Импорт Simulink под названием In1 сопоставлен с портом RPort1 приемника AUTOSAR и элемент данных InElem1. В Словаре AUTOSAR, порте RPort1 приемника AUTOSAR выбирает интерфейс S-R In1, который содержит элемент данных InElem1. В редакторе Отображений Кода, вкладке Inports, вот является отображение для импорта In1.

  2. Добавьте блок Signal Invalidation в модель.

    1. Блок должен быть соединен непосредственно с корневым блоком выходного порта. Соедините блок, чтобы базироваться выходной порт Out.

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

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

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

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

  3. Просмотрите параметры блоков Аннулирования Сигнала, например, в Property Inspector или диалоговом окне параметров блоков. Исследуйте атрибуты Initial value и Signal invalidation policy. Для получения дополнительной информации смотрите страницу с описанием блока Signal Invalidation.

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

  5. Чтобы подтвердить настройку компонента AUTOSAR, откройте редактор Отображений Кода и нажмите кнопку Validate.

  6. Создайте модель и смотрите сгенерированный код. Когда сигнал допустим, сгенерированный код C вызывает Rte_Write_Port_Element. Когда сигнал недопустим, код С вызывает 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® поддерживает защиту AUTOSAR E2E. В Simulink вы можете:

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

  • Сконфигурируйте отправителя AUTOSAR или порт приемника для защиты E2E.

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

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

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

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

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

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

    • Когда объединено с ошибочным импортом состояния, сквозное чтение возвращает uint32 вместо uint8.

    • Для приемника и отправителя COM-SPECs, средство экспорта 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 между компонентами программного обеспечения Среда выполнения (RTE) повышает DataReceiveErrorEvent когда коммуникационный слой сообщает об ошибке в приеме данных компонентом приемника. Например. событие может указать, что компоненту отправителя не удалось ответить в AliveTimeout ограничьте, или что компонент отправителя отправил недопустимые данные.

Поддержки Embedded Coder, создающие DataReceiveErrorEvents в компонентах приемника AUTOSAR. В Simulink вы можете:

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

  • Задайте 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 создайте выполнимое, чтобы обработать DataReceiveErrorEvents.

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

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

    3. Перейдите к панели Events и сконфигурируйте DataReceiveErrorEvent для выполнимого. Нажмите Add Event, выберите, вводят DataReceiveErrorEvent, и введите имя события.

    4. Под Event Properties выберите триггер для события. Выбранное триггерное значение указывает на порт приемника 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>

Сконфигурируйте порт AUTOSAR приемника отправителя ComSpecs

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

К отправителю модели AUTOSAR и приемнику ComSpecs в 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>

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

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

Больше о