File size: 1,974 Bytes
1530790 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | ---
license: apache-2.0
tags:
- code-generation
- plc
- iec-61131-3
- structured-text
- gemma
- phi
- industrial-automation
---
# PLC Code Generation Models (IEC 61131-3)
This repository contains fine-tuned checkpoints for generating Programmable Logic Controller (PLC) code in **Structured Text (IEC 61131-3)** format. These models have been explicitly trained and benchmarked for air-gapped, edge-hardware deployments in industrial settings.
## Models Included
This repository hosts weights for two distinct model families:
### 1. Gemma 3 (4B) - `Gemma3-PLC-4B/`
A fine-tuned version of Google's Gemma 3 (4B parameter) model. It was fine-tuned for high-accuracy complex logic generation and benchmarked for latency and throughput on edge GPUs (e.g., NVIDIA A4000).
- **Folders Included**: `model_merged`, `model_merged_hacked`, and intermediate `checkpoints_*`.
### 2. Phi - `Phi-PLC-Lora/`
A highly efficient fine-tune of Microsoft's Phi model. Provided as both merged weights and standalone LoRA adapters.
- **Folders Included**: `model_phi_merged`, `model_phi_lora`.
## Intended Use
- **Task**: Natural Language to PLC Structured Text (IEC 61131-3).
- **Environment**: Optimized for local, on-premise edge inference where internet access is restricted (air-gapped factory environments).
- **Users**: Control Systems Engineers, Automation Programmers, and Robotics Researchers.
## Training Data
The models were trained on a highly curated dataset consisting of:
- Standardized open-source PLC libraries (e.g., OSCAT).
- Custom verified industrial control logic datasets.
## Benchmarking & Performance
These models were evaluated against zero-shot baselines for both generation accuracy and inference speed. They achieve state-of-the-art performance for localized IEC 61131-3 generation, significantly outperforming base models on complex automation tasks. Detailed benchmarking scripts and data parsing logic can be found in the associated GitHub repository.
|