The AccessTSN Reference Solution consists of two parts: The AccessTSN endpoint Image which packages a ready configured real-time Linux with the available TSN features and functions into a convenient hard disc image. The second part is the AccessTSN Industrial Use-Case Demo which gives examples on how to use and setup the features and functions provided by the AccessTSN Endpoint Image in an industrial setup.
The AccessTSN Endpoint Image
The AccessTSN Endpoint Image can be used as a starting point towards custom TSN-Endpoint implementations using Linux. It packages the currently available open-source components necessary for a TSN-Endpoint.
- Linux Kernel 5.15 with preempt_rt patches applied
- Debian 10 root-file-system
- LinuxPTP for time synchronization
- ETF (Earliest TxTime first)-Support in the network stack for time-triggered-send
- A patched version of the Distributed Switch Architecture (DSA) supporting TSN functions (supported hardware necessary) [for example: Hirschmann Hellcreek compatible switching chip: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/tree/drivers/net/dsa/hirschmann/hellcreek.h]
- Example scripts to configure the network interfaces
The image was created using the E.mbedded L.inux B.uild E.nvironment (https://elbe-rfs.org/).
How to use the image?
Follow the installation instructions given within the downloadable archive. Use a suitable PC to burn the image to a hard drive. The image is designed for a current X86-64Bit-PC with a Network Interface Card providing hardware support for TSN functions (image tested with an Intel i210).
Download the AccessTSN Endpoint Image (X86-64bit Version Nov/2021) here: AccessTSN Endpoint Image
AccessTSN Industrial Use Case Demo:
The usage of the AccessTSN Endpoint Image is demonstrated by the AccessTSN Industrial Use-Case Demo.
The AccessTSN Industrial Use-Case Demo includes multiple industrial applications which give examples on how to use the different available functions, features and solutions of and for Linux to participate in a TSN network and an endpoint.
Together the Demo Applications form a converged network use case in an industrial setting. An overview of the use case is given in figure 1.
The use case includes of a basic milling machine with three (simulated) axis. Apart from the main control and the drives, an HMI is present. Additionally, the machine offers an OPC UA server as a diagnostic interface and a web-interface displaying trend data. Within this machine there are four different types of communication relationships with different priorities.
- Real-time drive control: The main control and the drive control form a real-time control loop. This cyclic control traffic has the highest deterministic requirements. It uses raw Ethernet Sockets. The Demo Applications modelling the main and the drive control are based on the “Simple RT application”-How to available at the Linux Foundation Wiki. These applications show a low-level example of the usage of the TSN features.
- Real-time OPC UA Pub/Sub HMI: The control data of the main control is also communicated to a basic HMI. This type of traffic if also cyclic but with lower requirements than the drive control. The HMI data is modelled using OPC UA and transported using OPC UA Pub/Sub messages. The “open62541”-project is used for the OPC UA implementations and the Publisher and HMI-Demos are based on their RT-Publisher-Example available at the “open62541”-Repository.
- Diagnosis via OPC UA (Sever/Client): As a diagnostic interface for the main control, a OPC UA server is used. This acyclic traffic is modelled as prioritized compared to Best-Effort traffic. The data is transported as standard OPC UA communication over UDP. The implementation of the OPC UA sever utilizes the “open62541”-Project and is based on the examples of the project. As a client, any OPC UA client software can be used.
- Trend and monitoring data: To include Best-Effort-Traffic in the use case, a web-interface showing current and trend data of the main control is included. This communication uses standard http-packets. The Demo Application uses the combination of InfluxDB and Grafana to display the data. Any current browser can be used as client.
To build up the use case, the following is necessary:
- One TSN-enabled Switch
- One X86-64Bit PC with a TSN-capable network interface for the main control (Image was tested with an Intel i210)
- Between one and four X86-64Bit PCs with a TSN-capable network interfaces for the drives (Image was tested with an Intel i210)
- Optional: One X86-64Bit PC with a TSN-capable network interface for the HMI (Could also be run on one of the drive PCs)
- Optional: One PC with an OPC UA Viewer to access the diagnostics OPC UA server
- Optional: One PC with a current browser to view the trend and monitoring data
- The AccessTSN Endpoint Image
The AccessTSN Industrial Use-Case Demo is available on Github:
It is planned to extend the project over time to ease the usage and add more functions.