- Branża: Budowa maszyn przemysłowych
- Sterownik PLC: Beckhoff TwinCAT 3
- Architektura: Object-Oriented Programming (OOP)
- HMI: Beckhoff HMI / Automatyczne generowanie interfejsów
Framework programistyczny TwinCAT 3 dla producenta maszyn – obiektowa architektura oprogramowania PLC
Podsumowanie projektu
- Roboty: Fanuc, Mitsubishi SCARA
- Motion Control: Beckhoff Motion, Jenny Science, CiA 402
- Komunikacja: EtherCAT, ADS, OPC UA, TCP/IP, UDP, Modbus TCP, Serial
- Rola: Lead TwinCAT Software Engineer
Wyzwanie
Producent maszyn realizował równolegle wiele projektów wykorzystujących różne konfiguracje sprzętowe, roboty przemysłowe, systemy transportowe oraz urządzenia zewnętrzne.
Każdy nowy projekt wymagał ponownego implementowania podobnych funkcji, co wydłużało czas tworzenia oprogramowania, utrudniało jego utrzymanie oraz zwiększało ryzyko powstawania błędów.
Celem projektu było stworzenie uniwersalnego frameworka programistycznego dla Beckhoff TwinCAT 3, który umożliwiłby szybkie budowanie nowych maszyn w oparciu o gotowe, wielokrotnego użytku komponenty programowe.
Rozwiązanie
Zaprojektowałem i wdrożyłem kompletną architekturę oprogramowania opartą na Object-Oriented Programming (OOP) w środowisku Beckhoff TwinCAT 3.
Framework składał się z bibliotek oraz klas odpowiedzialnych za obsługę najczęściej wykorzystywanych komponentów automatyki.
Powstały uniwersalne moduły obsługujące siłowniki pneumatyczne o różnych konfiguracjach czujników i zaworów, napędy Beckhoff Motion Control, serwonapędy zgodne ze standardem CiA 402, osie Jenny Science, roboty Fanuc i Mitsubishi SCARA, system Beckhoff XTS, a także komunikację z urządzeniami zewnętrznymi.
Framework obejmował również biblioteki komunikacyjne dla TCP/IP, UDP, ADS, OPC UA, Modbus TCP oraz komunikacji szeregowej.
Dodatkowo opracowałem mechanizm automatycznego generowania ekranów operatorskich na podstawie deklaracji obiektów PLC, znacząco skracając czas tworzenia interfejsów HMI.
Całość została zintegrowana z systemem alarmów wykorzystującym TwinCAT EventLogger, zapewniając spójny sposób obsługi diagnostyki we wszystkich projektach.
Architektura oprogramowania TwinCAT i framework PLC Beckhoff
Zakres odpowiedzialności
Jako główny architekt oprogramowania odpowiadałem za:
- projekt architektury frameworka,
- rozwój bibliotek TwinCAT,
- implementację programowania obiektowego,
- standaryzację komponentów PLC,
- rozwój bibliotek Motion Control,
- integrację robotów przemysłowych,
- implementację bibliotek komunikacyjnych,
- opracowanie automatycznego generatora HMI,
- integrację TwinCAT EventLogger,
- rozwój dokumentacji technicznej,
- wsparcie programistów wykorzystujących framework,
- rozwój kolejnych wersji bibliotek.
Rezultaty
Framework umożliwił:
- znaczące skrócenie czasu tworzenia nowych projektów,
- standaryzację architektury PLC,
- ponowne wykorzystanie kodu pomiędzy maszynami,
- uproszczenie uruchomień,
- łatwiejsze utrzymanie oprogramowania,
- spójną diagnostykę,
- szybsze wdrażanie nowych programistów,
- skalowalną architekturę dla kolejnych projektów.
Najważniejsze rozwiązania techniczne
Cały framework został zaprojektowany zgodnie z zasadami programowania obiektowego, umożliwiając dziedziczenie, ponowne wykorzystanie kodu oraz łatwą rozbudowę.
Każdy element automatyki został zaimplementowany jako niezależny moduł mogący być wykorzystany w wielu różnych projektach.
Framework obejmował obsługę robotów przemysłowych, systemów transportowych, serwonapędów, komunikacji przemysłowej oraz systemów wizyjnych.
Na podstawie deklaracji obiektów PLC interfejs operatorski był tworzony automatycznie, eliminując konieczność ręcznego projektowania wielu ekranów.
Dzięki jednolitym bibliotekom wszystkie nowe projekty wykorzystywały tę samą architekturę, co znacząco ułatwiało rozwój, uruchomienia oraz późniejsze utrzymanie maszyn.
Technologie
- Beckhoff TwinCAT 3
- Object-Oriented Programming
- Beckhoff Motion
- Jenny Science
- CiA 402
- Fanuc
- Mitsubishi SCARA
- Beckhoff XTS
- EtherCAT
- ADS
- OPC UA
- TCP/IP
- UDP
- Modbus TCP
- TwinCAT EventLogger
Najczęściej zadawane pytania
Aby ujednolicić sposób tworzenia oprogramowania oraz skrócić czas realizacji nowych projektów.
Roboty Fanuc i Mitsubishi SCARA, napędy Beckhoff Motion, CiA 402, Jenny Science, Beckhoff XTS oraz liczne urządzenia komunikujące się przez EtherCAT, TCP/IP i Modbus TCP.
Tak. Cała architektura została zaprojektowana zgodnie z zasadami Object-Oriented Programming.
Tak. Biblioteki stanowiły podstawę oprogramowania kolejnych maszyn budowanych przez firmę.
Potrzebujesz skalowalnej architektury TwinCAT?
Jeżeli rozwijasz wiele maszyn opartych na Beckhoff TwinCAT 3 i zależy Ci na standaryzacji kodu, programowaniu obiektowym oraz bibliotekach wielokrotnego użytku, mogę pomóc w zaprojektowaniu kompletnego frameworka dopasowanego do potrzeb Twojej firmy.