| 1 |
C++ |
Low to high level |
Robot controllers, motion libraries, perception, custom hardware interfaces, and production applications |
High with a real-time framework |
High performance, precise memory and hardware control, extensive robotics libraries, and strong support for complex algorithms |
More difficult to develop safely; memory, concurrency, and timing errors can affect reliability |
High-performance robot control, vision, force control, and customized automation systems |
Advanced |
| 2 |
C |
Low level |
Embedded controllers, safety-related subsystems, device drivers, and deterministic hardware control |
Very high with a real-time operating system |
Small runtime footprint, predictable execution, portability, and direct access to hardware |
Limited built-in abstractions; larger applications require more manual memory and resource management |
Embedded robot hardware, motor control, sensors, and safety-critical components |
Advanced |
| 3 |
IEC 61131-3 Structured Text |
High-level PLC language |
Sequence control, motion coordination, interlocks, diagnostics, and programmable automation controllers |
High |
Readable text syntax, deterministic scan-based execution, strong industrial adoption, and suitability for modular control logic |
Less suitable for advanced perception, intensive numerical computing, or large general-purpose software systems |
PLC-controlled robot cells, conveyors, packaging, assembly, and machine sequencing |
Intermediate |
| 4 |
Ladder Diagram |
Graphical PLC language |
Discrete I/O, safety interlocks, start-stop logic, fault handling, and cell-level sequencing |
High |
Easy for maintenance teams to read, strong diagnostic visibility, and well suited to discrete industrial signals |
Can become difficult to manage in large systems; not efficient for advanced mathematics or complex data structures |
Robot workcells with many sensors, actuators, guards, and machine interlocks |
Beginner to intermediate |
| 5 |
Python |
High level |
Offline programming, vision processing, data analysis, test automation, orchestration, and supervisory control |
Limited for hard real-time control |
Fast development, clear syntax, extensive scientific libraries, and strong support for artificial intelligence and computer vision |
Interpreter overhead and automatic memory management make timing less deterministic for direct motion control |
Robot integration, inspection, planning, analytics, digital twins, and non-time-critical automation services |
Beginner to intermediate |
| 6 |
Function Block Diagram |
Graphical PLC language |
Reusable control functions, motion blocks, signal processing, and coordinated automation sequences |
High |
Visual structure, reusable modules, accessible troubleshooting, and good compatibility with industrial control workflows |
Large diagrams may become difficult to navigate; version comparison and text-based review can be less convenient |
Modular robot cells, motion coordination, process control, and teams that prefer graphical programming |
Intermediate |
| 7 |
Sequential Function Chart |
Graphical sequence language |
Step-by-step production processes, operating modes, recovery routines, and state-machine control |
High |
Clearly represents process states, transitions, parallel actions, and fault-recovery paths |
Not intended for detailed numerical algorithms or low-level device drivers; complex charts require disciplined structure |
Multi-stage robotic assembly, palletizing, inspection, and batch production sequences |
Intermediate |
| 8 |
C# |
High level |
Human-machine interfaces, manufacturing execution interfaces, supervisory applications, and system integration |
Moderate; depends on runtime and architecture |
Strong object-oriented design, productive development tools, good graphical application support, and effective network integration |
Usually not selected for the innermost motion loop; runtime behavior may be less deterministic than lower-level languages |
Operator interfaces, production tracking, database connectivity, and factory-level robot supervision |
Intermediate |
| 9 |
Java |
High level |
Supervisory control, manufacturing software, distributed services, and cross-platform integration |
Moderate; limited for hard real-time motion |
Portable execution model, mature networking capabilities, object-oriented structure, and extensive enterprise software support |
Garbage collection and managed runtime behavior can introduce timing variation in precise control applications |
Factory integration, scheduling, monitoring, data services, and robot fleet coordination |
Intermediate |
| 10 |
Model-Based Programming with MATLAB/Simulink |
Graphical and model-based |
Control-system design, simulation, trajectory development, algorithm verification, and automatic code generation |
High after validated code generation |
Rapid modeling, simulation before deployment, control-system analysis, and traceable development workflows |
Toolchain licensing and model-management requirements can increase project complexity; generated code must be validated carefully |
Advanced motion control, digital validation, research-to-production workflows, and safety-focused development |
Advanced |