Skip to main content

Czy sztuczna inteligencja potrafi zaprogramować sterownik PLC?

To pytanie, które jeszcze kilka miesięcy temu brzmiało jak eksperyment.
Dziś — to rzeczywistość. Porównałem dla Was dwa modele AI:
ChatGPT (OpenAI) oraz DeepSeek (R1) w prawdziwej bitwie o to,
który z nich szybciej i lepiej poradzi sobie z napisaniem kodu PLC w środowisku CODESYS,
dla rzeczywistej sceny z Factory I/O.

Scena testowa – trzy siłowniki w akcji

Na potrzeby eksperymentu zbudowałem wirtualną linię produkcyjną w Factory I/O:

  • trzy siłowniki pneumatyczne,
  • przenośnik główny i boczny,
  • skrzynka sterownicza z przyciskami Start, Stop, oraz Step+,
  • przełącznik trybu Auto/Manual.

Celem było stworzenie sekwencyjnego programu sterowania:
1️⃣ Start – uruchamia linię,
2️⃣ Siłowniki wysuwają się po kolei,
3️⃣ Po zakończeniu cyklu system powraca do stanu początkowego,
4️⃣ W trybie manualnym możliwe jest przechodzenie krok po kroku.

Cel eksperymentu – AI jako programista PLC

Zadanie postawione przed oboma modelami AI było proste:
👉 „Zaprogramuj sekwencję trzech siłowników w języku Structured Text (ST),
z uwzględnieniem trybu automatycznego i manualnego, komunikacji Modbus TCP oraz sygnałów start/stop.”

Do tego przygotowałem prompt (opis zadania) — czyli dokładną instrukcję, co ma zrobić AI.
To kluczowy element pracy z modelami – od jakości promptu zależy efekt końcowy.

Każdy model dostał jedną próbę — bez poprawek i bez dodatkowych wyjaśnień.

Przygotowanie środowiska testowego

  • Po lewej stronie: ChatGPT (model o1) – najbardziej wydajny model od OpenAI.
  • Po prawej stronie: DeepSeek (R1) – nowy model z silnym silnikiem logicznym i wsparciem dla „Deep Thinking”.

W obu przypadkach uruchomiłem modele z tym samym opisem zadania i wgrałem ich wyniki do środowiska CODESYS.
Dodatkowo przygotowałem wirtualną scenę w Factory I/O, połączoną z CODESYS przez Modbus TCP w konfiguracji Master/Slave.

Krok po kroku – przebieg testu

1. Generowanie kodu

ChatGPT wygenerował kod w ok. 1,5 minuty,
DeepSeek potrzebował ok. 2 minut i 15 sekund.

Już na tym etapie było widać różnicę – ChatGPT działał szybciej, ale DeepSeek tworzył dłuższy i bardziej rozbudowany kod.

2. Implementacja i deklaracja zmiennych

Każdy wygenerowany program wkleiłem do CODESYS,
uzupełniając zmienne globalne i lokalne (wejścia, wyjścia, flagi logiczne, komunikacja Modbus).
Dzięki temu oba kody mogły działać w identycznych warunkach symulacyjnych.

3. Testy w Factory I/O – tryb automatyczny

Po uruchomieniu programu ChatGPT:

  • naciśnięcie przycisku Start uruchomiło sekwencję,
  • siłowniki wysuwały się kolejno: 1 → 2 → 3,
  • po zakończeniu cyklu system zatrzymywał się poprawnie.

Program zadziałał bezbłędnie.
AI poprawnie zrozumiała logikę sekwencji i wygenerowała stabilny kod w ST.

4. Testy w trybie manualnym

Po przełączeniu przełącznika Auto → Manual,
przycisk Step+ pozwalał przechodzić do kolejnych kroków sekwencji.

Wszystkie siłowniki reagowały zgodnie z założeniami:

  • wysuw → cofnięcie → przejście do następnego etapu.
    Tryb manualny działał w 100%, a zatrzymanie STOP natychmiast resetowało sekwencję.

⚔️ Bitwa modeli – ChatGPT vs DeepSeek

KryteriumChatGPTDeepSeek
⏱️ Czas generacji~1,5 minuty~2 minuty 15 sekund
💬 Liczba linii kodu13692
🧩 KomentarzeBardzo szczegółoweMinimalne
🧠 Czytelność koduDobra, ale bardziej rozbudowanaBardzo przejrzysta dzięki enumeracjom
⚙️ Czas cyklu programu0,33 μs0,34 μs (lepszy całkowity wynik)

W praktyce:
ChatGPT wygenerował kod szybciej i bardziej opisowy,
ale DeepSeek napisał czystszy, bardziej profesjonalny kod z enumeracjami dla kroków sekwencji — co jest zgodne ze standardem PackML.

Najważniejsze wnioski z testu

  1. AI potrafi generować w pełni działający kod PLC — łącznie z obsługą sekwencji, timerów i logiki krokowej.
  2. Prompt to klucz — im lepiej opiszesz zadanie, tym dokładniejszy kod otrzymasz.
  3. ChatGPT i DeepSeek różnią się stylem programowania – GPT jest bardziej opisowy, DeepSeek bardziej inżynierski.
  4. AI nie zastąpi automatyka, ale może przyspieszyć projektowanie o 60–80%.
  5. Kontrola kodu należy do Ciebie – zawsze testuj, sprawdzaj i optymalizuj generowane programy.

Chcesz wiedzieć więcej?

Sprawdź pełne szkolenie programowania PLC z wykorzystaniem AI.

O autorze

Maciej Kurantowicz

Author Maciej Kurantowicz

Automatyk i programista, CEO & Founder w ControlByte

Więcej postów tego autora Maciej Kurantowicz