Drive-On-Chip with PLC Design Example for Agilex™ 5 Devices¶
Features of the Drive-on-Chip with PLC Design Example for Agilex™ 5 Devices¶
Linux operating system on the Agilex™ HPS¶
- Based on Poky Linux with additional Yocto layers supporting Altera® FPGAs.
- Uses the Yocto build system.
- Additional Yocto Layer(s) supporting OpenPLC and Docker (meta-fpga-embedded).
Docker container for Runtime¶
A Docker container is an encapsulated environment used to isolate programs from each other within an operating system.
- Dockerfile and build scripts are supplied for OpenPLC runtime.
- Docker build flow for cross-compiling:
- The container is built on x86 system to run on Arm processor HPS.
OpenPLC Runtime¶
The OpenPLC Runtime is a system for running IEC 61131 Structured Text (ST) PLC Applications to control the Drive-on-Chip simulated motor axes.
- OpenPLC is an Open Source PLC (Programmable Logic Controller) Runtime.
- The PLC Runtime has software tools to convert the PLC application (written in Structured Text) to a compiled binary for the Agilex™ HPS.
- The software compiling tools run on a host PC x86-64 architecture and the output binaries (docker image) are for the Arm64 (Agilex™ HPS architecture)
- A Motion Control library as specified by the PLCOpen Standard is integrated into the runtime and is available to PLC applications.
- The Motion Control library provides a high level API for motor axis control e.g. setting velocity, setting position, stopping, etc; with defined constraints for acceleration and speed.
- Drive-On-Chip OpenPLC driver for Agilex™ devices.
- Ruckig library for trajectory control.
- Hardware support for dual axis Agilex™ Drive-On-Chip IP application.
- Structured Text (.st) example application for Agilex™ Drive-On-Chip control.
Drive-on-Chip Motor Control IP on the Agilex™ FPGA¶
- Integration in a single Agilex™ 5 FPGA of multi-axis motor control IP, see:
Last update:
May 1, 2025
Created: May 1, 2025
Created: May 1, 2025