Есть несколько способов сделать это в зависимости от вашей ситуации. Вот некоторые из них:
A.) Проблема: вы отлаживаете проблему в IDE и хотите быстро подключить порт устройства к порту компонента.
Решение. Когда компонент и устройство работают либо в домене, либо в изолированной программной среде, разверните компонент и устройство в представлении SCA Explorer, чтобы открыть доступ к портам. Нажмите на выходной порт, затем Ctrl + нажмите на входной порт, к которому вы хотите подключиться. Выделив оба порта, вы можете щелкнуть правой кнопкой мыши и выбрать «Подключиться».
B.) Проблема: вам нужен общий способ подключения входного порта компонентов, независимо от языка реализации, к определенному типу выходного порта устройств, независимо от языковой реализации.
Решение. Это многоэтапный процесс, который поначалу не интуитивно понятен. Я рекомендую вам просмотреть спецификацию SCA на странице D-43 для получения дополнительной информации о шаге 10 и далее ниже.
Откройте компонент в редакторе и перейдите на вкладку Реализации.
Щелкните правой кнопкой мыши реализацию, которую вы хотели бы использовать для этого соединения (например, python).
Выберите «Создать» → «Использует устройство».
Сгенерируйте (или введите) уникальный идентификатор DCE для этого соединения.
Введите тип usesDevice, хотя я не уверен на 100%, имеет ли значение тип, я использовал useDevice
Щелкните правой кнопкой мыши на «Использует устройство», выберите «Ссылка на новое свойство». Вы не будете напрямую подключать компонент X к устройству Y. Вместо этого вы подключаете компонент X к устройству, которое соответствует установленным здесь ограничениям свойств. т.е. модель, тип и т.
В вашем устройстве на вкладке свойств задайте для свойства, такого как device_kind или device_model, поле Name, что-то, с чем вы хотите сопоставиться. Например, мы скажем XYZ123. Сохраните и разверните это в SDR ROOT
Вернитесь в компонент, где мы устанавливали свойство Ref, выберите обзор и выберите свойство на устройстве, которое вы только что установили в качестве соответствующего свойства.
Установите значение на значение, которое вы установили, например, XYZ123. Сохраните и разверните компонент
Теперь в вашем сигнале вам нужно вручную отредактировать файл SAD и добавить что-то вроде этого, где [[TEXT]]
указывает, что вам нужно изменить:
<connections>
<connectinterface id="[[Connection_Name]]">
<usesport>
<usesidentifier>[[Output Port Name]]</usesidentifier>
<deviceusedbythiscomponentref refid="[[DCE matching the componentinstantiationID]]" usesrefid="[[DCE matching the generated ID from step 4]]"/>
</usesport>
<providesport>
<providesidentifier>[[Input Port Name]]</providesidentifier>
<componentinstantiationref refid="[[DCE matching the componentinstantiationID]]"/>
</providesport>
</connectinterface>
</connections>
Я рекомендую вам добавить фиктивный компонент в ваш редактор SAD и подключить фиктивный компонент к реальному компоненту, чтобы ваш файл SAD был заполнен блоком connectinterface, и вы могли увидеть пример соединения.
После внесения этих изменений среда IDE может сообщить вам, что в вашем файле SAD существует ошибка, в любом случае сохраните его, закройте редактор SAD и снова откройте его. Если ошибка не отображается, ваш синтаксис в порядке. Разверните сигнал и запустите как обычно.
C.) Проблема: вы хотите подключиться к устройству с помощью скрипта Python вне REDHAWK, службы Python внутри REDHAWK или через компонент Python в вашем сигнале.
Решение: см. решение Адама.
person
Youssef Bagoulla
schedule
17.05.2013