Notatka Aplikacyjna NA 03006PL Maj 2016

Podobne dokumenty
CoDeSys 3 programowanie w języku FBD

CoDeSys 3 programowanie w języku drabinkowym LD

Notatka Aplikacyjna NA 03006PL Maj 2016

CoDeSys 3 programowanie w języku CFC

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Standardowe bloki funkcjonalne

Notatka Aplikacyjna NA 03001PL Marzec 2016

Galileo v10 pierwszy program

W 5_2 Typy języków programowania sterowników PLC (zdefiniowane w IEC-61131) - języki graficzne (LD, FBD); języki tekstowe (ST, IL).

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Notatka Aplikacyjna NA 03002PL Kwiecień 2016

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

1 Podstawy c++ w pigułce.

Programowanie sterowników B&R

1 Podstawy c++ w pigułce.

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Podstawy Programowania Podstawowa składnia języka C++

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Programowanie Delphi obliczenia, schematy blokowe

Programowanie w języku Python. Grażyna Koba

Bloki anonimowe w PL/SQL

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Wstęp do programowania. Różne różności

Programowanie komputerowe. Zajęcia 1

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

1. Operacje logiczne A B A OR B

Tworzenie prostego programu w językach ST i LD

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Pascal - wprowadzenie

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Algorytmika i Programowanie VBA 1 - podstawy

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Programowanie w Turbo Pascal

opracował: mgr inż. Piotr Marchel Instrukcja obsługi programu Struktura

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Sterowniki Programowalne (SP)

Języki formalne i techniki translacji

Programowanie w języku C++ Grażyna Koba

PASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka

Ćwiczenie 9 Podstawy programowania PLC w języku ST

Podstawy programowania w języku C i C++

Język ludzki kod maszynowy

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy

Informatyka II. Laboratorium Aplikacja okienkowa

Metody numeryczne Laboratorium 2

Mikrokontroler ATmega32. Język symboliczny

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Właściwości i metody obiektu Comment Właściwości

Ćwiczenie 9 Podstawy programowania PLC w języku ST

Podstawy Programowania C++

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Wstęp do programowania

I - Microsoft Visual Studio C++

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

Podstawy programowania PLC w języku drabinkowym - ćwiczenie 5

Zdalny podgląd wizualizacji z panelu XV100 przez przeglądarkę internetową (WebServer)

Struktura pliku projektu Console Application

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

EXCEL wprowadzenie Ćwiczenia

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Laboratorium Programowanie Obrabiarek CNC. Nr H7

Kalkulator. Programowanie komputerów. Kalkulator możliwe udoskonalenia. Kalkulator. Kalkulator. Kalkulator możliwe udoskonalenia

Kiedy i czy konieczne?

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Cw.12 JAVAScript w dokumentach HTML

Podstawy programowania w środowisku Totally Integration Automation Portal

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Spis treści. Dzień 1. I Sterowniki programowalne SIMATIC (wersja 1805) II Łączenie sterownika z programatorem (wersja 1805)

Stałe definiuje się używając funkcji define. Przykład: define( PODATEK, 22); define( INSTALACJAOS, 70); define( MS, Microsoft );

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Odczyt danych z klawiatury Operatory w Javie

Sterowniki programowalne

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503)

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podstawy programowania w języku C

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Algorytm. a programowanie -

Część 4 życie programu

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Podstawy programowania w środowisku Step 7

Ćwiczenie 1. Wprowadzenie do programu Octave

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.

2 Przygotował: mgr inż. Maciej Lasota

Składowane procedury i funkcje

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

PLC2: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs zaawansowany

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Visual Basic for Application (VBA)

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Komunikacja sterownika PLC Fatek jako master w protokole ModBus RTU

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Transkrypt:

Notatka Aplikacyjna NA 03006PL 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 ST... 5 4. Składnia języka ST... 6 5. Deklaracja zmiennych.... 10 6. Komentowanie kodu... 12 7. Przykład... 13

1. Wstęp Aplikacja 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 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 Uruchamiamy XSoft-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 najwyższego poziomu ST. EATON www.eaton.pl 4

3. Organizacja okien dla języka ST Po kliknięciu na program ST np. PLC_PRG ekran wyświetla się jak poniżej. Jest podzielony na cztery części: 1 Struktura projektu; 2 Okno zmiennych lokalnych; 3 - Okno w którym piszemy program; 4 Okno przebiegu kompilacji projektu; 2 1 3 4 EATON www.eaton.pl 5

4. Składnia języka ST Structured Text to język programowania, porównywalny do innych języków wysokiego poziomu, takich jak C lub Pascal, które pozwalają na rozwój skomplikowanych algorytmów. Kod programu składa się z kombinacji wyrażeń (operatorów i operandów) oraz instrukcji, które mogą być wykonywane również warunkowo (IF... THEN... ELSE) lub w pętli (WHILE... DO). Operand (wyrażenie) stanowi element języka, który z chwilą wykonania dostarcza wartość odpowiadającą jednemu z typów danych zdefiniowanych. Wyrażenie składa się z operatorów i operandów. Operandem może być stała, funkcja, wywoływana funkcja lub następne wyrażenie. Operatory zostały wymienione w tabeli. Operatory i kolejność ich wykonywania Lp Symbol Operacja 1 (wyrażenie) nawiasy 2 nazwa(zbiór argumentów) obliczanie wartości funkcji, np. MAX(A,B) 3 ** potęgowanie 4 NOT negacja logiczna 5 + dodawanie 6 - odejmowanie 7 * mnożenie 8 / dzielenie 9 MOD reszta z dzielenia 10 <, >, <=, >= porównywanie 11 = równość 12 <> nierówność 13 AND Iloczyn logiczny 14 OR suma logiczna 15 XOR alternatywa wykluczająca Miejsce w tabeli oznacza kolejność wykonywania operatorów. Jeżeli operator posiada dwa operandy, to jako pierwszy wykonywany jest operand znajdujący się z lewej strony, np. dla wyrażenia SIN(A)*COS(B) jako pierwsza zostanie wyliczona funkcja SIN(A), następnie funkcja COS(B) a na samym końcu iloczyn. EATON www.eaton.pl 6

Instrukcje Lp Polecenie Przykład 1 przypisanie ":=" J:=I, A:=COS(B) 2 wywołanie bloku funkcyjnego ustawianie(set:=ustaw, RESET1:=kasuj, Q1=>wyjscie) 3 użycie wyjścia bloku J:=RS.Q1 4 RETURN (powrót do miejsca) RETURN 5 instrukcja warunkowa IF (jeżeli) IF J >= I THEN wartosc := J; ELSE wartosc := I; END_IF 6 instrukcja warunkowa CASE (dla) CASE wartosc OF 0..9 : DISPLAY:="Wynik jest cyfra"; 10..100 : DISPLAY:="Wynik jest liczba"; END_CASE 7 pęta warunkowa FOR (dla) FOR I := 1 TO 20 DO I:=I+1; END_FOR; 8 pętla WHILE (dopóki) J := 0; osiągnięcie warunku kończy pętle WHILE J <= 100 DO J := J+2; END_WHILE; 9 REPEAT (powtarzaj dopóki) J := 0; REPEAT J := J+2; UNTIL J = 101 END_REPEAT; 10 EXIT (wyjście z instrukcji) EXIT Funkcje konwersji typów *_TO_* - funkcja konwersji różnych typów zmiennych; TRUNC konwertuje zmienne typu REAL do typu DINT. Pobierana jest tylko wartość części całkowita liczby. Może się zdarzyć, że w trakcie konwersji z większych na mniejsze typy zostaną utracone informacje, np; i:=trunc(1.9); (* Wynik 1 *) j:=trunc(-1,4); (* Wynik 1 *) BCD_TO_INT zamienia bajt w formacie BCD na INT; INT_TO_BCD zamienia wartość INT na bajt w formacie BCD. Funkcje matematyczne ABS wartość bezwzględna; EATON www.eaton.pl 7

SQRT pierwiastek kwadratowy; LN logarytm naturalny; LOG logarytm dziesiętny; EXP funkcja wykładnicza o podstawie e; SIN sinus kąta w radianach; COS cosinus kąta w radianach; TAN tangens kąta w radianach; ASIN arcus sinus; ACOS arcus cosinus; ATAN arcus tangens; Funkcje przesuwania bitów SHL przesuń bity w argumencie IN o N pozycji w lewo wprowadzając 0 na pozycje bitów z prawej strony; SHR przesuń bity w argumencie IN o N pozycji prawo wprowadzając 0 na pozycje bitów z lewej strony; ROR przesuń cyklicznie w prawo N bitów w argumencie IN (rotacja bity z prawej strony przechodzą na lewą); ROL przesuń cyklicznie w lewo N bitów w argumencie IN (rotacja bity z lewej strony przechodzą na prawą). Funkcje wyboru SEL selektor - przepisuje jedną z wartości (IN0 albo IN1) na wyjście w zależności od stanu wejścia G; MAX wybór wartości maksymalnej ze zbioru liczb; MIN wybór wartości minimalnej ze zbioru liczb; LIMIT ogranicza wartość wejściową do określonego przedziału; MUX multiplekser - wybiera jedno z N wejść w zależności od wartości wejścia K. Funkcje na ciągach znaków LEN oblicza długości ciągu znaków; LEFT L znaków z lewej strony ciągu liczb; RIGHT L znaków z prawej strony ciągu liczb; MID L znaków z ciągu liczb począwszy od znaku P-tego CONCAT łączenie ciągów znaków; INSERT w stawienie ciągu IN2 do ciągu IN1 po P-tym znaku; EATON www.eaton.pl 8

DELETE kasowanie L znaków w ciągu IN, począwszy od P-tego znaku; REPLACE zastąpienie L znaków w ciągu IN1 przez ciąg IN2 począwszy od P-tego znaku; FIND znalezienie miejsca pierwszego pojawienia się ciągu IN2 w ciągu IN1. Standardowe dwustanowe bloki funkcjonalne SR funkcja ustaw/kasuj z dominującym wejściem SET; RS funkcja ustaw/kasuj z dominującym wejściem RESET; SEMA semafor wykorzystujemy w systemach gdzie mamy do czynienia z kilkoma (lub więcej) taskami, synchronizujemy w ten sposób dostęp do danych (wspólnych) wykorzystywanych przez różne taski tak aby nie powstawały konflikty; R_TRIG wykrycie zbocza narastającego na wyjściu aktywuje wyjście; F_TRIG wykrycie zbocza opadającego na wyjściu aktywuje wyjście; Liczniki CTU licznik zliczający w górę; CTD licznik zliczający w dół; CTUD licznik dodająco-odejmujący; Timery - zegary TP generator impulsu; TON opóźnione załączenie; TOF opóźnione wyłączenie; RTC zegar czasu rzeczywistego. EATON www.eaton.pl 9

5. Deklaracja zmiennych. Zmienne możemy deklarować w oknie zmiennych lokalnych lub poprzez wykorzystanie Auto Deklaracji. W tym miejscu zadeklarujemy zmienne wykorzystując Auto Deklarację. 1. W tym celu zapisujemy przykładową instrukcję na iloczyn logiczny dwóch zmiennych. Wynik zapisujemy jako inną wartość logiczną. 2. Na zakończeniu pierwszej linii programu wstawiamy ; i klikamy enter. Spowoduje to otworzenie okna Auto Deklaracji zmiennej, która została wykorzystana w linii jako pierwsza. W naszym przypadku jest to C. Deklarujemy zmienną jako wartość lokalna oraz nadajemy jesj typ BOOL. EATON www.eaton.pl 10

Naciśnięcie przycisku OK spowoduje przejście do kolejnej niezadeklarowanej zmiennej pojawiającej się w linii kodu, a więc do zmiennej A. Kolejne kliknięcie przycisku OK spowoduje wyświetlenie okna Auto Deklaracji zmiennej B. Po zadeklarowaniu wszystkich zmiennych możemy je podejrzeć w oknie zmiennych lokalnych. EATON www.eaton.pl 11

6. Komentowanie kodu Kod programu można komentować w celu ułatwienia sobie lub komuś późniejszej pracy z programem. W komentarzach można zawierać opisy wykorzystywanych instrukcji. W wyróżniamy komentarze: Dla pojedynczej linii komentarz zaczyna się od znaków // i trwa do końca bieżącej linii, tzn. wszystkie znaki w linii występujące po // zostają oznaczone jako komentarz; Dla wielu linii komentarz zaczyna się od znaków (* a kończy się sekwencją znaków *), tzn. wszystkie znaki, które znajdują się pomiędzy (* *) zostają oznaczone jako komentarz. Komentarz taki może zawierać więcej niż jedną linię programu; Komentarze zagnieżdżone zaczynają się od znaków (* a kończą się znakami *), komentarze te mogą zawierać wewnątrz kolejne komentarze składające się z sekwencji znaków (* *). Przedstawimy tutaj bardzo prosty przykład opóźnionego załączania wyjścia. EATON www.eaton.pl 12

7. Przykład Przedstawimy tutaj bardzo prosty przykład opóźnionego załączania wyjścia. 1. W tym celu do okna deklaracji zmiennych lokalnych deklarujemy zmienne: xstart typu BOOL, którą zaadresujemy jako wejście o adresie 0.0; xwyjscie typu BOOL, którą zaadresujemy jako wyjście o adresie 0.0. 2. Wstawiamy kursor w pierwszej linii programu i naciskamy przycisk F2 z klawiatury. Spowoduje to otworzenie okna Input Assistant: EATON www.eaton.pl 13

3. W celu wstawienia bloku TON. W tym celu w zakładce Categories wybieramy Function Blocks. Z okna znajdującego się po prawej stronie rozwijamy bibliotekę Standard, następnie katalog Timer i na końcu znajdujemy blok funkcyjny TON. Klikamy na blok TON. W tym miejscu przy zaznaczonej opcji Show documentation widoczne jest okno zawierające strukturę podświetlonego bloku funkcyjnego. Jeśli blok funkcyjny TON jest podświetlony to, klikamy na przycisk OK. EATON www.eaton.pl 14

4. Spowoduje to otwarcie okna Auto Deklaracji dla bloku TON. Deklarujemy zmienną wybierając następujące opcję w polu Scope: VAR i wypełniając pole: Name: Ton_Opoznienie. Wybór opcji VAR spowoduje dodanie bloku do zmiennych lokalnych projektu. Na zakończenie klikamy OK. 5. W pierwszej linii programu pojawi się nam blok funkcyjny Ton_Opoznienie typu TON. EATON www.eaton.pl 15

Uzupełniamy elementy bloku przypisując jako wejście(in) zmienną xstart, jako wyjście(q) zmienną xwyjscie oraz podajemy czas opóźnienia(pt) równy 5s. Po poprawnej kompilacji (przycisk ), program możemy wgrać do sterownika. Raport z kompilacji możemy odczytać w oknie przebiegu kompilacji: EATON www.eaton.pl 16