System editor (connection between ports)

This section explains connection between data ports and service ports.

(G)Connection between data ports

Connect data port "InPort" and "OutPort". When dragging and dropping between these, the following dialog will be displayed. The setting items of "Buffer" are hidden in the initial display.

fig57DataConnectDialog.png
Data port connector profile dialog


The items and conditions of the dialog are as follows.

Data port connection dialog items and requirements

No. Dialogue item name ConnectorProfile Requirement
Name name None
Data Type <<properties>>
dataport.data_type
Specify the data type to be transmitted and received between the data ports connected by this connector.
Select from data types that can be sent and received from each port. However, when including Any, it accepts any value of the other port.
Instance Type <<properties>>
dataport.interface_type
Specify the interface type supported by the RT system designer or supported on the RT middleware on which RTC runs.
Select from the interface types supported by each port. However, when including Any, it allows any interface of the other port.
Dataflow Type <<properties>>
dataport.dataflow_type
Specify the data flow type that is supported by the RT system designer or RT Middleware on which RTC runs.
Select from the data flow types supported by each port. However, when including Any, it allows any kind of data flow on the partner port.
Subscription Type <<properties>>
dataport.subscription_type
[Condition required when the value of Dataflow Type is Push]
Specify the type of subscription supported by the RT system designer, or on RT Middleware on which RTC runs.
Select from among the subscription types supported by each port. However, if you include Any, you allow any subscription type of the other party.
Push Rate(Hz) <<properties>>
dataport.push_interval
[Condition required when the value of Dataflow Type is "Push" and Subscription Type is "Periodic"]
When the subscription type is "Periodic", specify the data transmission cycle. Specify the transmission cycle with a positive value (decimal possible).
Push Policy <<properties>>
dataport.publisher.push_policy
Data transmission policy. [Condition required when Dataflow Type value is "Push" and Subscription Type is "Periodic"] Select from all, fifo, skip, new.
all:Bulk transmission of data in buffer
fifo:Send data in buffer one by one with FIFO
skip:Sending by thinning out the data in the buffer
new:Send the latest value of the data in the buffer (old values are discarded.)
Skip Count <<properties>>
dataport.publisher.skip_count
Number of transmitted data skips. [Required condition when the value of Push Policy is "skip"] The data in the buffer is thinned out with this setting value and transmitted.
Details When the check box is checked, detailed setting items of the buffer of the I / O port are displayed.
It is hidden at the initial display of the dialog.

Buffer length
(OutPort/InPort)
<<properties>>
buffer.length
Buffer length

Buffer full policy
(OutPort/InPort)
<<properties>>
buffer.write.full_policy
Behavior in case of buffer full when writing data to buffer. Select from overwrite, do_nothing, block.
overwrite:Overwrite the data.
do_nothing:I will not do anything.
block:I will block.
If block is specified, if the next timeout value is specified, it will time out if it can not be written after the specified time. The default is overwrite (overwrite).

Buffer write timeout
(OutPort/InPort)
<<properties>>
buffer.write.timeout
Time (in seconds) to generate the timeout out event when writing data to the buffer
The default is 1.0 [sec]. If 0.0 is set, timeout does not occur.

Buffer empty policy
(OutPort/InPort)
<<properties>>
buffer.read.empty_policy
Behavior when buffer is empty when reading data from buffer. Select from readblock, do_nothing, and block.
readblock:It rereads the last element.
do_nothing:I will not do anything.
block:I will block.
If block is specified, if the next timeout value is specified, it will time out if it can not be read after the specified time. The default is readback.

Buffer read timeout
(OutPort/InPort)
<<properties>>
buffer.read.timeout
Time (in seconds) for generating a timeout event when reading data from the buffer
The default is 1.0 [sec]. If 0.0 is set, timeout does not occur.

Name/Value <<properties>>
Name
Set arbitrary properties
You can add items with the [Add] button and delete items with the [Delete] button.
The entered item is set to Properties of ConnectorProfile in NVList format.
Property of the same key can not be set.

Regarding items ② to ⑤, RT System Editor creates values that can be specified by matching character strings from the value list of each port. If only ANY is specified for both ports, it is impossible to determine the value that can be entered. Therefore, when ANY is included in both ports, RT System Editor allows you to enter arbitrary character strings. For items that can input arbitrary character strings, "Optional input possible" is displayed.

fig58ConnectParamAny.png
Display when optional input is enabled


(G)Service port connection

For connection between service ports, connect "ServicePort" and "ServicePort". When dragging and dropping between these, the following dialog will be displayed.

fig59ServiceConnectDailog.png
Service Port Connector Profile Dialogue


The items and conditions of the dialog are as follows.

Service port connection dialog items and requirements

No. Dialogue item name ConnectorProfile Requirement
Name Name None
Details If you select the check box, the detailed setting items of Consumer / Provider will be displayed.
It is hidden at the initial display of the dialog.
Consumer Select from the Consumer list of the interface set for the service port to be connected.
In the selection list of ComboBox, it is displayed in the form of <component name>: <interface name>: <instance name>.
The added Consumer / Provider pair is stored in the ConnectorProfile with the Consumer ID as the property key and the Provider ID as the property value.
Consumer / Provider IDs are expressed in the following format.
<rtc_name>.port.<port_name>.<if_polality>.<if_tname>.<if_iname>
- rtc_name is the component name
- port_name is the port name
- if_polality is "required" for Consumer, "provided" for Provider
- if_iname is the instance name of the interface
Provider <<properties>>
Set using Consumer ID as key
As with Consumer, select from the list of Providers of the interface set for the service port to be connected.
Add Add a new entry for Consumer/Provider.
Delete Deletes the selected Consumer / Provider entry.

Name/Value <<properties>>
Name
Set arbitrary properties
You can add items with the [Add] button and delete items with the [Delete] button.
The entered item is set to Properties of ConnectorProfile in NVList format.
Property of the same key can not be set.

For the service port, there is no mandatory connection condition. However, if PortInterfaceProfile between ServicePorts does not perfectly match (* 1), a warning will be displayed on the connection dialog.

fig60ServicePortWarningDialog.png
Warning display of service port connection dialog


*1 Perfect matching here means that the "type" of the PortInterfaceProfile is the same and the "polarity" are PROVIDED and REQUIred mutually. Also pointing to all PortInterfaceProfiles matching (PortInterfaceProfile exists on each port multiple times).

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