IEC 61131-3 is the established standard for programming controllers in industrial production. However, specialists with knowledge of IEC 61131-3 languages are rare, and the same is true for current LLMs: Publicly available LLMs have been trained primarily on high-level languages such as Python, Java, or C/C++, but not on IEC 61131-3 languages such as Structured Text (ST) or Sequential Function Chart (SFC). These languages are mainly used internally within companies, meaning that there is hardly any freely accessible training data. Furthermore, real-time requirements, communication interfaces to actuators and sensors, and safety-critical aspects are rarely part of the training data.
In addition to the language barrier, the complexity of industrial control applications is also an obstacle to code generation via LLMs. Therefore, suitable decomposition, breaking down applications into less complex components, and a clean interface design are essential for successful code generation and subsequent orchestration. They ultimately enable the individual generated code components to be assembled into a functioning application.