Framework programistyczny TwinCAT 3 dla producenta maszyn – obiektowa architektura oprogramowania PLC

Podsumowanie projektu

  • Branża: Budowa maszyn przemysłowych
  • Sterownik PLC: Beckhoff TwinCAT 3
  • Architektura: Object-Oriented Programming (OOP)
  • HMI: Beckhoff HMI / Automatyczne generowanie interfejsów
  • 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

Biblioteka pneumatyki TwinCAT

Opracowano wielokrotnego użytku bloki funkcyjne TwinCAT dla napędów pneumatycznych obsługujące różne konfiguracje sprzętowe, w tym:

  • Siłowniki jednostronnego działania
  • Siłowniki dwustronnego działania
  • Konfiguracje z jednym czujnikiem
  • Konfiguracje z dwoma czujnikami
  • Różne konfiguracje zaworów i sygnałów zwrotnych

Biblioteka zapewnia ustandaryzowaną diagnostykę, obsługę alarmów, zarządzanie stanami oraz integrację z HMI dla wszystkich elementów pneumatyki.

Biblioteka Motion Control TwinCAT

Opracowano standardowe komponenty programowe dla:

  • Beckhoff Motion Control
  • Zarządzania osiami serwo
  • Sekwencji ruchów
  • Aplikacji pozycjonujących
  • Diagnostyki i monitorowania stanu

Zapewniło to spójne podejście do programowania Motion Control we wszystkich projektach.

conveyor_belt

Integracja napędów

Opracowano wielokrotnego użytku sterowniki i interfejsy dla:

  • Napędów Beckhoff
  • Systemów ruchu Jenny Science
  • Napędów zgodnych z CiA 402

Architektura ustandaryzowała sterowanie, diagnostykę, parametryzację oraz zarządzanie alarmami dla różnych technologii napędowych.

precision_manufacturing

Integracja robotów przemysłowych

Opracowano dedykowane moduły programowe dla:

  • Robotów Mitsubishi
  • Robotów Fanuc

Komunikacja z robotami, monitorowanie stanu, wykonywanie poleceń oraz diagnostyka zostały ujęte w wielokrotnego użytku interfejsy programowe, upraszczając integrację maszyn.

bolt

Obsługa i programowanie Beckhoff XTS

Opracowano wielokrotnego użytku komponenty dla aplikacji Beckhoff XTS, obejmujące:

  • Zarządzanie moverami
  • Logikę routingu
  • Sterowanie stanami
  • Diagnostykę
  • Integrację procesu

Rozwiązanie znacząco skróciło czas tworzenia aplikacji dla maszyn wykorzystujących Beckhoff XTS.

Framework komunikacyjny TwinCAT

Zaimplementowano ujednoliconą warstwę komunikacyjną obsługującą:

  • TCP/IP
  • UDP
  • Modbus TCP
  • Beckhoff ADS
  • OPC UA
  • Komunikację szeregową

Framework zapewnia ustandaryzowane interfejsy, diagnostykę, obsługę błędów oraz wielokrotnego użytku usługi komunikacyjne.

Integracja systemów Machine Vision

Opracowano gotowe integracje dla:

  • Systemów wizyjnych Cognex
  • Systemów wizyjnych SensoPart
  • Inteligentnych kamer IFM

Architektura oprogramowania ustandaryzowała komunikację, obsługę inspekcji, przetwarzanie wyników oraz diagnostykę dla wszystkich obsługiwanych systemów wizyjnych.

Obsługa plików i eksport danych

Opracowano biblioteki do:

  • Obsługi plików TXT
  • Generowania plików CSV
  • Eksportu danych
  • Generowania raportów
  • Zarządzania konfiguracją

Architektura HMI dla maszyn TwinCAT

Istotną częścią projektu była standaryzacja tworzenia interfejsów HMI.

Dla wszystkich komponentów frameworka opracowano wielokrotnego użytku faceplate’y zapewniające spójny interfejs operatora na różnych platformach maszyn.

Aby jeszcze bardziej ograniczyć czas projektowania, wdrożono mechanizmy automatycznego generowania HMI. Na podstawie deklaracji obiektów w aplikacji PLC znaczna część interfejsu operatora była generowana automatycznie bez ręcznego tworzenia ekranów HMI.

Takie podejście znacząco skróciło czas programowania oraz zapewniło spójność pomiędzy aplikacją PLC a warstwą wizualizacji.

Diagnostyka i zarządzanie alarmami

Wszystkie komponenty frameworka zostały zintegrowane z TwinCAT EventLogger.

Framework automatycznie zapewniał:

  • Alarmy
  • Ostrzeżenia
  • Komunikaty diagnostyczne
  • Informacje o stanie
  • Rejestrowanie zdarzeń

Zapewniło to jednolitą strategię diagnostyki i zarządzania alarmami we wszystkich maszynach opartych na tej platformie.

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.