The TwinCAT 3.1 automation platform enables users to implement individual automation tasks in the form of modules. Written in PLC or C++ code, these machine modules are assigned to prioritizable individual tasks within the system and executed in user-defined cycles. The tasks then can be distributed over the real-time cores. Those cores can be assigned exclusively to the system’s runtime process, in which case they are referred to as “isolated” because they do not execute any Microsoft operating system functions along with the real-time system. The software can run on PC-based hardware with as many as 256 processor cores.