Our new open-source automation framework cinnamon for Beckhoff TwinCAT 3 is now officially available on GitHub. We are very excited to share this project with the community and look forward to your feedback!
Develop only what changes
Tired of reinventing the wheel when it comes to machine projects? cinnamon puts an end to that. The framework abstracts the hardware to be controlled and the process logic so that you can concentrate on what's important – your individual machine. Save time, reduce costs, and develop your PLC software intelligently.
Everything is a node
Each part—whether it's a sensor, actuator, control sequence, or a whole system area—is its own node. Thanks to a clear, hierarchical structure, these nodes can be put together in any way you want to make bigger functional units.
The benefits:
Reusability and scalability
Continuous monitoring: Conditions and events are automatically propagated through the tree structure
Encapsulation and clarity: The internal logic of a node remains hidden from the outside. This simplifies testing, reduces dependencies, and creates robust interfaces.
An HMI that builds itself
With cinnamon, your HMI builds itself dynamically and almost automatically. Since the logic is based on the ADS interface, many HMI solutions are possible. The PLC architecture is automatically read and reflected on the HMI. cinnamon offers ready-made HMI controls for simple sensors and actuators and integrates them into the HMI depending on the PLC structure. Only machine-specific views need to be created manually. This saves a lot of time when developing user interfaces.
For maximum flexibility and maintainability
The system architecture of a plant is fundamentally hierarchical – and cinnamon adopts this principle. Operating modes are automatically distributed to all nodes via the hierarchical composition pattern. This makes the framework ideal for agile software development and offers a high degree of reusability.
Manage complex processes with ease
Instead of losing yourself in special cases, status checks, and sequence logic, you define your processes as a clear sequence of commands—regardless of whether a sensor is read, an axis is positioned, or an external service is addressed. cinnamon calls and evaluates these commands and automatically ensures a stable and traceable process flow.
Open source for open innovation
cinnamon is free to use and open source. Integrate the entire framework or just individual components — transparent, flexible, and made by developers for developers.
Toolkit included
Linked lists, array lists, balanced binary search trees, and sets
CNM Unicode Utilities for managing and normalizing Unicode (reformatting to UTF-8/UTF-16)
Assertions for data type-dependent validations and tests
Recipe management and settings administration
Modular and scalable
Comprehensive libraries
cinnamon offers ready-made, modular functions for operation mode handling, device monitoring, error management, data collection, and HMI design. This shortens development times and increases code maintainability.
Object-oriented programming approach
In cinnamon, everything is an object – derived from a common base class. This creates a clear, consistent structure that can be flexibly combined into lists, trees, or networks. It also forms the basis for the integration of proven design and strategy patterns.
Abstraction of hardware components
Instead of linking logic directly to specific hardware, our framework relies on clean interface abstraction. Sensors, actuators, and devices are not addressed as actual objects but via well-defined interfaces.
Risk-free interchangeability: Hardware can be changed or simulated without altering your logic.
Testability: Interfaces are easy to mock—ideal for automated testing and simulations.
Decoupling: Control, visualization, and logic remain independent of manufacturers, protocols, and implementation details.
Interface abstraction creates robust, flexible architectures that make your automation durable, maintainable, and independent.
Shape the future of automation with us
Currently, there are many different standards in the industry, as machine manufacturers usually rely on their own solutions. These are mostly designed for specific designs and architectures. However, in special machine manufacturing, a high degree of flexibility is often required, as designs can change during the development process or may not be applicable to certain problems. In other areas of software development, certain design patterns and object orientation have proven reliable over the past decades. With cinnamon, we would now like to finally introduce these to the PLC world.
Want to learn more about our framework cinnamon?
In a detailed blog post, we explain the key features, basics, and possibilities of cinnamon.
Discover the potential of the cinnamon framework!
Have we sparked your interest? Then get in touch with us. We would be happy to present our cinnamon framework to you in a personal meeting and answer all your questions.