Project Overview
A Swiss industrial automation integrator needed a compact CANopen-based PLC controller for distributed control of sorting and conveyor systems. InnovChip delivered a full-featured programmable logic controller with CANopen master functionality, digital and analog I/O, and IEC 61131-3 programming support.
Client
Industry: Swiss Industrial Automation Integrator (Zurich)
Project Duration: 14 weeks
Budget: CHF 48,000
Industry
Material Handling / Conveyor System Automation
Challenge
- Need to control up to 32 CANopen slave nodes per controller (motor drives, I/O blocks, sensors)
- Real-time control loop: conveyor sorting decisions within 5ms of sensor trigger
- Compact form factor: 45mm wide × 90mm tall (3-module DIN-rail footprint)
- IEC 61131-3 compatibility for end-user programming (Structured Text and Ladder Diagram)
- Integrated safety functions: safe torque off (STO) and safe stop (SS1) per EN 61800-5-2
- On-device data logging with 32GB storage for maintenance analytics
- Must operate in dusty warehouse environments (IP30 minimum)
- Up to 128 digital I/O points (local + remote via CANopen)
Solution
- Main MCU: STM32F769 (Cortex-M7 at 216MHz)
- Co-processor: STM32F091 (safety watchdog and CANopen slave emulation)
- CAN: Dual CAN FD channels (ISO 11898-2), up to 1Mbps
- I/O:
- 16x DI (24V, sink/source, 100μs response)
- 8x DO (24V, 0.5A per channel, short-circuit protected)
- 4x AI (0-10V / 4-20mA, 16-bit resolution)
- 2x AO (0-10V, 12-bit resolution)
- Firmware: Custom CANopen master stack (CiA 301 V4.2, CiA 302 V3.0), CANopen manager NMT, SDO, PDO, EMCY, LSS
- Programming: CoDeSys runtime for IEC 61131-3 ST and LD programming
- Storage: 32GB eMMC for data logging with FAT32 file system
- Communication: Dual Ethernet (PLC-to-PLC), RS-485 (Modbus RTU), USB-C (programming)
- Safety: Dual-channel STO with redundant cut-off path, certified SIL 2 per IEC 61508
- Power: 24V DC (18-32V range) with 3-way galvanic isolation (logic, I/O, CAN bus)
Technical Details
| Main MCU | STM32F769NI (Cortex-M7 @ 216MHz) |
| Co-processor | STM32F091RC (Cortex-M0 @ 48MHz) |
| RAM | 512KB + 64MB SDRAM |
| Flash | 2MB internal + 32MB NAND + 32GB eMMC |
| CAN Channels | 2x CAN FD, 1Mbps |
| Max CANopen Nodes | 32 slaves (manageable), up to 64 (extended) |
| PDO Cycle Time | 1ms (synchronous), 5ms (event-driven) |
| Sorting Latency | 2.8ms (sensor → decision → actuator) |
| Safety Level | SIL 2 per IEC 61508 / EN 61800-5-2 (STO, SS1) |
| Dimensions | 45mm × 90mm × 60mm (DIN-rail, 3 modules wide) |
Result
- 80 controllers deployed in a large-scale sorting facility near Basel, Switzerland
- Achieved 2.8ms sensor-to-actuator latency (requirement was 5ms)
- 32 CANopen slaves per controller handled without any bus load issues (peak 42% bus load)
- IEC 61131-3 runtime enabled client’s in-house engineers to write custom sorting logic
- Data logging captured 6 months of operational data for predictive maintenance ML model training
- SIL 2 safety certification achieved in partnership with TÜV SÜD
- Power consumption: 4.2W typical — 40% lower than comparable PLCs on the market
- Unit cost at volume: €185 (30% lower than equivalent Siemens 1200 series configuration)
