Artykuł z serii: Kurs podstaw automatyki
Zobacz naszą relację „TwinCAT 3 i komputer przemysłowy Beckhoff – co i jak?„
Często pojawiające się zapytania na różnych forach na temat pierwszych kroków w programowaniu sterowników Beckhoff skłoniły mnie do napisania krótkiego, wprowadzającego artykułu, który poruszyłby to zagadnienie. Sam pamiętam, gdy byłem w podobnej sytuacji – do niektórych rzeczy doszedłem sam, do innych konieczna była lektura poradników. Osobiście uważam, że programowanie w TwinCAT (oprogramowanie dla Beckhoff) jest dość specyficzne, szczególnie dla kogoś, kto wcześniej używał np. STEP-a 7 lub TIA Portal. Widać tu nieco inną filozofię producenta, pamiętajmy jednak, że sterowniki Beckhoffa to IPC (Industrial PC), które działają w oparciu o system operacyjny Windows i prawdopodobnie dlatego początkujący mogą czuć się nieco zagubieni w użytkowaniu wyżej wspomnianego oprogramowania.
Z przyczyn technicznych ograniczę się tu jedynie do szybkiego wstępu w tryb symulacji TwinCAT w wersji 2 dla systemów 32-bitowych. Niestety, moja „7” 64-bit po jakimś błędzie nie bardzo chce ponownie zainstalować TwinCAT w wersji 64-bitowej, jednak mechanizm działania jest podobny. Wersja 2 nadal jest warta nauki, ponieważ działa na niej już dość sporo układów, które trzeba serwisować.
Jednak w przypadku nowych aplikacji polecane jest sięgnięcie po nową wersję – TwinCAT 3. Przedstawię szybkie wprowadzenie również dla tej platformy, a programem testowym będzie klasyczne Hello World dla automatyków, czyli w naszym przypadku załączenie przycisku i wysterowanie kontrolki. Ograniczę się jedynie do trybu symulacji z uwagi na obecny brak fizycznej platformy, jednak wierzę, iż dodane poradniki na końcu artykułu pomogą każdemu początkującemu poradzić sobie i z tym problemem.
Starałem się skondensować kilka dobrych „wstępniaków” jakie kiedyś sam znalazłem w sieci, oczywiście należy pamiętać, że solidną skarbnicą wiedzy jest również strona producenta.
Na koniec wspomnę jeszcze, że cenną zaletą Beckhoff jest programowanie w CODESYS zgodnie z normą 61131-3, dzięki czemu programujący w innych systemach wykorzystujących tę filozofię będą mieli łatwiejszy start (np. WAGO, EATON, ABB).
A więc dość przynudzania i zabierzmy się za pierwszy program! Zaczynamy od wersji 2.
Oprogramowanie można znaleźć na stronie producenta (do wyboru wersja 32-bit i 64-bit), ściągamy go po uprzedniej darmowej rejestracji. Instalacja przebiega standardowo, jedynie w pewnym momencie można czuć się zagubionym, gdy dochodzi do wyboru rodzaju instalowanego softu:
Nie wdając się w szczegóły wybierzmy domyślnie wybraną opcję. W kwestii wyjaśnienia co oznaczają poszczególne warianty odsyłam do strony producenta lub do PDF zamieszczonych na końcu artykułu.
Po ponownym uruchomieniu komputera możemy zacząć programować. W dużym uproszczeniu można powiedzieć, że TwinCAT składa się z dwóch głównych składników-programów.
System Manager – w którym deklarujemy konfigurację sprzętową naszej platformy, przypisujemy projekt PLC, linkujemy zmienne itp.
PLC Control – w którym piszemy nasz program
Chcąc szybko przełamać pierwsze lody z oprogramowaniem, proponuję uruchomić program PLC Control, wybrać opcję New oraz wariant PC or CX (x86):
Następnie możemy wybrać dowolny język programowania którym chcemy posługiwać się w naszym programie MAIN. Ja ze względu na uniwersalność przekazu zdecydowałem się na język LD (LAD-drabinka).
Po zaakceptowaniu ustawień możemy zacząć (wreszcie!) konkretny program. Pominę tu kwestię tego, że poszczególne zmienne możemy grupować na zmienne wejściowe, wewnętrzne, wyjściowe itd. Te szczegóły można doczytać w odpowiedniej literaturze, póki co do działania naszego programu wystarczy deklaracja zmiennych w ramach domyślnej grupy VAR (wewnętrzne).
Dodajmy również linijkę podstawowego kodu i nasz program powinien mniej więcej wyglądać tak:
W dalszej kolejności wykonajmy prostą wizualizację z odpowiednim jej sparametryzowaniem.
W dolnej części okna PLC Control odnajdujemy zakładkę Visualizations…
i w pustym obszarze wybieramy opcję Add Object (możemy go nazwać dowolnie):
Z listwy narzędziowej znajdujemy element Button i wstawiamy go w okno wizualizacji. Podobnie postępujemy dla wstawienia elementu koła (elipsa). W moim przypadku wyglądało to mniej więcej tak:
Możemy teraz odpowiednio skonfigurować nasze obiekty.
Zacznijmy od przycisku. Dwukrotne kliknięcie pozwoli nam edytować obiekt. Możemy dodać opis przycisku (opcja Text, pole Content), z kolei w opcji Input zaznaczmy opcję Toggle variable i wskażmy na naszą zmienną Przycisk:
Zajmijmy się teraz kontrolką np. spróbujmy zmienić kolor w reakcji na naciśnięcie naszego przycisku. Po dwukliku na naszą kontrolkę przejdźmy więc do sekcji Colors i ustalmy w polu Alarm color taki, jaki byśmy chcieli (w polu Color ustalimy domyślny kolor obiektu tzn. taki, który będzie, gdy nic nie naciśniemy).
Musimy jeszcze zaprogramować zmianę koloru w reakcji na jakąś zmienną. Zrobimy to w sekcji Variables, w polu Change color. Wskażmy na naszą zmienną wyjściową:
I w zasadzie program mamy gotowy. Wybierzmy z górnego menu PLC Control opcję Project/Rebuild all, powinniśmy uzyskać brak błędów oraz ostrzeżeń.
Musimy teraz uruchomić System Manager. System może działać w dwóch trybach – Config Mode oraz Run Mode. Tylko w tym drugim program może nam się wykonywać. Wybierzmy zatem odpowiednią opcję w System Manager (Set System to Run Mode), w dolnym pasku programu powinna pojawić się informacja o uruchomieniu systemu:
Wracamy następnie do PLC Control i wybieramy opcję Online/Login. Jeśli nic wcześniej nie wgrywaliśmy, program wyświetli monit o tym, że nie ma żadnego programu w pamięci „sterownika” i czy chcemy go załadować. Potwierdzamy i następnie uruchamiamy program (opcja Run w menu Online).
Udajemy się na zakładkę z naszą wizualizacją i jeśli wszystko robiliśmy jak w powyższych wskazówkach, cieszymy się z działającego programu:
Na koniec możemy zweryfikować poprawność sterowania naszego programu w zakładce w której pisaliśmy program. W zależności od naciśnięcia (bądź jego braku) odpowiednio podświetlą się elementy w naszej drabince.
I to na tyle jeśli chodzi o szybkie wprowadzenie w TwinCAT 2. Jeśli nie jesteś zainteresowany poznawaniem wersji 3, zachęcam Cię do „skoczenia” na koniec artykułu, gdzie znajdziesz kilka cennych materiałów pomocnych do startu w programowaniu sterowników Beckhoff 😉
Przechodzimy więc do wersji 3. Wspiera ona najnowszy Codesys 3 i wykorzystuje Microsoft Visual Studio, daje się odczuć również nieco wolniejsze działanie w stosunku do wersji 2.
Zachęcam do ściągnięcia najnowszej wersji TwinCAT 3 ze strony producenta (czyli tutaj), oszczędzicie sobie problemów w trakcie uruchomienia, które dotknęły np. mnie (miałem starą wersję, w międzyczasie Microsoft wydawał różne łatki do swoich systemów, które skutecznie blokowały TwinCATa).
Proces instalacji wygląda podobnie (nie ma jednak okienka z zapytaniem o różne wersje instalacji tak jak w TC2). Po instalacji odnajdujemy skrót do TwinCAT XAE i uruchamiamy go.
Tworzymy nowy projekt :
Po utworzeniu projektu klikamy w oknie po lewej stronie (jeśli go nie widzisz, wejdź do menu View/Solution Explorer) na PLC prawym klawiszem myszki i dodajemy standardowy projekt PLC:
Następnie w liście projektu odnajdujemy katalog POU, kasujemy istniejący program MAIN oraz tworzymy nowy (o nazwie MAIN) tyle, że wybieramy język LD:
Przygotowujemy program dokładnie tak samo jak robiliśmy to dla wersji 2.
Następnie przygotowujemy wizualizację, klikamy prawym klawiszem na folder VISUs i wybieramy dodanie nowego obiektu – Visualization. W kolejnym oknie, które się pojawi klikamy przycisk OK.
Teraz w oknie po prawej stronie na dole wybieramy zakładkę Toolbox i dodajemy dwa elementy – Button oraz elipsę (koło).
Parametryzujemy nasze elementy podobnie jak robiliśmy to dla wersji TC 2. Po prawej stronie dysponujemy właściwościami obiektów.
Dla przycisku dodajemy napis START…
z kolei w polu Input Configuration wybieramy wariant Toggle i podajemy naszą zmienną MAIN.PRZYCISK.
Dla koła w sekcji Colors/Alarmstate ustawiamy sobie odpowiedni kolor, zaś w Color variables/Toggle Color wskazujemy naszą zmienną MAIN.KONTROLKA…
Zapisujemy projekt, aktywujemy konfigurację (menu TWINCAT/Activate Configuration lub odpowiedni przycisk na toolbar), uruchamiamy TwinCAT w Run Mode, wybieramy PLC/Login, potwierdzamy utworzenie portu oraz wpisujemy ewentualne hasło jakie podaje TwinCAT, wreszcie startujemy projekt – RUN. I koniec! Testujemy naszą aplikację i porównujemy ekran wizualizacji z oknem programu MAIN.
To tyle w ramach BARDZO szybkiego wprowadzenia w świat Beckhoffa. Zdaję sobie sprawę, że nie poruszono tutaj wielu innych, podstawowych kwestii (linkowanie zmiennych, deklaracje zmiennych globalnych itd.) ale to wszystko znajdziesz właśnie w linkach, który podaję Ci poniżej. Być może nie miałeś tyle szczęścia, aby je wcześniej znaleźć 😉
Do zobaczenia!
Pomocne linki:
- Mapowanie zmiennych
- Podstawy TC2
- Pierwsze kroki w TwinCAT
- Podstawy obsługi TwinCAT System Manager
- Podstawy obsługi TC3
- Podstawy obsługi PLC Control
- Tryb symulacji
Artykuł nagrodzony!
Artykuł został zgłoszony jako Praca Konkursowa do Konkursu iAutomatyka w miesiącu Maj 2018 i zdobył poniższą nagrodę:
Zabezpieczenie elektroniczne 1A EPSITRON od WAGO
- WAGO Epsitron – 787-2861/100-000 + Zestaw złączek – Zobacz film z testów zabezpieczenia EPSITRON
Nagrodę dostarcza WAGO – producent urządzeń automatyki przemysłowej i budynkowej oraz systemów połączeń dla elektrotechniki i elektroniki. Powstanie w 1951 roku firmy WAGO było wyrazem przekonania o słuszności obranego kierunku i stworzyło podwaliny pod dalszy rozwój technologii. Z czasem stała się ona standardem na całym świecie i teraz nie sposób wyobrazić sobie nowoczesnej instalacji elektrycznej czy systemu automatycznego sterowania bez wyrobów WAGO. http://www.wago.pl/ 🎁 Zwycięzca: Łukasz Bendarz Praca konkursowa: Jak zacząć pracę ze sterownikami PLC BECKHOFF, czyli hello World w TWINCAT2. |