system editor (connecting ports)
#contents
This section explains connections between data ports and between service ports.
Data Port Connections
For data port connections, connect an “InPort” and an “OutPort”. When you connect them by drag and drop, the following dialog is displayed. Note that the “Buffer” setting items are hidden when the dialog is initially displayed.
The dialog items and conditions are as follows.
| No. | Dialog Item Name | ConnectorProfile | Requirements |
|---|---|---|---|
| ① | Name | name | None in particular |
| ② | Data Type | <<properties>> dataport.data_type |
Specifies the data type to be sent and received between the data ports connected by this connector. Select from the data types that each port can send and receive to and from the other port. However, if Any is included, any value from the other port is accepted. |
| ③ | Instance Type | <<properties>> dataport.interface_type |
Specifies the interface type assumed by the RT system designer or supported by the RT middleware on which the RTC operates. Select from the interface types supported by both ports. However, if Any is included, any interface from the other port is accepted. |
| ④ | Dataflow Type | <<properties>> dataport.dataflow_type |
Specifies the dataflow type assumed by the RT system designer or supported by the RT middleware on which the RTC operates. Select from the dataflow types supported by both ports. However, if Any is included, any dataflow from the other port is accepted. |
| ⑤ | Subscription Type | <<properties>> dataport.subscription_type |
[Requirement when the value of Dataflow Type is Push] Specifies the subscription type assumed by the RT system designer or supported by the RT middleware on which the RTC operates. Select from the subscription types supported by both ports. However, if Any is included, any subscription type from the other port is accepted. |
| ⑥ | Push Rate(Hz) | <<properties>> dataport.push_interval |
[Requirement when the value of Dataflow Type is "Push" and Subscription Type is "Periodic"] Specifies the data transmission cycle when the subscription type is "Periodic". Specify the transmission cycle as a positive numeric value (decimals allowed). |
| ⑦ | Push Policy | <<properties>> dataport.publisher.push_policy |
Data transmission policy. [Requirement when the value of Dataflow Type is "Push" and Subscription Type is "Periodic"] Select from all, fifo, skip, and new. all: Sends all data in the buffer at once fifo: Sends data in the buffer one item at a time in FIFO order skip: Sends data while skipping data in the buffer new: Sends the latest value in the buffer (old values are discarded). |
| ⑧ | Skip Count | <<properties>> dataport.publisher.skip_count |
Number of transmission data items to skip. [Requirement when the value of Push Policy is "skip"] Data in the buffer is thinned out and sent according to this setting value. |
| ⑨ | Details | ― | When the checkbox is checked, detailed setting items for the input/output port buffers are displayed. They are hidden when the dialog is initially displayed. |
| ⑩ ⑮ |
Buffer length (OutPort/InPort) |
<<properties>> buffer.length |
Buffer length |
| ⑪ ⑯ |
Buffer full policy (OutPort/InPort) |
<<properties>> buffer.write.full_policy |
Behavior when the buffer is full during data writing to the buffer. Select from overwrite, do_nothing, and block. overwrite: Overwrites the data. do_nothing: Does nothing. block: Blocks. If block is specified, and the following timeout value is specified, a timeout occurs if writing is not possible after the specified time. The default is overwrite. |
| ⑫ ⑰ |
Buffer write timeout (OutPort/InPort) |
<<properties>> buffer.write.timeout |
The time until a timeout event is generated when writing data to the buffer (unit: seconds) The default is 1.0 [sec]. If 0.0 is set, no timeout occurs. |
| ⑬ ⑱ |
Buffer empty policy (OutPort/InPort) |
<<properties>> buffer.read.empty_policy |
Behavior when the buffer is empty during data reading from the buffer. Select from readblock, do_nothing, and block. readblock: Re-reads the last element. do_nothing: Does nothing. block: Blocks. If block is specified, and the following timeout value is specified, a timeout occurs if reading is not possible after the specified time. The default is readback. |
| ⑭ ⑲ |
Buffer read timeout (OutPort/InPort) |
<<properties>> buffer.read.timeout |
The time until a timeout event is generated when reading data from the buffer (unit: seconds) The default is 1.0 [sec]. If 0.0 is set, no timeout occurs. |
| ⑳ 21 |
Name/Value | <<properties>> Name |
Sets arbitrary properties Items can be added with the [Add] button and deleted with the [Delete] button. The entered items are set in the Properties of the ConnectorProfile in NVList format. Properties with the same Key cannot be set. |
For items ② through ⑤, RT System Editor creates the selectable values by matching strings from the value lists of each port.
If only ANY is specified for both ports, it is not possible to determine the values that can be entered.
For this reason, when ANY is included in both ports, RT System Editor allows arbitrary strings to be entered. Items for which arbitrary strings can be entered display “Arbitrary input allowed”.
Service Port Connections
For service port connections, connect a “ServicePort” and a “ServicePort”. When you connect them by drag and drop, the following dialog is displayed.
The dialog items and conditions are as follows.
| No. | Dialog Item Name | ConnectorProfile | Requirements |
| ① | Name | Name | None in particular |
| ② | Details | ― | When the checkbox is checked, detailed setting items for Consumer/Provider are displayed. They are hidden when the dialog is initially displayed. |
| ③ | Consumer | ― |
Select from the list of Consumers of the interfaces set for the service ports to be connected.
The selection list in the ComboBox is displayed in the format <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. The Consumer/Provider IDs are represented in the following format. <rtc_name>.port.<port_name>.<if_polality>.<if_tname>.<if_iname>
|
| ④ | Provider | <<properties>> Set with the Consumer ID as the key |
As with Consumer, select from the list of Providers of the interfaces set for the service ports to be connected. |
| ⑤ | Add | ― | Adds a new Consumer/Provider entry. |
| ⑥ | Delete | ― | Deletes the selected Consumer/Provider entry. |
| ⑦ ⑧ |
Name/Value | <<properties>> Name |
Sets arbitrary properties Items can be added with the [Add] button and deleted with the [Delete] button. The entered items are set in the Properties of the ConnectorProfile in NVList format. Properties with the same Key cannot be set. |
For service ports, there are no required connection conditions. However, if the PortInterfaceProfiles between the ServicePorts do not match completely (*1), a warning is displayed in the connection dialog.
*1
A complete match here means that the “type” of the PortInterfaceProfiles is the same and that the “polarity” values are PROVIDED and REQUIred for each other. It also means that all PortInterfaceProfiles match without any excess (each port can have multiple PortInterfaceProfiles).



