시스템 에디터(포트와 포트의 연결 편)

데이터 포트와 데이터 포트, 서비스 포트와 서비스 포트 사이의 연결에대해 설명합니다.

데이터 포트와 데이터 포트의 연결

 데이터 포트의 연결으로 「 InPort 」와「 OutPort 」를 연결합니다. 이러한 포트 사이를 드래그&드롭으로 연결하면 이하의 다이얼로그가 표시됩니다.

fig29ConnectDialog1_kr.png
데이터 포트의 Connector Profile 다이얼로그

fig29ConnectDialog2_kr.png
데이터 포트의 Connector Profile 다이얼로그(상세)


다이얼로그의 항목과 조건은 이하와 같습니다.

데이터 포트 연결의 다이얼로그 항목과 필요 조건

다이얼로그 항목명 ConnectorProfile 필요 조건
Name name 특별히 없음
Data Type properties “dataport.data_type” 이 커넥터로 접속하고 있는 데이터 포트 사이에 송수신 하는 데이터형을 지정합니다.
각각의 포트에서 서로 송수신 가능한 데이터형으로부터 선택합니다. 다만, Any를 포함한 경우는 상대 포트의 어떠한 값도 허용합니다.
Instance Type properties “dataport.interface_type” RT시스템 설계자가 상정하거나 RTC가 동작하는 RT미들웨어 상에서 지원되는 인터페이스 종별을 지정합니다.
각각의 포트로 서에서 지원하고 있는 인터페이스 종별로부터 선택합니다. 다만, Any를 포함한 경우는 상대 포트의 어떠한 인터페이스도 허용합니다.
Dataflow Type properties “dataport.dataflow_type” RT시스템 설계자가 상정하거나 RTC가 동작하는 RT미들웨어 상에서 지원되는 데이터 플로우형을 지정합니다.
각각의 포트로 서에서 지원하고 있는 데이터 플로우형으로부터 선택합니다. 다만, Any를 포함한 경우는 상대 포트의 어떠한 데이터 플로우도 허용합니다.
Subscription Type properties “dataport.subscription_type” [Dataflow Type의 값이 Push 일 때에 필요한 조건]
RT시스템 설계자가 상정하거나 RTC가 동작하는 RT미들웨어 상에서 지원되는 서브 스크립션 종별을 지정합니다.
각각의 포트에서 서로 지원하는 서브 스크립션 종별로부터 선택합니다. 다만, Any를 포함한 경우는 상대의 어떠한 서브 스크립션 종별도 허용합니다.
Push Rate(Hz) properties “dataport.push_interval” [Dataflow Type의 값이”Push”이고 또한 Subscription Type이 ”Periodic”일 때에 필요한 조건]
서브 스크립션 종별이 「Periodic」인 경우에 데이터의 송신 주기를 지정합니다. 송신 주기는 정수치(소수가능)로 지정합니다.
Push Policy properties “dataport.publisher.push_policy” 데이터 송신 정책. [Dataflow Type의 값이 ”Push”이고 또한 Subscription Type이 ”Periodic”일 때에 필요한 조건]all、fifo、skip、new중에서 선택합니다.
all:버퍼 내의 데이터를 일괄 송신
fifo:버퍼 내의 데이터를 FIFO으로 한개씩 송신
skip:버퍼 내의 데이터를 스킵해서 송신
new:버퍼 내의 데이터의 최신값을 송신(오래된 값은 버려집니다.)
Skip Count properties "dataport.publisher.skip_count" 송신 데이터 스킵수. [Push Policy의 값이”skip”일 때에 필요한 조건]버퍼 내의 데이터가 이 지정값으로 스킵되어 송신됩니다.
Buffer length properties "buffer.length" 버퍼의 길이
Buffer full policy properties "buffer.write.full_policy" 버퍼에 데이터를 쓸 때, 버퍼가 풀일 경우 동작. overwrite, do_nothing, block중에서 선택합니다.
overwrite:데이터를 덮어쓰기 합니다.
do_nothing:아무것도 하지 않습니다.
block:블록 합니다.
block을 지정한 경우, 다음(⑪)에서 타임 아웃 값을 지정하고 지정시간 후 쓰기 불가능이 되어 타임 아웃 합니다. 디폴트는 overwrite(덮어쓰기)입니다.
Buffer write timeout properties " buffer.write.timeout" 버퍼에 데이터를 쓸 때, 타임 아웃 이벤트를 발생시킬 때까지의 시간.(단위:초)
디폴트는 1.0 [sec]입니다. 0.0을 지정한경우는 타임 아웃하지 않습니다.
Buffer empty policy properties "buffer.read.empty_policy” 버퍼에서 데이터를 읽을 때, 버퍼가 비어있는 경우에 동작. readblock、do_nothing、block중에서 선택합니다.
readblock:마지막의 요소를 다시 읽습니다.
do_nothing:아무것도 하지 않습니다.
block:블록 합니다.
block을 지정한 경우, 다음(⑬)의 타임 아웃값을 지정하고 지정시간후에 읽기 불가능이 되면 타임 아웃 합니다. 디폴트는 readback입니다.
Buffer read timeout properties " buffer.read.timeout" 버퍼에서 데이터를 읽을 때, 타임 아웃 이벤트를 발생시킬 때까지의 시간.(단위:초)
디폴트는 1.0 [sec]입니다. 0.0을 설정한 경우는 타임 아웃하지 않습니다.

서비스 포트와 서비스 포트의 연결

 서비스 포트간의 연결에서는, 「ServicePort」와「ServicePort」를 접속합니다. 이러한 포트 사이를 드래그&드롭으로 연결하면 이하의 다이얼로그가 표시됩니다.

fig30ServiceConnectDailog1_ko.png
서비스 포트의 커넥터 프로파일 다이얼로그


fig30ServiceConnectDailog2_ko.png
서비스 포트의 커넥터 프로파일 다이얼로그(상세)

다이얼로그의 항목과 조건은 이하와 같습니다.

서비스 포트 연결 다이얼로그 항목과 필수조건

다이얼로그 항목명 ConnectorProfile 필요 조건
Name Name 특별히 없음
properties "rtc_iname"
properties "port_name"
properties "interfaces.if_iname"
인터페이스 연결 대상의 서비스 포트에 복수의 서비스 인터페이스가 정의되어 있는 경우에 유효. 어떤 인터페이스를 연결할 것인지를 지정할 수 있습니다.


서비스 포트의 경우, 필수가 되는 연결조건은 없습니다. 그러나 ServicePort사이에서의 PortInterfaceProfile가 완전하게 매칭(※1)하지 않는 경우, 연결 다이얼로그에서 경고를 표시합니다.

fig59ServicePortWarning_ko.png

서비스 포토의 접속 다이얼로그의 경고 표시


 ※1  여기서 말하는 완전한 매칭이란, PortInterfaceProfile의 「type」이 같고 「polarity」가 서로 PROVIDED와 REQUIred로 되어 있는 것. 또 남는 것 없고(PortInterfaceProfile은 각각의 포트에 복수 존재한다) 모든 PortInterfaceProfile가 매칭 하는 것을 가리키고 있습니다.

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK