Developer Guide

  • 2022.1
  • 09/08/2022
  • Public
Contents

Run the SISO Example

The following command line examples use a specific network interface name. This interface name can vary from board to board, so confirm that you are using the right one for your environment. Interface names are connected to the TSN-compatible Intel® Ethernet Controller for internal communication between Board A and Board B. Do not pass interface names used for external communication with these boards. Doing so will lead to loss of connectivity with the boards when the sample sets up a predefined network address on the interface. If the interface name used for external communication was provided and communication with the board was lost, refer to Troubleshooting to fix it.
In this example, Board A (the
monitor
) transmits a packet to Board B (the
compute
) that returns a response to Board A using the OPC UA* APIs.
For accurate results, launch the sample on each board no more than 2 or 3 seconds apart.
Before starting communication, the compute and the monitor select the base time at which they will start sending messages. The base time is logged in the console and must be the same on both boards for SISO communication. To have the same base time, the compute and the monitor must be launched no more than 2 or 3 seconds apart.
[INFO] Selected base time: 1622106338 (12:51:38), time now: 1622106334 (12:51:34)
The same base time must be selected for the compute and the monitor.
To run the SISO example:
  1. [Board B]
    1. Start a new terminal:
    2. Run
      ifconfig
      to get the interface name of the TSN-compatible Ethernet controller, for example,
      enp1s0
      . Note the name for future reference.
      ifconfig
    3. Launch the compute:
      tcc_rt_communication_demo --profile siso-single-b-opt --interface <interface name>
      Where
      Option
      Description
      --profile siso-single-b-opt
      Specify that the SISO profile is running on Board B, with optimizations.
      --interface <interface name>
      Specify the interface name of the Ethernet controller on Board B.
    This script does the following:
    • Sets up the network interface.
    • Starts
      ptp4l
      .
    • Starts
      phc2sys
      .
    • Sets the Linux*
      qdisc
      daemon to enable Time-Aware Traffic Scheduling and LaunchTime.
    • Runs
      iperf3
      to generate network interference (optionally, see Command-Line Options for details).
  2. [Board A]
    1. Start a new terminal:
    2. Run
      ifconfig
      to get the interface name of the TSN-compatible Ethernet controller, for example,
      enp1s0
      . Note the name for future reference.
      ifconfig
    3. Launch the monitor and actuator:
      tcc_rt_communication_demo --profile siso-single-a-opt --interface <interface name>
      Where
      Option
      Description
      --profile siso-single-a-opt
      Specify that the SISO profile is running on Board A, with optimizations.
      --interface <interface name>
      Specify the interface name of the Ethernet controller on Board A.
    This script does the following:
    • Sets up the network interface.
    • Starts
      ptp4l
      .
    • Starts
      phc2sys
      .
    • Sets the Linux*
      qdisc
      daemon to enable Time-Aware Traffic Scheduling and LaunchTime.
    • Runs
      iperf3
      to generate network interference (optionally, see Command-Line Options for details).
  3. [Board A]
    1. Wait until the demo’s script finishes.
    2. Go to the following directory and check the output data file (
      log-roundtrip.log
      ):
      cd ./tcc_rt_communication_demo_output/ ls -la

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.