Zum Inhalt springen

KinRig Pro in detail

What makes us different?

KinRig Pro differs from most automation solutions in two key ways. Firstly, it allows development in modern and widely used programming languages (Java, Python). Secondly, KinRig Pro relies on an open and extensible microservice architecture.

These two points will be explained in detail here. A less specific feature praise can be found here.

Architecture

A first look at the architecture. This gives us an insight into how KinRig Pro works. There are basically three levels: real time, the connector and the micro services.

The real-time critical code is developed in Java and loaded onto the PLC using the uploader (not shown in the diagram).

Real time connects to the connector, a server that provides the current values and records. It also allows Remote Procedure Calls (RPC) in real time.

The services connect to the connector via a client from the KinRig Pro library and can thus read and write values from real time, as well as call methods in real time using RPC calls.

Die Micro-Service Architektur erlaubt, dabei jede einzelne The microservice architecture allows each individual component to be replaced. For example, a real-time PLC can be replaced by a simulation and the system can be tested on a digital twin without real hardware. Individual services such as the HMI can also be replaced by headless services and thus executed in a CI/CD context.

Comparison of IEC 61131-3 with Java in KinRig Pro

Java in the real time allows things that you can only dream of in IEC 61131-3, such as parsing JSON and XML or concurrency via green threads.

Ultimately, the best language is the one that suits your project requirements, goals and learning style. To be honest, we firmly believe that Java outperforms classic structured texts in new, complex or long-term projects. However, we also believe that structured texts or another language according to IEC 61131-3 may be the better choice for small projects where programming is mainly carried out by electricians.

Aspect PLC Java in KinRig Pro Winner
Portability Manufacturer-specific IDEs (e.g. TIA Portal, Studio 5000). Limited debugging and version control integration. But with strong and deep integration into these IDEs. Extensive ecosystem: IntelliJ, Eclipse, VS Code. Excellent support for debugging, profiling and CI/CD. Java
Tooling & IDEs Tied to specific PLC platforms and providers. The IEC 61131-3 standard is helpful, but not universally applicable. "Write once, run anywhere". Extremely portable across platforms and devices. Tie
Performance Difficult to write asynchronous code. Hardware is often not fully utilised. Very easy to write asynchronous code and high execution performance via RtThreads. Java
Community & Support Small niche community focusing on industrial automation. Large global community with many developers, extensive documentation, forums and libraries. Java
Readability Easy to understand for engineers familiar with automation. The syntax is similar to Pascal. Cryptic for non-PLC programmers. Very readable for software developers. Strict conventions and detailed syntax ensure clarity. Tie
Expressiveness Supports loops, conditions, functions, and offers limited support for object-oriented programming (OOP). Highly expressive: supports OOP, generics, lambdas, extensive APIs, and advanced data structures. Java

Comparison by features

Feature PLC Java in KR Pro Details
Cross-Plattform
Memory Safety By PLC vendor dependent.
Classes
Inheritance
Polymorphism
Reflection
Variadic Functions
Type Inference
Pattern Matching
Smart Enums