Notatka Aplikacyjna NA 03005PL Spis treści 1. Wstęp... 2 1.1. Wymagania programowe... 2 2. Tworzenie projektu i dodawanie programu w... 3 3. Organizacja okien dla języka FBD... 5 4. Składnia języka FBD Toolbox... 6 5. Łączenie elementów programu... 8 6. Dodawanie odgałęzienia linii... 9 7. Przykład... 12
1. Wstęp Aplikacja CoDeSys 3 jest nowoczesnym środowiskiem służącym do programowania sterowników firmy Eaton Electric. Notatka ta ma na celu przedstawienie programowania w języku CFC jednym z 7 języków zgodnych z normą IEC-61131-3. Podstawy programowania przedstawiono w notatkach NA03001PL oraz NA03002PL. 1.1. Wymagania programowe Przedstawiana notatka opiera się na oprogramowaniu narzędziowym XSoft-CoDeSys-3 V3.5.7 (Build 3152). Oprogramowanie przetestowane jest dla systemu Windows XP/7/8 (32,64bit), pracuje również poprawnie w Windows 10, ale nie było to szczegółowo testowane i użytkownik robi to na własną odpowiedzialność. Aktualne wersje demonstracyjne oprogramowania Eaton można pobrać z Download Centre pod adresem: http://applications.eaton.eu/sdlc Uwaga. Z poziomu CoDeSys 3 nie ma możliwości zaprogramowania sterowników EC4P, XC-CPU101, XC-CPU201, XN-PLC, XC-CPU121. Jednostki te można programować jedynie z poziomu CoDeSys 2. EATON www.eaton.pl 2
2. Tworzenie projektu i dodawanie programu w języku FBD Uruchamiamy CoDeSys 3 i w oknie Start Page wybieramy opcję New Project: EATON www.eaton.pl 3
W okienku New Project wybieramy Standard project wtedy W kolejnym oknie Standard Project wybieramy typ sterownika oraz język programowania programu głównego. Mamy do dyspozycji 7 języków programowania zgodnych z IEC. W obrębie projektu programy mogą być napisane w różnych językach. Na potrzeby tej notatki wybieramy XV300 oraz język graficzny FBD. EATON www.eaton.pl 4
3. Organizacja okien dla języka FBD Po kliknięciu na program FBD np. PLC_PRG ekran wyświetla się jak poniżej. Jest podzielony na pięć części: 1 Struktura projektu; 2 Okno zmiennych lokalnych; 3 - Okno w którym piszemy program; 4 Okno przebiegu kompilacji projektu; 5 Toolbox - elementy programowania dla FBD. 2 1 3 5 4 EATON www.eaton.pl 5
4. Składnia języka FBD Toolbox Gdy wybrany jest język FBD w narzędziu toolbox znajdują się następujące elementy tego języka: - nowa linia programu - nowy blok funkcyjny, funkcja lub program - nowy blok funkcyjny, funkcja lub program z dodatkowym wejściem aktywującym blok - przypisanie wartości do zmiennej - miejsce do którego ma być wykonany skok od przypisanego elementu Jump - jeżeli na wejściu tego elementu jest stan wysoki to na nim kończy się wykonywanie danego programu - nowe wejście do bloku funkcyjnego - odgałęzienie linii programu - umożliwia wykonanie kodu ST, który pisze się wewnątrz tego elementu Operatory logiczne - iloczyn logiczny AND z dwoma wejściami - iloczyn logiczny AND z trzema wejściami - suma logiczna OR z dwoma wejściami - suma logiczna OR z trzema wejściami - alternatywa wykluczająca XOR z dwoma wejściami Operatory matematyczne - dodawanie dwóch zmiennych - dodawanie trzech zmiennych EATON www.eaton.pl 6
- odejmowanie dwóch zmiennych - mnożenie dwóch zmiennych - dzielenie dwóch zmiennych uwaga w przypadku dzielenia przez zero może nastąpić zatrzymanie sterownika PLC - sprawdzenie czy zmienne wejściowe są sobie równe wtedy na wyjściu stan wysoki - jeśli na wejściu zmienne różne to na wyjściu stan wysoki - jeśli zmienna na wejściu 1 mniejsza od zmiennej na wejściu 2 wtedy stan wysoki na wyjściu - jeśli zmienna na wejściu 1 mniejsza lub równa zmiennej na wejściu 2 wtedy stan wysoki na wyjściu - zmienna na wejściu 1 większa od zmiennej na wejściu 2 wtedy stan wysoki na wyjściu - jeśli zmienna na wejściu 1 większa lub równa zmiennej na wejściu 2 wtedy stan wysoki na wyjściu Pozostałe operatory - selektor przepisuje jedną z wartości (IN0 albo IN1) na wyjście w zależności od stanu wejścia G - multiplexer przepisanie K-tego wyrazu ze zbioru IN0,, INh na wyjście, gdzie h oznacza indeks ostatniego elementu - limit ograniczenie wartości wejściowej do przedziału od MN do MX i wystawienie jej na wyjście; jeżeli wartość wejściowa jest mniejsza od MN to na wyjście przekazywana jest wartość MN, natomiast jeżeli wartość wejściowa jest większa od MX to na wyjście przekazywana jest wartość MX - move - przyporządkowanie zmiennej do innej zmiennej odpowiedniego typu - conversion konwertuje typ zmiennej, np. zmienia typ zmiennej z REAL na INT Bloki funkcyjne EATON www.eaton.pl 7
- R_TRIG wykrycie zbocza narastającego na wyjściu aktywuje wyjście - F_TRIG wykrycie zbocza opadającego na wyjściu aktywuje wyjście - RS blok ustaw/kasuj z dominującym wejściem RESET - SR blok ustaw/kasuj z dominującym wejściem SET - TON timer z opóźnionym załączeniem - TOF timer z opóźnionym wyłączeniem - CTU licznik zliczający w górę - CTD licznik zliczający w dół 5. Łączenie elementów programu. 1. Przeciągamy element Box do okna edytora. 2. Chwytamy drugi element Box, przenosimy go nad obszar roboczy edytora i podłączamy do dowolnego miejsca, w którym pojawił się szary romb (na rysunku oznaczono te miejsca elipsami). EATON www.eaton.pl 8
3. Puszczamy przycisk myszy w momencie kiedy element Assignment będzie nad połączenia, tj. punkt połączenia zaświeci się na zielono. Elementy zostają połączone. 6. Dodawanie odgałęzienia linii Kod programu w rozbudowujemy poprzez dodawanie kolejnych linii programu. Programista ma możliwość rozbudowania pojedynczej linii stosując rozgałęzienia (branch). Przedstawimy w tym miejscu jak dodawać rozgałęzienia. W tym celu do okna programowania przeciągamy jeden element Box. EATON www.eaton.pl 9
Klikamy prawym przyciskiem myszki na wyjście elementu Box. Wyjście podświetli się na czerwono. Klikamy prawym przyciskiem myszy na podświetlone wyjście i z menu wybieramy opcję Insert Branch. Możemy tego również dokonać poprzez przeciągnięcie elementu branch z Toolbox a i upuszczeniu go na wyjściu elementu Box. W wyniku tej operacji otrzymujemy rozgałęzienie wyjścia z pierwszego elementu Box. EATON www.eaton.pl 10
Do wyjść rozgałęzienia możemy podłączyć dowolne elementy dostępne w oknie Toolbox w tym również kolejne rozgałęzienia w celu utworzenia bardziej rozbudowanej linii programu. EATON www.eaton.pl 11
7. Przykład Przedstawimy tutaj bardzo prosty przykład opóźnionego załączania wyjścia. W tym celu do okna programowania przeciągamy jeden element Box. Do jego wyjścia podłączamy jeden element Assignment. Zmieniamy Box na interesujący nas Timer z opóźnieniem załączenia. W tym celu wpisujemy w miejsce??? nazwy bloku, tj. TON. Otrzymujemy Timer, który musimy teraz zadeklarować. W miejsce TON_0 wpisujemy swoją nazwę, np. fbczasowka, co spowoduje otwarcie okna automatycznej deklaracji. EATON www.eaton.pl 12
W tym miejscu możemy ustawić np.: typ, nazwę, adres lub nadać komentarz zmiennej. Pozostałe zmienne można deklarować w podobny sposób lub dodać je w oknie zmiennych lokalnych. W naszym przykładzie zastosowano następujące zmienne: IN - xstart typu BOOL, którą zaadresowano jako wejście o adresie 0.0; PT tczaszadany typu TIME, której przypisano stałą wartość równą 5sekund; Q xwyjscie typu BOOL, którą zaadresowano jako wyjście o adresie 0.0; ET tczasaktualny typu TIME, która wskazuje aktualną wartość Timer a. Timer fbczasowka zaczyna odliczać zadany czas PT po podaniu stanu wysokiego na wejście IN. Jeżeli wejście IN utrzyma stan wysoki przez czas PT, to na EATON www.eaton.pl 13
wyjściu Q pojawi się stan wysoki i będzie utrzymywany aż do momentu kiedy wejście IN będzie utrzymywało stan wysoki. Po poprawnej kompilacji (przycisk ), program możemy wgrać do sterownika. Raport z kompilacji możemy odczytać w oknie przebiegu kompilacji: EATON www.eaton.pl 14