Limitations
The TwinCAT 3 Usermode Runtime provides an execution environment for the same program code that is executed in the real-time runtime.
- The TwinCAT 3 Usermode Runtime has no guaranteed deterministic execution properties. The operating system is able to interrupt the Usermode Runtime at any time.
- The TwinCAT 3 Usermode Runtime can execute tasks with a minimum base time of 1 ms.
- From version 4026.25 (package version 1.25.2): If any tasks are configured to run faster than 1 ms, that task is set to 1 ms, and all other tasks are executed at the original ratio (i.e., correspondingly slower).
- The TwinCAT 3 Usermode Runtime has no access to EtherCAT. The I/O part of the configuration is therefore normally "disabled".
- Components that are based on the real-time Ethernet driver can be executed. The execution times and the jitter can affect the function due to the principle.
- CCAT-based network cards cannot be used.
- From version 4026.25 (package version 1.25.2): TwinCAT 3 Usermode Runtime can now access USB, which means, for example, that the license key USB stick can be used.
- In principle, it does not make sense to use all TwinCAT functions under a TwinCAT 3 Usermode Runtime. For example, some TwinCAT functions require a constant real-time tick.
If appropriate, TwinCAT 3 functions are extended to work with the TwinCAT 3 Usermode Runtime. In particular, if something has to be observed for the TwinCAT 3 Usermode Runtime with regard to the configuration, this is documented for the respective products. - The execution order between the tasks may differ from the behavior in the real-time runtime due to the principle.
For this reason, it also makes sense not to make the execution order dependent on the task priorities.
Notice | |
Use the TwinCAT 3 Usermode Runtime exclusively with TwinCAT 3.1 Build 4026 Enabling XAE Build 4024 or 4022 (including via Remote Manager) may result in unpredictable behavior but is not technically prevented. The TwinCAT 3 Usermode Runtime is a feature of TwinCAT 3.1 Build 4026 and should only be used with that version to avoid system crashes, for example. |