Pierwsze podłączenie i przygotowanie Codesys do pracy ze sterownikiem PLC
Kurs programowania w Codesys odc. 2
Kontakt w sprawie artykułu: Mateusz Pijanowski - 2021-01-15
Podczas kursu dowiesz się m.in.:
- co to są „targety” do oprogramowania Codesys,
- jak zainstalować targety,
- jak skonfigurować kartę sieciową komputera,
- jak utworzyć pierwszy program na sterownik PLC w Codesys.
Witaj w drugim odcinku kursu programowania w środowisku CODESYS. Odcinek ten jest poświęcony przygotowaniu uniwersalnego środowiska Codesys do pracy ze sterownikiem PLC. Jak pewnie wiesz, Codesys daje możliwość programowania sterowników PLC od wielu dostawców.
Kurs programowania w Codesys
Część I – Podstawowe funkcjonalności środowiska Codesys
1. Pierwsze kroki w Codesys. Jak stworzyć program?2. Pierwsze podłączenie i przygotowanie Codesys do pracy ze sterownikiem PLC.
3. Język drabinkowy (LD).
4. Typy danych w Codesys, rodzaje zmiennych, sposoby ich tworzenia.
5. Język schematów blokowych (FBD).
6. Tworzenie podstawowej wizualizacji HMI.
7. Język strukturalny (ST).
8. Diagnostyka w Codesys – jak sprawdzać działanie oprogramowania i sterownika?
9. Język bloków funkcyjnych (CFC).
10. Funkcja, blok funkcyjny, program – zmodyfikuj program w Codesys dla lepszej funkcjonalności.
Część II – Zaawansowane funkcje i możliwości środowiska Codesys
11. Komunikacja MQTT – jak skonfigurować w Codesys?12. Komunikacja EtherCAT – konfiguracja i przykładowa aplikacja.
13. Softmotion – synchronizacja serwonapędów przy pomocy sterownika PLC.
14. Komunikacja Modbus RTU i TCP/IP w środowisku Codesys.
15. Tworzenie projektów w Codesys ze sterownikami bezpieczeństwa Safety: architektura systemu bezpieczeństwa.
16. Programowanie sterownika bezpieczeństwa w Codesys.
17. Integracja sterownika PLC z systemem SCADA w Codesys.
18. Konfiguracja maszyny CNC z wykorzystaniem sterownika PLC – obsługa G-Code.
Dodatkowe materiały i lekcje dla kursantów:
1. Jak stworzyć wirtualny serwonapęd w Codesys? Instrukcja krok po kroku.2. Przykładowa aplikacja Codesys w języku ST i LD: napełnianie i opróżnianie zbiorników wraz z alarmowaniem.
Najczęściej zadawane pytania:
Sprawdź odpowiedzi na najczęściej zadawane pytania dotyczące środowiska Codesys.Aby przygotować Codesys do pracy z danym sterownikiem PLC, należy wykonać kilka prostych kroków. W tym odcinku będziemy pracować w oparciu o sterownik Astraada One ECC2200. Odcinek ten jest świetnym wstępem dla uczestników kursu, którzy zdecydowali się na zakup dedykowanego zestawu startowego ONE-START. Zestaw zawiera sterownik Astraada ECC2200, zasilacz oraz targety i jest kompletnym zestawem do nauki Codesys.
Jeśli jednak nie posiadasz dostępu do sterownika PLC, nic straconego. Wszystkie kolejne lekcje pierwszej części kursu, będziesz mógł wykonać zarówno na sterowniku PLC jak i symulatorze, o którym mówiliśmy w pierwszym odcinku. Zaczynamy?
Co to są „targety” do oprogramowania Codesys?
Targety to potoczna nazwa pliku sprzętowego, który pozwala środowisku Codesys na pracę z danym sterownikiem PLC. Zainstalowanie targetów sprawia, że środowisko Codesys, jest kompatybilne ze sterownikiem PLC, który posiada dany, niepowtarzalny zestaw CPU, pamięci, interfejsów itd.
Sterowniki Astraada One posiadają jeden wspólny target o nazwie „1.23.0_ECC_EC_SP15_Patch4”. Jego instalacja zapewnia Ci możliwość programowania całej rodziny PLC Astraada One. Standardowo targety są płatne. Mam dla Ciebie jednak dobrą wiadomość. Obecnie trwa promocja, w której możesz mieć target bezpłatnie przy zakupie dowolnego sterownika. Target wchodzi również w skład zestawu startowego.
Instalacja targetów do oprogramowania Codesys
Skoro jesteś już zaopatrzony/a w targety do sterownika PLC Astraada One, nie pozostaje nic innego jak zainstalować je oraz przejść do dalszych etapów poznawania Codesys.
W tym celu, po uruchomieniu Codesys, z górnej wstążki wybierz opcję Tools -> Package Manager:
W oknie Menadżera pakietów kliknij opcję Install:
Następnie wybierz plik sprzętowy ze swojego dysku (otrzymasz go w m.in. zestawie startowym). Plik nosi nazwę: Berghof_MX6_Target_1.23.0.0.package:”
W kolejnym kroku wybierz opcję pełnej instalacji oraz przejdź poszczególne etapy klikając Next.
Po ukończonej instalacji w oknie Menadżera pakietów (Package Manager) pojawi się informacja o zainstalowanych targetach do sterowników Astraada One. To wszystko, środowisko Codesys jest już gotowe do współpracy ze sterownikami PLC Astraada One. Czynności opisane powyżej wykonujesz tylko raz, na początku swojej przygody programowania PLC w Codesys. Za każdym kolejnym razem, połączenie się ze sterownikiem będzie wymagało od Ciebie jedynie kilku kliknięć ????
Ważne: Warto wiedzieć, że wersja targetów zainstalowanych w Codesys powinna pokrywać się z wersją firmware, którą posiada sterownik PLC. W sekcji Tips&Tricks w kilku krokach nauczysz się, w jaki sposób zaktualizować firmware sterownika w przypadku niezgodności wersji. Zrobisz to z poziomu panelu administracyjnego sterownika PLC Astraada One.
Środowisko jest w pełni gotowe na rozpoczęcie Twojej przygody z programowaniem w Codesys!
Adres IP sterownika
Co warto znać przed rozpoczęciem pracy ze sterownikiem PLC? Pierwszą z nich jest fabryczny (domyślny) adres IP sterownika PLC. Będziesz go potrzebował/a, aby połączyć się ze sterownikiem z poziomu Codesys lub wejść do panelu administracyjnego sterownika za pomocą przeglądarki internetowej.
Fabryczny adres IP sterownika:
169.254.255.XX
XX – dwie ostatnie cyfry numeru seryjnego sterownika (oznaczony na czerwono)
W przypadku powyższej tabliczki znamionowej adresem IP sterownika będzie:
169.254.255.7
Konfiguracja karty sieciowej komputera
Przed rozpoczęciem pracy, upewnij się czy karta sieciowa komputera, na którym pracujesz, posiada odpowiedni adres IP. Powinna mieć ustawiony statyczny adres IP w podsieci sterownika. W celu zmiany ustawień karty wybierz Panel sterowania -> Sieć i Internet -> Centrum Sieci i Udostępniania -> Zmień ustawienia karty sieciowej. Następnie kliknij prawym przyciskiem myszy na Twoją kartę sieciową oraz wybierz opcję Właściwości:
Podobnie jak jest to pokazane powyżej, ustaw adres IP karty sieciowej komputera jako 169.254.255.(dowolny adres z przedziału 0;255 za wyjątkiem adresu Twojego sterownika PLC) oraz ustaw domyślną bramę 255.255.0.0.
W moim przypadku adres sterownika to 169.254.255.15, dlatego nadałem adres IP karty sieciowej 169.254.255.159.
Tworzenie pierwszego programu na sterownik PLC w Codesys
Wszystkie kroki, które zrobiłeś/aś do tej pory, wykonasz tylko raz. Poznasz je dość szczegółowo, abyś mógł/mogła wykonać je jak najszybciej i przejść do właściwej części, czyli tworzenia aplikacji na sterowniki PLC w środowisku Codesys. Standardowo pracę z Codesys będziesz rozpoczynał właśnie od tego miejsca.
Proces tworzenia pierwszego programu na sterownik PLC jest analogiczny do tego samego procesu w przypadku symulatora wbudowanego do Codesys. Różni się jedynie kilkoma szczegółami.
Krok 1. Utwórz nowy projekt
W tym celu kliknij File -> New Project lub z sekcji Basic Operations wybierz opcję New Project, następnie określa nazwę projektu i zatwierdź przyciskiem OK:
W kolejnym kroku dokonaj wyboru języka w jakim będziesz tworzył swoją pierwszą aplikację oraz wybierz urządzenie, na którym będzie pracowała aplikacja. W tym odcinku kursu pracujemy z sterownikiem PLC, dlatego wybieramy zainstalowany wcześniej Target Berghof MX6 Control (odpowiedni dla całej rodziny sterowników Astraada One.) W odcinku nr 1 wybrałeś/aś opcję CODESYS Control Win V3 (tryb Symulatora).
Wybierz język drabinkowy jako główny w naszym projekcie. Nie jest to wybór obligatoryjny, ponieważ na późniejszym etapie można zmienić język, w jakim piszesz aplikację. Co więcej, Twoja aplikacja może być napisana w kilku językach jednocześnie.
Po wykonaniu tych operacji, został utworzony pierwszy Twój pierwszy projekt w środowisku Codesys. Widok przedstawia się następująco:
Legenda:
1.Drzewko programu
2. Okno zmiennych
3. Pasek Menu
4. Edytor programu
5. Okno Dialogowe
6. ToolBox
Krok 2. Dodaj do projektu we/wy sterownika PLC
Sterownik Astraada One ECC2200, który wchodzi w skład zestawu startowego ONE-START ma 16 wejść oraz 16 wyjść cyfrowych. Teraz dodasz je do projektu, aby móc je wykorzystywać w aplikacji.
W tym celu wybierz z drzewka projektu Device -> Add Device oraz wybierz obiekt Extension_Slots klikając na niego dwukrotnie:
Do obiektu Extension_Slots podłącz docelowy obiekt, który mapuje we/wy sterownika PLC Astraada One. W tym celu kliknij <Empty> w drzewku projektu oraz wybierz opcję Plug Device. Następnie wybierz obiekt XBIO Berghof IO:
Tym sposobem zyskałeś/aś dostęp do cyfrowych wejść i wyjść sterownika. Możesz teraz nadać im nazwy symboliczne oraz zacząć używać w programie.
W tym celu kliknij dwukrotnie na obiekt XBIO_Berghof_IO oraz w zakładce BGH Slot BUS I/O Mapping nadaj nazwy symboliczne odpowiadające wejściom oraz wyjściom sterownika. Zobacz przykład poniżej:
Ważne: Pamiętaj, aby zaznaczyć opcję Enabled 2 (always in bus cycle task), która zapewnia, że stan we/wy będzie odczytywany w trybie ciągłym w cyklu pracy sterownika.
Krok 3. Stwórz pierwszy program
Stworzyłeś/aś już pusty projekt w Codesys, dodałeś/aś do niego zmienne we/wy sterownika oraz przypisałeś/aś im nazwy symboliczne.
Napisz teraz najprostszą funkcjonalność w języku drabinkowym, czyli funkcję aktywacji cewki za pomocą styku. Tym razem do cewki przypisz zmienną odpowiedzialną za wyjście fizyczne OUT1, dzięki czemu pracę programu zaobserwujesz na sterowniku PLC.
W tym celu kliknij dwukrotnie na obiekt PLC_PRG, czyli główny program aplikacji. Następnie przejdź do okna ToolBox, w której zawarte są podstawowe elementy języka drabinkowego.
Kliknij i przytrzymaj element styku (Contact) oraz upuść w obszarze programu. Następnie przypisz mu nazwę zmiennej. Możesz przypisać nazwę zmiennej, którą przypisałeś wejściu fizycznemu (np. IN1) lub dowolną zmienną w pamięci sterownika.
Dla przykładu utwórz zmienną niezmapowaną na wejście fizyczne:
W podobny sposób dodaj cewkę oraz kliknij w miejsce przypisania zmiennej:
Tym razem przypisz zmapowaną wcześniej zmienną, która odpowiada pierwszemu cyfrowemu wyjściu sterownika. W oknie Input Assistant, w drzewku zmiennych, wejdź w IoConfig_Globals_Mapping oraz wybierz zmienną OUT1:
Tym sposobem utworzyłeś/aś pierwszy szczebel drabinki w Codesys. Jak pewnie zauważyłeś/aś, możesz użyć opcji Auto Deklaracji (tworzenie zmiennej bStart), w której w sposób automatyczny deklarujesz zmienną lub też za pomocą okna Input Assistant możesz wybrać utworzoną wcześniej zmienną (przypisywanie zmiennej do cewki).
Więcej na temat zmiennych dowiesz się w odcinku pt: „Typy danych – jakie są rodzaje zmiennych? Jak je tworzyć? | Kurs programowania w Codesys odc.3”
Teraz przejdź do przetestowania Twojego mini-programu oraz sprawdzenia działania sterownika PLC z aplikacją napisaną w Codesys.
Kompilacja projektu oraz wgranie aplikacji na sterownik PLC
W Codesys kompilację programu przeprowadzisz wybierając z Menu kontekstowego Build -> Build lub używając skrótu klawiszowego F11. Po przeprowadzeniu kompilacji programu, wszelkie informacje o błędach czy ostrzeżeniach zostaną wyświetlone w oknie dialogowym Messages:
Nawiązanie komunikacji ze sterownikiem PLC w Codesys
Stworzyłeś/aś już swój pierwszy projekt w Codesys, kolejnym krokiem będzie wgranie go do sterownika PLC. Żeby to zrobić, należy nawiązać z nim komunikację. W tym celu wybierz z drzewka projektu Device -> Scan Network:
Przy założeniu, że odpowiednio skonfigurowałeś/aś kartę sieciową sterownika na początku tego odcinka, oprogramowanie Codesys powinno znaleźć sterownik PLC Astraada One podłączony do Twojego komputera. Zaznacz go oraz zatwierdź:
Alternatywnie do skanowania sieci, w otwartym oknie Device możesz wpisać adres IP sterownika PLC oraz zatwierdzić klawiszem Enter:
Środowisko Codesys sygnalizuje zielonymi diodami nawiązanie pomyślnej komunikacji ze sterownikiem PLC:
Wgranie programu do sterownika PLC
Nie pozostaje Ci nic innego jak wgranie programu i przetestowanie jego działania. W tym celu wybierz opcję Login:
Po wybraniu opcji Login Codesys wyświetli okienko z zapytaniem, w jakim trybie chcesz wgrać Twoją aplikację. Codesys daje do wyboru kilka opcji:
Login with online change: Opcja wgrywania zmian w aplikacji podczas pracy sterownika. Podczas tej operacji sterownik PLC nie zatrzymuje działania. Wgrywanie zmian następuje „w locie”. Ta opcja jest wygodna w przypadku chęci wgrania zmian/modyfikacji aplikacji pracującej już na sterowniku PLC.
Login with download: Do pamięci sterownika wgrywana jest cała aplikacja. Operacja wymaga zatrzymania pracy sterownika.
Login without any change: Opcja zalogowania do sterownika bez wgrywania zmian w aplikacji, nawet jeśli zostały już wprowadzone. Jest to wygodne działanie w przypadku kiedy wprowadzasz zmiany w aplikacji, a wystąpiła potrzeba przetestowania jej poprzedniej wersji.
Z racji tego, że w sterowniku nie funkcjonuje żadna aplikacja, wybierz opcję Login with download oraz zatwierdź swój wybór. Otrzymasz informację, że aplikacja została prawidłowo wgrana do pamięci sterownika oraz że znajduje się on w trybie STOP:
Następnie przejdź do trybu RUN, wybierając z menu kontekstowego opcję Start:
Podgląd pracy programu w Codesys
W czasie działania programu można obserwować jego status. Stan zmiennych programu możesz podejrzeć w głównym edytorze programu oraz w oknie zmiennych:
Działanie programu możesz obserwować również na diodach Twojego sterownika Astraada One, ponieważ zmienna OUT1 odpowiada cyfrowemu wyjściu sterownika. Tym sposobem jesteśmy na końcu odcinka nr 2.
Zapraszam również do odcinka nr 1 do sekcji Tips&Tricks, gdzie dowiesz się, w jaki sposób zmieniać wartości zmiennych podczas pracy programu. Ta wiedza będzie bardzo przydatna podczas testowania Twoich aplikacji, które jak mam nadzieję, zaczną niedługo powstawać.
Dzień dobry
Pomocny artykuł tylko znalazłem różnicę bo w moim sterowniku sterowniku bramka domyślna to 255.255.255.0 a nie jak w artykule 255.255.0.0 nie wiem czy to chochlik czy są to różnice w wersjach PLC ale należy zwrócić na to uwagę gdyż wtedy nie widzi w Scan PLC. 🙂
Gdzie mogę znaleźć adres IP sterownika Astraada One, Target 1.23.0?
Dzień dobry,
Jeżeli nie zna Pan IP sterownika najszybciej będzie, jeżeli uruchomi go Pan w trybie Maintenance. Przy złączu zasilania znajdzie Pan niewielki przycisk – proszę wyłączyć sterownik i załączyć go ponownie trzymając ten przycisk wciśnięty aż do momentu zaświecenia pomarańczowej mrugającej diodki. W tym momencie IP sterownika jest wymuszone jako fabryczne a więc: 169.254.255.XX, gdzie XX to dwie ostatnie cyfry numeru seryjnego.
Dzięki temu może Pan się zalogować do interfejsu webowego sterownika i zmienić tam IP na docelowe – jak to zrobić? Opisaliśmy to w sekcji Tips&Tricks do której serdecznie zapraszam 🙂
Bardzo pomocny artykuł, z niecierpliwością czekam na kolejne 😉