Programmable logic controllers (PLCs) are inherently driven by state machines and step-wise, sequential instructions. In industrial automation, representing these flows clearly and deterministically is essential for predictable behavior and maintainable systems.
cinnamon intentionally embraces a text-only programming model based on IEC Structured Text, rather than graphical notations such as Sequential Function Chart (SFC). Textual code is easier to review, diff, and merge; it fits modern development practices and enables straightforward CI/CD automation without the impedance mismatches of diagram-based artifacts.
At the core of cinnamon are CycleManagers. They orchestrate flow control, transitions, and state management, allowing you to implement step sequences and process flows with minimal boilerplate. Instead of hand-coding control logic, you declare intent and let CycleManagers drive execution reliably from state to state.
CycleManagers are configurable at both the step and sequence levels. This lets teams fine-tune timing, transition criteria, error handling, and recovery behavior per step while also shaping the overall execution strategy for the entire process.