When you mention the words “real-time” and “Ethernet” in the same sentence, let alone next to each other, you get some incredulous looks. Ethernet, by definition, is an open network that allows anyone to transmit at any time – making it a probabilistic transmission medium. Unless there’s abnormally high bandwidth utilization, Ethernet is built on the assumption that nodes will probably not transmit at the same time. Ethernet calls this concept “CSMA-CD” (Carrier Sense Multiple Access – Collision Detect), and it means that on a common carrier, multiple nodes can access the medium and transmit when they like, and that they are responsible for detecting a collision and retransmitting their data if one occurs.
This sounds like a terrible basis for a real-time network, but it’s really not that bad. Modern Ethernet networks use network switches instead of hubs, which eliminates the possibility of those collisions. Using switches, PROFINET Conformance Class A and B devices leverage standard Ethernet infrastructure to achieve cycle times as short as 1 millisecond and jitter of about 10-100μs. This is the standard “Real-Time” (RT) PROFINET communications channel.
When Real-Time Isn’t
But sometimes “Real-Time” isn’t “hard” real time. Some applications, like closed-loop motion control, require not just low cycle times, they also require deterministic behavior from their network – data should be strictly sequenced and should never be vulnerable to collisions or jitter. To meet these requirements, PROFINET designed a MAC-layer extension to Ethernet that allows each switch on an IRT network to provide time slices that turn it in to a TDMA (Time Division Multiple Access) medium part of the time and a regular CSMA-CD medium the rest of the time.
Benefits of IRT
By synchronizing the network, IRT provides some benefits over the standard RT communications channel:
- Deterministic network behavior: frames are transmitted and received on a schedule and in order
- Fast cycle times: IRT can easily provide cycle times down to 250μs (4,000 samples per second). With some of the PROFINET V2.3 extensions, IRT networks can operate with cycle times as low as 31.25μs (32,000 samples per second).
- A possibility to lock the network data exchange to the real-world I/O data process, eliminating aliasing or other sampling artifacts.
How IRT works
Imagine that you wanted to allocate 25% of a network’s bandwidth to IRT traffic. The network would be divided in to four timeslices, with IRT traffic moving through one and regular RT traffic moving through the others:
75% of the time, the network would operate just like any other network. But 25% of the time, it would buffer any non-IRT traffic and only allow IRT frames to pass through on their timeslice. Once the IRT traffic is clear, switches would transmit that buffered traffic and resume regular Ethernet communications. This bandwidth reservation is scaleable; the IRT timeslice will only be just large enough to fit accommodate the IRT communication, leaving the rest of the bandwidth for regular Ethernet traffic.
While that sounds like it would be difficult to implement, it’s fairly straightforward in practice. Each switch on the network requires two things to create the timeslices and work in an IRT domain:
- A shared and extremely accurate clock to determine when to enter the IRT timeslice and when to return to normal Ethernet operation.
- Additional circuitry in the network switch to buffer and hold any stray Ethernet traffic that is received on other ports during the IRT timeslice.
The shared clock is provided by an IEEE standard, known as IEEE 1588v2 (or IEEE 1588-2008). This standard defines the Precision Time Protocol (PTP), and PROFINET extends PTP in a wrapper protocol called the Precision Transparent Clock Protocol (PTCP). PTCP is used to not only share a common real-time clock across the network, but is also used to compute the delays inherent in both the network switches and the cabling between them. IRT devices are capable of calculating those delays down to the nanosecond, and that accuracy is what allows all of the switches in the IRT network to enter and exit the IRT timeslice at exactly the same time. The additional switching logic must perform according to requirements determined by PI and isn’t too hard to implement in standard Ethernet switches. However, it’s a little advanced for this entry.
How To Use IRT
Using IRT is pretty straightforward. Every component in your PROFINET network, from the Controller to the Devices, and every Ethernet Switch in between, must be certified according to PROFINET’s Conformance Class C. From there, you have to configure the IRT synchronization domain that your Controller will use – you have to specify how much bandwidth (how many time slices) to dedicate to IRT operation, along with the cycle times for the Devices. Finally, you must define the network topology – you must tell the controller exactly how the cables between your IRT devices are connected so it can optimize the IRT transmission schedule within the IRT timeslice. The whole process is only slightly more involved than setting up a Conformance Class B network.
Some Controllers and Devices support something called an “Isochrone Mode Application”. This isn’t really part of IRT. Instead, it’s a method to lock the application’s execution loop to the IRT update interval to prevent over- or under-sampling.
Wrapping It Up
We’ve seen why IRT is necessary, how it works, and how to use it. If you’d like to know more about IRT, contact your local PI Competency Center.