PROFINET has class, in fact, many classes: Conformance Classes, Real Time classes, media redundancy classes, and even more class(es). This article covers Real Time Classes and how PROFINET works.
Real Time Classes
The Real Time classes determine:
- The services used and how the real time protocol operates “under the hood”
- If the communication is (clock) synchronized or unsynchronized among devices
- Which path is taken in the device or through the network
- And if there might need to be hardware support (like a PROFINET ASIC or FPGA)
All PROFINET devices must support RT (Real Time) which usually means around 250 microseconds-10 milliseconds update time with <100 microseconds of jitter and the data is sent unsynchronized.
Here is a 20-second video explanation of synchronized and unsynchronized:
RT uses a special EtherType (0x8892) for PROFINET which streamlines the Real Time message when using standard Ethernet components, and allows skipping the TCP/IP layers for the real time application’s process data. In the vast majority of applications this will work just fine. This also applies to Conformance Classes CC-A, CC-B.
It is optional to support IRT (Isochronous Real Time) which is usually <1 millisecond with <1 microsecond of jitter. It is used in motion control applications where multiple devices need clock synchronization and a higher level of determinism using bandwidth reservation and scheduling. A Conformance Class C (CC-C) device would support both IRT and RT for example.
Another optional service is RT over UDP/IP (user datagram protocol/ internet protocol). We haven’t seen many vendors using this due to RT/IRT being much more robust and deterministic in the field and simpler to use. With UDP/IP, you can run into more delays and overhead and have additional commissioning, however you can transfer the RT frame via a router. Most PROFINET traffic uses switches only on the PROFINET part of the system since RT/IRT use layer 2 communications. Of course some services with PROFINET always use UDP or TCP so they can still be used through a router and switch (for example, configuration and diagnostics). For developers the Real Time class is set in the GSD file of the device (tag = SupportedRT_Classes) or in the controller configuration tool. In PROFINET terminology this is mentioned in the specs and shown below:
- RT_CLASS_UDP = RT over UDP/IP (with this RT can be sent via a router, not used much up to now)
- RT_CLASS_1 = RT (for CC-A and CC-B)
- RT_CLASS_2 = IRT (depreciated and not used today)
- RT_CLASS_3 = IRT (used when motion or high speed applications are necessary, CC-C)
For further study, you can read about Conformance and Media Redundancy classes in our other articles or have a look at the PROFINET system description here.