Materiały szkoleniowe z oprogramowania Control FPWinPro

Wielkość: px
Rozpocząć pokaz od strony:

Download "Materiały szkoleniowe z oprogramowania Control FPWinPro"

Transkrypt

1 AT Control System Sp. z o.o. ul. Nowiny 56B, Gdańsk tel./fax handlowy@atcontrol.pl Materiały szkoleniowe z oprogramowania Control FPWinPro IEC61131 (PN-EN 61131) jest normą, której wprowadzenie było dla świata sterowników programowalnych rewolucją. Wcześnie praktycznie każdy z producentów PLC oferował do swoich produktów dedykowane oprogramowanie narzędziowe, co powodowało problemy z kompatybilnością systemów i zwiększało ilość pracy osób je tworzących. IEC61131 zmieniła tę sytuację, unifikując sposoby programowania PLC, czego przykłady omówione zostały w niniejszym kursie. Norma IEC Z punktu widzenia programisty najważniejsza jest część trzecia normy, która dotyczy języków programowania. Dzięki wprowadzonym zasadom ujednolicenia oprogramowania użytkownik może programować dowolny system PLC. W normie IEC61131 przedstawiono pięć języków programowania: IL (Instruction List Lista rozkazów), LD (Ladder Diagram Schemat drabinkowy), ST (Structured Text Tekst strukturalny), FBD (Function Block Diagram Funkcjonalny schemat blokowy) oraz SFC (Sequential Function Chart Sekwencyjny schemat funkcjonalny). Język IL jest podobny do języka typu asembler w którym są dostępne instrukcje logiczne, arytmetyczne, czasomierzy, liczników, itd. Język LD jest najczęściej wykorzystywanym ze względu na swoje podobieństwo do schematów elektrycznych. Dopuszcza się w nim wykorzystanie oprócz symboli styków i cewek również funkcji oraz bloków funkcjonalnych. W języku ST jest stosowana struktura programu podobna do tych stosowanych w językach wysokiego poziomu takich jak Pascal i C. Natomiast w języku FBD schemat jest przedstawiony w postaci połączonych symboli bramek, funkcji oraz bloków funkcjonalnych. Zdefiniowano również sposób tworzenia struktury programu w postaci SFC. Umożliwia on przedstawienie sterowania w postaci grafów zawierających kroki i warunki przejścia pomiędzy tymi krokami. Definicja kroków i warunków przejścia są programowane w jednym z czterech wymienionych wyżej języków. W normie IEC przedstawiono następujące elementy języków programowania: typy danych (Data types) określają strukturę, wielkość jak i zakres wartości danych stałych i zmiennych potrzebnych do ich zapamiętania, jednostki organizacyjne oprogramowania (Program Organization Units) są podstawowym elementem aplikacji użytkownika, które składają się z funkcji (Functions), bloków funkcjonalnych (Function Blocks) oraz programów (Programs), elementy sekwencyjnego schematu funkcjonalnego (Sequential Function Chart) stanowią kroki i przejścia, które są wzajemnie powiązane za pomocą połączeń bezpośrednich. elementy konfiguracji (Configuration elements) pomagają w realizacji konfiguracji, określa zasoby, zadania, zmienne globalne oraz ścieżki dostępu. Konfiguracja jest to system sterownika PLC obejmującego wszystkie elementy oprogramowania. Zasób jest to programowy odpowiednik sprzętu realizujący funkcje przetwarzania sygnałów. Zadania określają własności wykonywanego programu lub FB (priorytet, sposób wykonywania cykliczne lub od wystąpienia zdarzenia). Konfiguracja może mieć więcej niż tylko jeden zasób, który z kolei może może zawierać więcej niż tylko jeden program. Zadania kontrolują wykonywanie programów, które mogą zawierać zero lub więcej elementów napisanych w językach wymienionych wyżej. Konfiguracje i zasoby mogą być uruchamiane i zatrzymywane za pomocą funkcji realizowanych przez system operacyjny, program lub poprzez interfejs operatora. Uruchomienie konfiguracji powinno inicjować zdefiniowane zmienne globalne, a następnie uruchomienie wszystkich należących do niej zasobów. Po uruchomieniu zasobu powinny zostać zainicjowane wszystkie występujące tutaj

2 zmienne, a następnie umożliwienie działanie wszystkim zadaniom zdefiniowanym w tym zasobie. Sposób wymiany danych w oprogramowaniu W systemie sterowania wymiana danych pomiędzy elementami oprogramowania może się odbywać w następujący sposób: pomiędzy elementami jednego programu wartości zmiennych wewnątrz jednego programu są przekazywane pomiędzy różnymi elementami bezpośrednio poprzez połączenie wyjścia jednego elementu z wejściem drugiego. Pomiędzy programami wewnątrz jednej konfiguracji wartości zmiennych są przekazywane za pomocą zmiennych globalnych. W konfiguracji powinny one być zadeklarowane jako jako VAR_GLOBAL, a w programach jako zmienne zewnętrzne VAR_EXTERNAL. Pomiędzy różnymi konfiguracjami wartości zmiennych są przekazywane poprzez bloki komunikacyjne w tej samej lub innej konfiguracji, pomiędzy programami w sterowniku PLC i innym systemem sterowników. Zalety stosowania normy IEC Wprowadzenie normy IEC do programowania sterowników PLC daje wiele korzyści, najważniejsze z nich to: biblioteka funkcji i bloków funkcjonalnych oprogramowanie może być tworzone niezależnie od konkretnego systemu PLC, gdyż oprogramowanie narzędziowe umożliwia tworzenie bibliotek zawierających funkcje i bloki funkcjonalne. Można później wielokrotnie używać w różnych aplikacjach. W celu ujednolicenia korzystania z bloków i funkcji w normie zdefiniowano standardowe bloki. Struktura oprogramowania elementy języków programowania umożliwiają tworzenie jasnej struktury oprogramowania, zaczynając od deklaracji zmiennych, danych, jednostek organizacyjnych oprogramowania. Umożliwia to uproszczenie procesu tworzenie oprogramowania. Język oprogramowania SFC umożliwia tworzenie skomplikowanych zadań sterowania w bardzo jasny sposób dzięki strukturyzacji programów. Języki oprogramowania w normie jest zdefiniowanych pięć różnych języków programowania, w tym jeden SFC umożliwiający tworzenie programu strukturalnego. Tak szeroki wachlarz możliwości umożliwia tworzenie aplikacji dla bardzo różnych zastosowań. Nie ma wówczas potrzeby szkolenia z zakresu języków programowania tylko w zakresie specyficznych właściwości samych urządzeń. Struktury i typy danych zmiana sposobu podejścia do adresowania zmiennych umożliwiła zmniejszenie zaangażowania programisty w procesie deklaracji zmiennych. Wcześniej to programista był odpowiedzialny za przydzielenie odpowiednich adresów, typów danych oraz musiał tak deklarować zmienne aby nie nachodziły na siebie. W normie to zostało zmienione poprzez tworzenie zmiennych o określonym zasięgu. Oprogramowanie narzędziowe musi zadbać o to aby rozróżnić które są dane zmiennymi lokalnymi i globalnymi. Podczas deklaracji zmiennej oprócz nazwy wprowadzany jest typ tej zmiennej oraz wartość początkowa. Programista może również zdefiniować własne typy danych, które mogą być tablicami lub innymi złożonymi strukturami danych. Strona 2 z 27

3 Oprogramowanie Control FPWinPro W dalszej części kursu będziemy przedstawiać poszczególne elementy oprogramowania. Część teoretyczna będzie uzupełniona o praktyczne przykłady, które są oparte o oprogramowanie Control FPWinPro firmy Panasonic Electric Works Europe. Wersję demo oprogramowania można pobrać ze strony w dziale Centrum Techniczne (link: ). Wersja demo jest tylko ograniczona długością kodu kompilowanego programu. Proponujemy zainstalowanie oprogramowania FPWinPro co pozwoli na dokładniejsze zapoznanie się z następnymi elementami oprogramowania. Proces instalacji jest standardowy i nie wymaga dokładniejszego omówienia. Po zakończonej instalacji uruchamiamy oprogramowanie i tworzymy nowy projekt. Wprowadzamy odpowiednio nazwę projektu, wybieramy jednostkę centralną oraz podajemy nazwę programu i wybieramy w którym języku będziemy programować. Sposób konfiguracji został przedstawiony na rysunku 1. Na rysunku 2 został przedstawiony widok środowiska oprogramowania przygotowanego do wprowadzania aplikacji. Rys. 1. Widok okna konfigurującego aplikację użytkownika Strona 3 z 27

4 Rys. 2. Widok okna aplikacji przygotowanej do wprowadzania aplikacji Jednostki organizacyjne oprogramowania POU Jednostki organizacyjne oprogramowania (w skrócie POU) zawierają najmniejsze jednostki oprogramowania aplikacji, takie jak program (PRG), blok funkcjonalny (FB) lub funkcję (FUN). W porównaniu z konwencjonalnym programowaniem nie jest tutaj używane pojęcie podprogramu. Występują natomiast takie pojęcia jak: program, który może wywoływać z danego POU blok funkcyjny FB lub funkcję FUN. Z Jednostki FB można wywołać tylko inny blok funkcyjny lub funkcję, natomiast funkcja może tylko wywołać inną funkcję. Nie jest możliwe wywołanie rekurencyjne, a więc POU nie może wywołać siebie pośrednio ani bezpośrednio. Podstawowa różnica pomiędzy blokiem funkcyjnym FB i funkcją FUN polega na tym, że jeśli zostanie wywołana funkcja z tymi samymi parametrami wejściowymi to na wyjściu zawsze otrzymamy tą samą wartość. W przypadku bloku funkcyjnego już tak nie musi być. Jeśli ten sam blok FB z takimi samymi argumentami zostanie w programie wywołany kilkukrotnie to za każdym razem może dać inny wynik wyjściowy. Wynika to z tego, że blok funkcyjny zawiera zmienne wewnętrzne, które zawierają informacje o stanie. Funkcja nie zawiera wewnętrznej informacji o stanie z poprzedniego wywołania. Wartości w bloku funkcyjnym są pamiętane pomiędzy kolejnymi wywołaniami funkcji, dlatego też każdy blok FB występujący w programie musi posiadać swoją nazwę oraz strukturę danych (w normie jest to określenie instance ). Jeśli dany blok jest użyty pięć razy to musi być zdefiniowanych pięć bloków FB tego typu. Strona 4 z 27

5 Funkcja FUN może mieć dostęp do zmiennych zewnętrznych poprzez VAR_EXTERNAL, VAR_EXTERNAL_RETAIN i VAR_EXTERNAL_CONSTANT. Ponieważ funkcja nie zawiera informacji o stanie wewnętrznym to zawsze daje na wyjściu VAR_IN_OUT lub VAR_OUTPUT tą samą wartość w zależności od wartości argumentów VAR_INPUT lub VAR_IN_OUT. W oprogramowaniu FPWinPro jest dostępna biblioteka zdefiniowanych funkcji. Są to funkcje zdefiniowane przez producenta sterowników oraz zgodne z normą IEC. Użytkownik może również tworzyć własną bibliotekę funkcji lub też korzystać z dodatkowych bibliotek dostarczanych przez innych użytkowników lub producentów urządzeń. W przypadku jeśli użytkownik będzie sam tworzył bibliotekę funkcji ma do wyboru cztery języki programowania (IL, LD, ST i FBD). Każdy jednostka POU zawiera następujące elementy: typ i nazwę POU jest określony w momencie wyboru nowego POU, dodatkowo w przypadku funkcji określony jest również typ funkcji, deklarację zmiennych zawiera wszystkie zmienne używane w danym POU, ciało Body POU zawiera algorytm działania stworzony w odpowiednim języku programowania. Na rysunku 3 został przedstawiony widok okna podczas tworzenia nowego programu, można wybrać różny język programowania zarówno IL jak i LD, ST, FBD czy SFC. Podczas tworzenia nowej funkcji lub bloku funkcyjnego można wybierać tylko z czterech języków (oprócz SFC). Zostało to przedstawione na rysunku 4. Rys. 3. Widok okna podczas tworzenia nowego programu Strona 5 z 27

6 Rys. 4. Widok okna podczas tworzenia nowego bloku funkcyjnego FB Deklaracja zmiennych Zmienne służą do gromadzenia i przetwarzania informacji i są one umieszczane w pamięci danych sterownika PLC. Nie jest konieczna deklaracja pod którym adresem fizycznym musi być umieszczona ta zmienna. W POU musimy podać tylko nazwę symboliczną oraz informację o typie danej. Określenie typu danych jest konieczne ze względu na konieczność zarezerwowania odpowiedniego obszaru pamięci potrzebnego do przechowywania danej. Zmienne mogą być deklarowane jako zmienne globalne i są deklarowane poza POU, natomiast wewnątrz POU podajemy zmienne lokalne. Dodatkowo przy deklaracji zmiennej możemy określić dodatkowe atrybuty, np. że zmienna ma być zapamiętana po zaniku zasilania. Przykład deklaracji zmiennych został przedstawiony na rysunku 5. Przy deklarowaniu zmiennej musimy wybrać klasę zmiennej, a więc zakres działania takiej deklaracji, która może być lokalna lub globalna. W tabeli 1 przedstawiono słowa kluczowe deklarujące typ zmiennej. Dodatkowo może również za słowem kluczowym pojawić się dodatkowy atrybut, który może informować kompilator, że jest to zmienna pamiętana po wyłączeniu zasilania RETAIN lub jest to zmienna, która nie zmienia wartości CONSTANTS. Jeśli chcemy aby dana zmienna była dostępna dla innych aplikacji to wówczas należy ją zadeklarować jako VAR_EXTERNAL. Musi ona również być też zadeklarowana w liście Global Variables. Aby uniknąć podwójnego wprowadzania zmiennej to warto najpierw wprowadzić zmienną w Global Variables, a następnie zaznaczyć pole Autoextern (rysunek 6). Jeśli wprowadzimy zmiany w danej zmiennej to należy je uaktualnić w danym POU, zaznaczamy daną zmienną w liście deklaracji, klikamy prawym klawiszem myszy i wybieramy z listy Update Variables lub z menu górnego Extras->Update Variables. Tabela 1 Wykaz słów kluczowych definiujących zmienne Typ zmiennej Opis VAR Zmienna deklarowana wewnątrz POU VAR_EXTERNAL Zmienna deklarowana wewnątrz POU, jest również zmienną zewnętrzną zadeklarowaną jako VAR_GLOBAL VAR_GLOBAL Deklaracja zmiennej globalnej Strona 6 z 27

7 Typ zmiennej Opis VAR_INPUT Zmienna deklarowana jako zmienna wejściowa do POU, nie może być zmieniana wewnątrz POU VAR_IN_OUT Zmienna deklarowana jako zmienna wejściowa i wyjściowa do POU, może być zmieniana przez POU VAR_OUTPUT Zmienna deklarowana jako zmienna wyjściowa z POU, wyprowadza na zewnątrz dane i może być zmieniana przez POU Rys. 5. Przykład deklaracji zmiennych lokalnych Rys. 6. Przykład deklaracji zmiennych globalnych W Polu Identifier jest wprowadzona symboliczna nazwa zmiennej. Sama nazwa jest dowolna z tym, że nie można używać znaku spacji do rozdzielenia wyrazów. Wobec tego stosowany jest znak podkreślenia _ jako separator wyrazów. Kolumna Type określa jaki będzie typ tej danej i jest to pole obowiązkowe. Kompilator musi wiedzieć ile miejsca w pamięci zajmie dana zmienna, np. ile bitów zajmie, jaki jest przewidywany zakres wartości. Na rysunku 7 przedstawiono widok okna podczas wyboru typu dla zmiennej. Można wybrać elementarny typ, który został zdefiniowany w normie. W normie zostały ujednolicone najczęściej używane typy danych tak aby one miały jednakową reprezentację we wszystkich sterownikach PLC. W tabeli 2 przedstawiono najczęściej używane typy danych w oprogramowaniu FPWinPro. Przedstawiono typy danych, zakresy wartości oraz liczbę bitów zajmowanych w pamięci. Taka koncepcja deklaracji zmiennych umożliwia sprawdzenie w trakcie kompilacji czy na zmiennej są wykonywane prawidłowe działania. Jeśli pojawią się błędy w deklaracji to zostaną one przekazane programiście w oknie dialogowym i można wprowadzić odpowiednie poprawki. Istnieje więc mniejsze prawdopodobieństwo wystąpienia błędu niż przypadku rozwiązań tradycyjnych, gdzie programista musiał się martwić o prawidłowe adresowanie. Strona 7 z 27

8 Rys. 7. Widok okna podczas wyboru typu danej W polu Initial wprowadzamy wartość początkową która zostaje nadana w momencie inicjacji zmiennej. Można nie wprowadzać w tym polu wartości wówczas zostanie przyjęta wynikająca z typu danej. W większości przypadków dla zmiennych typu BOOL, INT, WORD, DINT, DWORD, REAL wartość wynosi 0. Dla zmiennych typu STRING i związanych z czasem wartość przyjmują wartość różną od zera. W systemach sterowników opartych o tradycyjne programowanie wprowadzanie wartości początkowych było realizowane w oparciu o zmienną systemową, która określała kiedy sterownik wykonał pierwszy cykl po włączeniu zasilania. Tabela 2 Elementarne typy danych Typ danej Boolowski Liczba całkowita Liczba całkowita podwójna Słowo Podwójne słowo Ciąg znaków Czas trwania Liczba rzeczywista Oznacze nie BOOL Zakres wartości Liczba bitów 0 (FALSE) lub 1 (TRUE) 1 bit INT -32,768 do 32, bitów DINT -2,147,483,648 do 2,147,483, bity WORD 16# #FFFF 16 bitów DWORD 16# #FFFFFFFF 32 bity STRING TIME 1 do 255 bytes (ASCII) T#0,00s do T# ,47s -1, x 10E-38 to -3, x 10E-38 i 1, x 10E-38 to 3, x 10E-38 8 bitów na bajt 32 bity REAL 32 bity Deklaracja zmiennej reprezentowanej bezpośrednio odbywa się trochę inaczej niż w przypadku zmiennych lokalnych, gdyż musimy podać adres fizyczny dla zmiennej. Do wprowadzania zmiennych globalnych w oprogramowaniu FPWinPro służy okno Global Variables, gdzie oprócz nazwy, typu i wartości początkowej wprowadzamy również adres fizyczny. W przypadku sterowników serii FP istnieje możliwość wprowadzania adresów w formacie firmy Panasonic lub też zgodnie z normą IEC. Jeśli zostanie wprowadzony najpierw adres zgodny z adresowaniem sterowników FP automatycznie zostanie dopisany adres zgodny z normą IEC. Procedura ta działa również w drugą stronę. W tabeli 3 przedstawiono sposób adresowania zgodny z normą IEC w odniesieniu do sterowników serii FP. Aby lepiej zrozumieć zasadę adresowania podamy kilka przykładów: Strona 8 z 27

9 %MW10.0 oznacza słowo o adresie 10 w pamięci (w przypadku sterowników FP będzie to rejestr DT10) %MD5.102 oznacza podwójne słowo o adresie 102 ( w przypadku FP będzie to podwójny rejestr DDT102) %MX0.1.1 oznacza bit 1 w rejestrze 1 (w sterownikach FP będzie to bit pomocniczy R11) %IX5.0 oznacza bit 50 na wejściu (w FP będzie to wejście X50) %QX6.2 oznacza bit 62 na wyjściu (w FP będzie to wyjście Y62) Na rysunku 8 zostało przedstawionych kilka przykładów adresacji w odniesieniu do normy IEC. Rys. 8. Przykład adresacji fizycznej zmiennych globalnych Tabela 3 Adresowanie zmiennych zgodnie z normą IEC w odniesieniu do sterowników PLC seria FP Adres IEC % I Q M X W D No_1. No_2 Wyjaśnienie Identyfikator adresowania IEC Położenie wejście X w FP Położenie wyjście Y w FP Położenie pamięć wewnętrzna w FP Typ danych BOOL (1 bit) Typ danych WORD (16 bits) Typ danych DOUBLE WORD (32 bits) a) Dla I i Q: No_1 = numer słowa b) Dla M: No_1 = odniesienie do wewnętrznej pamięci Bity wewnętrzne R/WR/DWR -> 0 TimeryT -> 1 Liczniki C -> 2 Ustawiona wartość licznika/timera SV/DSV -> 3 Bieżąca wartość licznika/timera EV/DEV -> 4 Rejestry danych DT/DDT -> 5 Rejestry indeksowe IX,IY -> 6 Bity typu Link L/WL/DWL -> 7 Rejestry typu Link Ld/DLd -> 8 Rejestry plików FL/DFL -> 9 Bity alarmów E -> 10 Bity impulsowe P -> 11 Separator a) Dla I i Q: No_2 = pozycja bitu w słowie b) Dla M: Gdy No_1 = 0..9 lub 11 -> No_2 = numer słowa (D) Gdy No_1 = 10 -> No_2 = numer bitu Strona 9 z 27

10 No_3 Separator Używany gdy No_1 = 0, 7 lub 11 (R, L, P) -> No_3 = pozycja bitu w słowie Tablice i struktury danych Tablica jest to zbiór elementów tego samego typu, które są zgrupowane w postaci ciągłego bloku. Dostęp do elementów jest możliwy poprzez indeks. Deklaracja zmiennej typu tablica w FPWinPro sprowadza się do wprowadzenia nazwy tablicy (np. Tablica1), a następnie wyboru w polu Type zmiennej typu ARRAY i określeniu typu tablicy (np. INT). Po akceptacji w polu Type zostaje wprowadzone oznaczenie tablicy w postaci ARRAY [0...2] OF INT. Jest to tablica składająca się z trzech elementów typu liczba całkowita. Aby zaadresować trzeci element tablicy to należy w programie wpisać Tablica1[2]. Tablice mogą być deklarowane jako jedno, dwu i trójwymiarowe. Zmienna typu tablica nie może być używana w innej tablicy jako typ danych. Wykaz typów tablic i innych elementów wieloelementowych został przedstawiony w tabeli 4. Struktury danych są to zmienne, które składają się z elementów różnego typu. Przy adresowaniu kolejnych elementów struktury jako separator stosujemy kropkę. Przykład: struktura o nazwie Urzadzenie1 może zawierać następujące elementy Stan1, Stan2, Stan3, aby adresować drugi element stosujemy następujące oznaczenie Urzadzenie1.Stan2. W oprogramowaniu FPWinPro struktury danych są określane jako Data Units Type DUT. Występują ich dwa rodzaje: z elementami nakładającymi overlapping elements oraz z ciągła strukturą non-overlapping. Różnica pomiędzy nimi polega na tym, że dla pierwszego typu występuje nałożenie adresów fizycznych dla różnych typów elementarnych. Przykład: jeśli w strukturze została zadeklarowana zmienna typu Integer, a za nią następnie 16 zmiennych typu BOOL to fizycznie w pamięci zostaną one umieszczone w tej samej komórce pamięci. W tym przypadku będzie to komórka pamięci, która umożliwia bezpośredni dostęp w postaci bitowej i rejestru. Dla struktury non-overlapping występuje adresowanie ciągłe, a więc dane będą umieszczane w kolejnych komórkach pamięci. Tabela 4 Zmienne wieloelementowe Typ Znaczenie ARRAY[...]OF... Tablica elementów tego samego typu FB-Nazwa DUT-Nazwa Używany do tworzenia egzemplarza bloku funkcyjnego Egzemplarz struktury danych DUT Rozmiar bytes zmienny zmienny Komentarz Tablica maksymalnie w trzech wymiarach Lokalny lub globalny blok funkcyjny Globalny DUT Języki programowania Obecnie największą popularnością wśród programistów sterowników PLC cieszy się język drabinkowy, ze względu na podobieństwo do elektrycznych schematów sterowania opartych na przekaźnikach. Przed wprowadzeniem normy IEC61131 był to jeden z głównych języków programowania z tym, że każdy producent posiadał swoje unikalne narzędzie do programowania co stanowiło niedogodność dla programistów i użytkowników. Wprowadzenie normy IEC61131 standaryzuje sterowniki oraz narzędzia do programowania. W normie przedstawiono pięć języków programowania, których dokładny opis przedstawimy w dalszej części kursu. Strona 10 z 27

11 Język IL Język IL (Instruction List Lista rozkazów) jest tekstowym językiem programowania, którego składnia jest zbliżona do języka typu asembler. Program napisany w języku IL składa się z sekwencji rozkazów, a każdy z nich zawiera operatora, modyfikator oraz operand. Operator określa działania jakie mają być wykonane, natomiast operand reprezentuje stałe lub zmienne. Rozkaz może być poprzedzony etykietą, który służy do zaznaczenia rozkazu skoku. Dodatkowo może wystąpić komentarz, który służy do opisu zawartości linii programu. W języki IL jest dostępnych szereg standardowych operatorów takich jak: przesłania, mnożenia, dzielenia, odejmowania, dodawania, porównywania, skoków, powrotu z podprogramu, boolowskich (AND, OR, XOR), ustawiania i zerowania wyjścia. Przed wprowadzeniem instrukcji programu w oprogramowaniu FPWinPro, należy utworzyć nową jednostkę oprogramowania POU, klikamy prawym klawiszem myszki w Project navigator na POUs i wybieramy New POU. Wprowadzamy nazwę programu oraz wybieramy język programowania IL. Przykład wprowadzenia nowego programu przedstawiono na rysunku 9. Przykład prostego programu w języku IL przedstawiono na rysunku 10. Jest to przykład działania funkcji dodawania dwóch operatorów. Litera E w operatorze E_ADD oznacza, że do wywołania jest potrzebny warunek zezwalający (EN), w tym przypadku jest zmienna Zm1_bool. Rys. 9. Widok okna z podczas tworzenia nowego programu typu IL Rys. 10. Widok okna z przykładowym programem w języku IL Strona 11 z 27

12 Podobne zasady obowiązują również podczas tworzenia funkcji jak i bloku funkcyjnego w oprogramowaniu FPWinPro, musimy tylko wybrać odpowiedni typ podczas tworzenia nowej jednostki oprogramowania. Wywołanie funkcji odbywa się poprzez umieszczenie jej nazwy oraz podaniu parametrów wejściowych. Wartość zwracana przez funkcję jest zapisywana przez następny rozkaz. Należy pamiętać aby typ zmiennej zwracanej przez funkcję był zgodny z typem danej do której jest przepisywany wynik działania funkcji. Bloki funkcjonalne FB mogą być wywoływane z poprzez instrukcję CAL, CALC lub CALCN. Przykład wywołania bloku funkcjonalnego typu TON (Timer z opóźnionym załączeniem) przedstawiono na rysunku 11. Przed wprowadzeniem kodu do programu muszą być najpierw zadeklarowane zmienne oraz blok funkcyjny. Rys. 11. Przykład programu z wywołanym blokiem funkcyjnym Język LD Jeżyk LD jest graficznym językiem programowania w którym schemat sterowania jest przedstawiony w postaci symboli. Są one umieszczane w obwodach (podobnie jak w szczeblach w schemacie drabinkowym układu przekaźnikowego) i wzajemnie połączone (pionowo lub poziomo) tworząc odpowiedni algorytm sterowania. Do obwodu może być również przypisana etykieta (label). Obwód jest ograniczony z lewej i prawej strony przez szyny prądowe. Prawa szyna nie musi być rysowana, może pozostać w domyśle. W programie napisanym w języku LD instrukcje są wykonywane z lewej strony do prawej, przy czym wyjścia mogą być wyznaczone tylko wtedy gdy, wszystkie wejścia zostaną odczytane oraz zakończy się przetwarzanie całego obwodu. Kolejne obwody są przetwarzane po kolei tak jak są narysowane na schemacie drabinkowym, z wyjątkiem wprowadzenia elementów, które te kolejność zmieniają. Podstawowymi elementami obwodów, które są wykorzystywane w języku LD są styki i cewki. Styk jest elementem, który przekazuje stan do połączenia w schemacie. Styk nie modyfikuje wartości przypisanej do niego zmiennej. Cewka przekazuje stan połączeń ze schematu, powodując że zmienna, która jest przypisana do danej zmiennej przyjmuje wartość wynikającą z algorytmu połączeń oraz zasady działania. Dostępne są następujące rodzaje standardowych styków i cewek: styk normalnie otwarty oraz normalnie zamknięty, styk reagujący na zbocze narastające oraz opadające, cewka normalna oraz negująca, cewka ustawiają oraz kasująca, cewka reagująca na zbocze narastające oraz opadające. Strona 12 z 27

13 W języku LD oprócz realizacji prostych funkcji boolowskich istnieje możliwość realizacji operacji złożonych, które wymagają odpowiednich funkcji lub bloków funkcjonalnych. Mogą to być bloki zdefiniowane w bibliotece lub przez użytkownika. Wywołana funkcja lub blok funkcyjny jest przedstawiany w postaci prostokąta. Funkcja posiada tylko jedno wyjście, podczas gdy blok FB może ich mieć kilka. Parametry aktualne mogą być przekazywane za pomocą odpowiednich stałych lub zmiennych przez połączenie do odpowiedniego bloku. Blok powinien zawierać przynajmniej jedno wejście i wyjście boolowskie aby umożliwić przepływ prądu. W standardowych blokach jest dostępne wyjście, które nosi nazwę Q. W blokach użytkownika funkcję taką może pełnić para EN i ENO. Dla bloków funkcyjnych FB nad jego symbolem graficznym wprowadza się nazwę konkretnego egzemplarza. Przykład wywołania bloku funkcyjnego oraz funkcji przedstawiono na rysunku 12. Jest to taki sam przykład jak przedstawiony dla języka IL na rysunku 11. W tych dwóch różnych programach użyto tych samych nazw zmiennych. Kompilator prawidłowo przetwarza instrukcje programu na kod wynikowy. Jeśli w tym samym jednostce programu POU pojawiłyby się te same nazwy zmiennych wówczas pojawi się odpowiedni błąd podczas kompilacji. Rys. 12. Widok okna programu w języku LD z wprowadzoną funkcją oraz blokiem funkcyjnym. Język FBD W języku FBD (Functional Block Diagram funkcjonalny schemat blokowy) realizacja programu opiera się na przepływie sygnału poprzez elementy przetwarzania sygnałów. Przepływ sygnału następuje z wyjścia jednej funkcji lub bloku funkcjonalnego do wejścia przyłączonego następnego elementu. Są one wprowadzane w postaci prostokątów i elementów sterujących połączone liniami. Obwód stanowi zespół połączonych ze sobą elementów. Do każdego obwodu można przypisać etykietę, która ma zasięg lokalny (w obrębie danego POU). Program napisany w języku FBD jest wykonywany w kolejności wprowadzenia obwodów przy czym wartość wyjść zostanie wyznaczony jeśli wszystkie wejścia zostaną wprowadzone do programu oraz zakończy się przetwarzanie programu. Program dla danego obwodu powinien zakończyć przed rozpoczęciem wykonywaniem następnego obwodu. Wyjścia bloków funkcjonalnych nie mogą być łączone ze sobą, nie może być realizowana operacja sumy boolowskiej OR poprzez równoległe łączenie wyjść elementów. Rozwiązaniem tego problemu jest jawne użycie funkcji OR. Podczas wprowadzania programu należy dążyć do tworzenia Strona 13 z 27

14 przejrzystej struktury, najlepiej poprzez liniową strukturę programu z jak najmniejszą liczbą przecinających się linii. Na rysunku 13 przedstawiono okna z wprowadzonym programem w języku FBD. Należy zauważyć, że program jest bardzo podobny do programu napisanego w języku LD. Rys. 13 Widok okna programu w języku FBD z wprowadzoną funkcją oraz blokiem funkcyjnym Język ST Język ST (Structured Text Tekst strukturalny) należy do grupy języków wyższego poziomu, w którym używa się jako podstawowych elementów wyrażeń i instrukcji. Dzięki temu struktura programu jest bardzo przejrzysta. W jednej linii może być więcej niż tylko jedna linia, a poszczególne instrukcje są oddzielane średnikami. Poszczególne wyrażenia składają się z operandów i operatorów. Operandem mogą być zmienne, stała, wywoływana funkcja lub inne wyrażenie. Operatorami są symbole, które decydują w jaki sposób ma być obliczany wynik. Dostępny jest szereg operatorów takich jak: potęgowanie, negacja, mnożenie, dzielenie, dodawanie, odejmowanie, porównywanie, iloczyn i suma boolowska. Najwyższy priorytet mają wyrażenia umieszczone w nawiasach, następnie funkcje obliczające wartość funkcji (np. SIN(A)). Jeśli wyrażenie ma więcej niż dwa operandy to najpierw jest obliczana wartość operanda z lewej strony. Instrukcje w języku ST są zakończone znakiem średnika. Do zapisu nowej wartości w zmiennej lub przepisaniu wartości wynikającej z działania funkcji służy instrukcja przypisania, która jest oznaczana symbolem :=. Należy pamiętać aby aby po obu stronach funkcji przypisania była zgodność typów zmiennej. Instrukcja ta jest również używana do nadawania wartości funkcji oraz przepisanie wartości przed powrotem z funkcji. Wywołanie bloku funkcyjnego zawiera nazwę bloku z jego nazwą oraz umieszczenie w nawiasach parametrów wejściowych). Kolejność przypisania parametrów nie ma znaczenia i jeśli któryś z parametrów wejściowych jest pominięty to zostanie nadana mu wartość początkowa zgodnie z wartością zadeklarowaną w bloku funkcyjnym. Na rysunku 14 przedstawiono widok okna z programem w języku ST. Jest to taka sama aplikacja jak przedstawiona wyżej w innych językach. Strona 14 z 27

15 Rys. 14. Widok okna programu w języku ST z wprowadzoną funkcją oraz blokiem funkcyjnym W języku ST jest dostępnych kilka instrukcji związanych z wyborem (instrukcje IF oraz CASE ) oraz pętlami, które umożliwiają powtarzanie wykonanie instrukcji. Instrukcja wyboru IF umożliwia wykonanie instrukcji jeśli jest spełniony określony warunek. Jeśli ten warunek nie będzie spełniony to wówczas nie będą wykonywane instrukcje lub będą wykonywane po słowie ELSE lub ELSEIF. W instrukcji CASE wybór, która instrukcja ma być wykonana zawarte są w wartości parametru wywołania. Jeśli warunek jest spełniony to są wykonywane instrukcje, w przeciwnym przypadku są wykonywane instrukcje po słowie kluczowym ELSE, w przypadku jego braku nie będzie wykonywana żadna instrukcja. W instrukcji powtarzania FOR instrukcje są powtarzane do momentu napotkania słowa kluczowego END_FOR. Przy każdym wykonaniu instrukcji jest modyfikowana zmienna od wartości początkowej do końcowej zgodnie z określonym przyrostem. Instrukcja EXIT umożliwia zakończenie pętli FOR przed warunkiem określonym w zmiennej kontrolnej. Pozostałe instrukcje WHILE i REPEAT są używane jeśli nie znamy liczby powtórzeń pętli. Są one wykonywane dopóki wyrażenie boolowskie jest prawdziwe. Trzeba pamiętać aby zapewnić odpowiednie warunki zakończenia działania tych pętli. Język SFC W normie IEC określono sposób działania sterownika w postaci sekwencyjnego schematu funkcjonalnego (SFC Sequential Functional Chart). W tym schemacie zadanie sterowania zostało przedstawione za pomocą kroków i warunków przejścia między tymi krokami. Ta metoda jest szczególnie przydatna do realizacji zadań w której występują pewne powtarzających się sekwencje działań. W SFC możliwy jest podział na mniejsze elementy POU, którymi są kroki i przejścia wzajemnie połączonych bezpośrednio. W ten sposób tworzona jest sieć, która jest podstawową strukturą. Z każdym krokiem jest zawarty odpowiedni zestaw instrukcji, który nazywa się akcjami (actions). Przy przejściach między krokami znajdują się warunki przejścia (transition condition). Kroki mogą być aktywne lub nieaktywne. W danej chwili stan POU jest określony przez zbiór aktywnych kroków. Naturalną formą przedstawiania schematu SFC jest forma graficzna, ponieważ przedstawia zależności pomiędzy elementami w sposób bardziej czytelny. Stan początkowy POU jest określony przez wartości początkowe jego zmiennych wewnętrznych i wyjściowych oraz przez zbiór kroków aktywnych w chwili początkowej. Każda sieć SFC powinna zawierać tylko jeden krok początkowy, który jest w Strona 15 z 27

16 stanie aktywnym z chwilą inicjowania programu lub bloku funkcyjnego. Zmiana stanu polega na przechodzeniu pomiędzy krokami aktywnymi, a następnymi zależnie od spełnienia warunków przejścia. Przejście jest to warunek przepływu sygnału pomiędzy kolejnymi elementami i jest on wynikiem rozwiązania wyrażenia boolowskiego. Jeśli przejście jest dozwolone i jednocześnie spełniony jest ten warunek przejścia to następuje kasowanie przejścia oraz wyłączenie kroków poprzedzających i aktywacja kroków występujących po symbolu przejścia. Kolejne kroki i przejścia muszą występować naprzemiennie, tzn. dwa kroki muszą być rozdzielone przejściem oraz dwa przejścia muszą być rozdzielone krokiem. Jeśli krok jest aktywny to powinny być wykonywane związane z nim działania, które są określane jako akcje. Blok akcji określa co powinno zostać wykonane gdy krok staje się aktywny. Najprostsze akcje składają się z prostych operacji przypisania wartości do zmiennej (np. VAR_OUTPUT). Mogą również być rozbudowane programy napisane w postaci języka tekstowego lub graficznego i są one wykonywane dopóki aktywny jest związany z nim krok. Podsumowując w języku SFC nie występuje sekwencyjne wykonywanie instrukcji programu ale cyklicznie ustalenie wartości statusu kroków i przejść. Inaczej jest w klasycznym języku programowania w którym klasyczna jednostka POU zawiera sekwencję instrukcji wykonywanych jedna za drugą. Na rysunku 15 przedstawiono przykład programu zrealizowanego przy użyciu języka SFC. Przykład tego programu jest instalowany łącznie z oprogramowaniem FPWinPro. Zachęcamy do analizy tego i innych przykładów aplikacji w oprogramowaniu FPWinPro. Rys. 15. Przykład programu napisanego w języku SFC Funkcje i bloki standardowe W normie IEC ujednolicono sposób implementacji, sposób wywołania oraz zachowanie standardowych funkcji i bloków funkcjonalnych takich jak: czasomierze, liczniki czy też operacje arytmetyczne. Producenci oprogramowania czy też systemu sterownika PLC może oferować, oprócz zdefiniowanych w normie, również inne funkcje i bloki w celu zwiększenia możliwości systemu. Dodatkowe funkcje i bloki są dostępne również w oprogramowaniu Strona 16 z 27

17 FPWinPro, są one podzielone na odpowiednie grupy w bibliotece. W normie przedstawiono siedem grup funkcji standardowych: funkcje konwersji typów, liczbowe, wyboru i porównywania, funkcje na bitach oraz na ciągach znaków, funkcje na typach danych związanych z czasem, na wyliczeniowych typach danych. Niektóre funkcje mogą nie mieć określonej liczby wejść, w których liczba parametrów wejściowych jest określana przez użytkownika i są one nazywane funkcjami rozszerzalnymi. Funkcjami tymi są: ADD, MUL, AND, OR, XOR oraz funkcje porównywania. Liczba wejść w takim symbolu graficznym jest zmieniana poprzez wysokość prostokąta oznaczającego funkcję. Funkcje umożliwiające zmianę konwersję typów danych oznaczane są w postaci ARGWEJ_TO_ARGWYJ, gdzie ARGWEJ oznacza typ argumentu wejściowego (np. INT, REAL), ARGWYJ oznacza argument wyjściowy (np. INT, DINT). Przykłady funkcji konwersji typów: INT_TO_REAL, DINT_TO_WORD. W funkcjach liczbowych wyróżnia się funkcje w których jest podawania jedna zmienna (są to funkcje logarytmiczne, trygonometryczne oraz wartość bezwzględna i pierwiastek kwadratowy) oraz funkcje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie, reszta z dzielenia, potęgowanie, funkcja przepisania). Funkcje operujące na ciągach bitów są to funkcje przesuwania bitów oraz funkcje boolowskie. Funkcje te operują na danych należących do typu danych ANY_BIT. Funkcje przesuwania bitów w prawo lub lewo oraz cyklicznego przesuwania zawierają nazwy parametrów formalnych. Funkcje działające na bitach (AND, OR, XOR) są rozszerzalnymi, co oznacza, że liczba parametrów wejściowych może być zmieniana. Do funkcji wyboru należą: wybór określonej wartości (SEL), wartości maksymalnej (MAX), minimalnej (MIN), ogranicznik wyboru (LIMIT) oraz multiplekser (MUX). Natomiast funkcje porównywania to: większy (GT), większy lub równy (GE), równy (EQ), mniejszy lub równy (LE), mniejszy (LT) i różny (NE). W obu grupach mogą być stosowane jako argumenty wejściowe określonego lub dla dowolnego typu danych należącego do typu uniwersalnego (ANY) z tym, że wszystkie z nich muszą być tego samego typu. Funkcje porównywania i wyboru mogą być również stosowane dla ciągów znaków. Oprócz tego dostępne są funkcje obliczające długość ciągu znaków, obcinania znaków, łączenia ciągów, wstawiania ciągu znaków, kasowania znaków, zastąpienia znaków, znalezienia ciągu znaków. Dla funkcji operujących na typach danych (TIME, DATE, TIME_OF_DAY, DATE_AND_TIME) związanych z czasem dostępne są funkcje umożliwiające wykonywanie operacji dodawania, odejmowania, mnożenia i dzielenia oraz łączenia czasu i daty. Należy zaznaczyć, że dla funkcji odejmowania jest dostępnych więcej kombinacji dla parametrów wejściowych niż dla funkcji dodawania. Funkcje MUL i DIV służą do mnożenia i dzielenia czasu trwania (TIME) przez liczbę typ liczby ANY_NUM). Standardowe bloki funkcjonalne są dostępne we wszystkich językach programowania sterowników. Norma IEC wyróżnia następujące grupy: elementy dwustanowe i detekcji zbocza, liczniki oraz czasomierze. Do grupy elementów dwustanowych należą przerzutniki i semafory. Przerzutniki RS dostępne są w dwóch rodzajach, z wejściem S (Set ustawiającym) jako dominującym oraz z wejściem R (Reset zerującym) jako dominującym. Przykłady użycia elementów typu przerzutnik SR w języku LD przedstawiono na rysunku 16. Blok semafora jest używany głównie w celu kontroli dostępu do zasobów systemu operacyjnego. Strona 17 z 27

18 Rys. 16. Przykład użycia przerzutników SR Dostępne są również bloki funkcjonalne umożliwiają wykrycie zbocza narastającego (R_TRIG) oraz opadającego (F_TRIG). W bloku zbocza narastającego wyjście Q zostaje ustawione na wartość 1 przy wykryciu przejścia na z 0 na 1 na wejściu CLK. Wyjście zostaje ustawione na 0 przy ponownym wywołaniu bloku. Blok detekcji zbocza opadającego podobnie działa z tym, że wykrywa zmianę stanu na wejściu CLK z 1 na 0. W języku LD zamiast tych bloków używa się odpowiednich styków P, N lub cewek (P) i (N). W grupie liczników dostępne są następujące bloki funkcjonalne: licznik dodający (CTU Counter Up), licznik odejmujący (CTD Counter Down) oraz licznik dodająco-odejmujący (CTUD Counter Up Down). Licznik dodający CTU zlicza impulsy pojawiające się na wejściu CU. Jeśli liczba zliczonych impulsów CV (Current Value) osiągnie lub przekroczy wartość zadaną PV (Preset Value) to na wyjściu pojawi się boolowska 1. Pojawienie się na wejściu R (Reset) wartości 1 spowoduje zerowanie licznika. Przykład użycia licznika dodającego został przedstawiony na rysunku 17. Na podobnej zasadzie działa licznik odejmujący CTD tylko zamiast dodawania impulsów odejmuje od wartości nastawionej PV. Jeśli wartość CV osiągnie wartość 0 lub poniżej to na wyjściu pojawi się boolowska 1. Licznik dodająco-odejmujący CTUD stanowi połączenie obydwu liczników. Poza tym posiada odpowiednio więcej wejść i wyjść. Należy zwrócić uwagę że impulsy w licznikach są dodawane tylko przy zmianie stanu wejścia zliczającego z 0 na 1. Strona 18 z 27

19 Rys. 17. Przykład użycia bloku funkcyjnego typu licznik CTU Bloki funkcyjne z grupy czasomierzy umożliwiają załączanie, wyłączanie w zależności od odmierzonego czasu. Dostępne są następujące bloki: generator impulsu (TP), opóźnione załączenie (TON) oraz opóźnione wyłączenie (TOF). Blok funkcyjny TP generuje na wyjściu Q impulsy w momencie gdy na wejściu nastąpi zmiana wartości z 0 na 1. Czas trwania jest określony na wejściu PT (Preset Time). Po upływie tego czasie wyjście jest znów ustawiane na 0. Blok TON realizuje funkcję opóźnionego załączenia wyjścia w stosunku do sygnału wyzwalającego pojawiającego się na wejściu IN. Wartość opóźnienia jest określone przez wartość określoną na wejściu PT. Wyjście Q jest utrzymywane w stanie 1 dopóki wejście IN nie przyjmie wartości 0. Jeśli w czasie odliczania wejście IN przyjmie wartość 0 to czasomierz przerwie odliczanie czasu. W bloku TOF na wyjściu Q pojawi się wartość 1 w chwili pojawienia się 1 na wejściu IN. Wyjście zmieni stan na przeciwny gdy wejście IN przyjmie wartość 0 z opóźnieniem zadanym na wejściu PT. Na rysunku 18 przedstawiono przykład użycia bloków funkcyjnych czasomierzy TP, TON i TOF. Rys. 18. Przykład użycia bloków funkcyjnych czasomierzy Strona 19 z 27

20 W ostatniej części kursu poświęconego oprogramowaniu sterowników PLC zgodnego z normą IEC przedstawimy praktyczny przykład przedstawionych wcześniej wiadomości teoretycznych. Przykład ten opieramy o oprogramowanie Control FPWinPro oraz sterownik PLC serii FP-X. Aplikacja ta może być również przeniesiona na inne oprogramowanie, które jest zgodne ze standardem IEC Krótko o PLC seria FP-X Sterowniki PLC seria FP-X są następcą popularnej serii FP1. Mniejsze wymiary, zwiększona pamięć programu, większa prędkość i zoptymalizowane funkcje kontroli napędów umożliwiają stosowanie sterowników FP-X w szeroko pojętej automatyce, zaczynając od automatyzacji prostych maszyn, a kończąc na średnich obiektach przemysłowych lub liniach technologicznych. Jednostki centralne są dostępne od 14 do 60 punktów IO oraz do 32 kkroków pamięci programu. Specjalne funkcje kasetek rozszerzających takie jak wejścia analogowe, cyfrowe, szybkich wejść licznikowych, wyjść impulsowych czy komunikacyjnych umożliwiają dostosowanie konfiguracji sterownika do wymaganej aplikacji. Bardziej szczegółowy opis sterowników tej serii został przedstawiony w prezentacji w numerze marcowym APA. W aplikacji przykładowej pokażemy tylko część możliwości tego sterownika, skupiając się głównie na tworzeniu aplikacji zgodnej z normą IEC. Tworzenie nowego projektu Proce instalacji oprogramowania FPWinPro został omówiony w poprzednich częściach kursu i nie wymaga on komentarza. Po uruchomieniu aplikacji korzystamy z Wizarda i tworzymy nowy projekt o nazwie Kurs_APA_cz3_07.07, następnie wybieramy typ jednostki centralnej FP-X 32k C30R, C60R, wprowadzamy nazwę jednostki POU Prog_glowny i język programowania wybieramy Ladder Diagram (LD). Zatwierdzamy wprowadzone parametry podstawowe projektu przyciskiem Create Project. Mamy już przygotowane środowisko pracy w oprogramowaniu. Przedstawimy przykład programowania bloku funkcyjnego FB użytkownika oraz funkcji FUN, a następnie sposób wywołania z poziomu oprogramowania. Blok funkcyjny FB użytkownika Nowy blok utworzymy jako jednostka organizacyjna oprogramowania, a później przeniesiemy ją do biblioteki tak aby móc korzystać w następnych aplikacjach. Nowy blok funkcyjny tworzymy wybierając z menu górnego opcję Edit->New->POU lub klikamy prawym klawiszem myszki w Navigator na POUs i wybieramy New POU. Wprowadzamy parametry dla FB tak jak pokazano na rysunku 19. W naszym przykładzie utworzymy blok, który będzie sterował pojedynczym urządzeniem (np. pompą, dmuchawą, itp.). W tym przykładzie sterowania będziemy potrzebować zmiennych zewnętrznych i wewnętrznych, których zestawienie przedstawiono w tabeli 5. Strona 20 z 27

21 Rys. 19. Widok okna konfiguracyjnego bloku funkcyjnego użytkownika Tabela 5 Wykaz zmiennych w bloku funkcyjnym użytkownika Lp. Typ zmiennej Nazwa Opis 1 VAR_INPUT Pot_auto_M1 Potwierdzenie trybu automatycznego M1 2 VAR_INPUT Pot_pracy_M1 Potwierdzenie pracy urządzenia M1 3 VAR_INPUT Awaria_z_M1 Awaria z urządzenia M1 4 VAR_INPUT Zal_auto_M1 Załącz w trybie auto urządzenie M1 5 VAR_INPUT Kas_awarii_M1 Kasowanie awarii urządzenia M1 6 VAR_OUTPUT Zalacz_M1 Załącza urządzenie M1 7 VAR_OUTPUT Awaria_M1 Awaria urządzenia M1 8 VAR_OUTPUT Czas_pracy_M1 Czas pracy urządzenia M1 w sekundach 9 VAR Opoz_awarii_M1 Opóźnienie detekcji awarii M1 10 VAR_CONSTANT Czas_opoz_aw_M1 Czas opóźnienia do detekcji awarii M1 Blok o nazwie Ster_urzadz będzie przetwarzał informacje, sterował i zliczał czas pracy urządzenia. Pierwsze trzy sygnały z tabeli 5 są to sygnały podłączane z zewnątrz, poprzez moduły wejść binarnych. Sygnał Zal_auto_M1 jest to zmienna, której wartość aktualna zależy od algorytmu sterującego załączaniem urządzenia. Urządzenie będzie załączone jeśli sygnały wejściowe Pot_auto_M1, Pot_pracy_M1 i Zal_auto_M1 będą miały wartość logiczną 1 oraz jeśli sygnał Awaria_M1 będzie miał wartość 1. Zmienna Kas_awarii_M1 umożliwia ponowne załączenie jeśli urządzenie przejdzie w stan awarii. Jest ona generowana na podstawie braku sygnału Pot_pracy_M1 po wystawieniu sygnału Zalacz_M1 lub gdy zmienna Awaria_z_M1 ma wartość 0 przez czas opóźnienia odliczanego przez licznik Opoz_awarii_M1. Dodatkowo sprawdzany jest warunek wystąpienia sygnału potwierdzenia pracy Pot_pracy_M1 przy braku sygnału załączającego Zalacz_M1 ale jeśli tylko jest obecny sygnał Pot_auto_M1. Kasowanie awarii następuje przy zboczu narastającym sygnału Kas_awarii_M1. Czas pracy jest zliczany przez zmienną Czas_pracy_M1, która jest typu Strona 21 z 27

22 podwójny integer (DINT) i jest podawana w sekundach. Na rysunku 20 został przedstawiony schemat drabinkowy tego bloku funkcyjnego. Sposób wprowadzania elementów obwodu jest bardzo intuicyjny i nie będzie szeroko omawiany. Po wprowadzeniu symbolu styku lub cewki pojawi się nad nim pole ze znakiem zapytania, wystarczy teraz nacisnąć klawisz F2 i pojawi się lista wyboru zmiennych (rysunek 21). Jeśli chcemy zmienić typ styku lub cewki to należy na wstawionym elemencie kliknąć dwukrotnie myszką, pojawi się okno z możliwością zmiany konfiguracji sygnału. Rys. 20. Widok schematu bloku funkcyjnego FB użytkownika Rys. 21. Widok okna wyboru zmiennych Następnym krokiem po wprowadzeniu schematu jest wywołanie bloku funkcyjnego w aplikacji użytkownika. Przechodzimy do POU o nazwie Prog_glowny wstawiamy nowy blok funkcyjny (skrót klawiaturowy F2 ) i wybieramy stworzony poprzednio blok o nazwie Ster_urzadz. W Strona 22 z 27

23 edytorze LD zostanie umieszczony blok funkcyjny w postaci prostokąta o liczbie wejść i wyjść zdefiniowanych podczas tworzenia tego bloku. Ponieważ jest to blok funkcyjny to musi on posiadać swoją własną unikalną nazwę. Można wprowadzić dowolną nazwę, na przykład: urzadzenie1, silnik_m1. Jeśli nie będzie zadeklarowana nazwa bloku, to pojawi się okno z możliwością dodania tego bloku funkcyjnego. W momencie wstawienia symbolu bloku funkcyjnego pojawiły się symbole do podłączenia zmiennych. Możemy również podłączyć do nich sygnały z modułów wejść i wyjść binarnych. Aby podłączyć sygnały z zewnątrz to trzeba zadeklarować odpowiednie zmienne w oknie Global Variables. W tym przykładzie posłużymy się zarówno zmiennymi lokalnymi, które są dostępne w obrębie danego POU jak i globalnymi. Deklarujemy zmienne lokalne jako VAR, następnie nazwa, a później wybieramy typ zmiennej i wartość początkową. Tekst w polu Comment jest opcjonalny ale pozwala później na łatwą identyfikację funkcji pełnionej przez daną zmienną. Jeśli chcemy zmienić typ sygnału podłączonego do bloku funkcyjnego to klikamy myszką przy danym opisie zmiennej na FB, wówczas pojawi się okno z możliwością wyboru typu sygnału wejściowego. Na rysunku 22 przedstawiono wstawiony blok funkcyjny FB w edytorze języka drabinkowego. Rys. 22. Widok okna edytora LD z wprowadzonym blokiem funkcyjnym użytkownika Podobnie postępujemy dla bloku funkcyjnego o nazwie silnik_m1 do którego podłączamy sygnały z listy zmiennych Global Variables. Dla ułatwienia nazwy sygnałów wewnątrz bloku jak i podłączane w programie są takie same lub podobne. Mogą to być dowolne nazwy lub takie, które kojarzą się ze sposobem działania sterowanego urządzenia lub wynikają z projektu technicznego. Po wprowadzeniu tych bloków funkcyjnych, kompilujemy program wybierając z menu górnego Project->Compile All (skrót klawiaturowy Ctrl+Shift+A), a następnie łączymy się ze sterownikiem PLC Online->Online Mode. Po połączeniu program wyświetli komunikat informujący, że w sterowniku jest inny projekt i czy chcemy zastąpić go bieżącym projektem. Po zaakceptowaniu zostanie przesłany program do sterownika PLC. Po prawidłowym załadowaniu programu sterownik automatycznie przełączy się w tryb pracy RUN. Jeśli nie chcemy aby PLC automatycznie przełączał się w tryb RUN to musimy zmienić ustawienia w opcjach programu, wybierając z menu Extras->Options->Program Options->General. Automatycznie włącza się również tryb animacji programu, który umożliwia podgląd stanu bitów oraz zawartości rejestrów. Tryb animacji można również włączyć i wyłączyć wybierając z menu Monitor->Monitor Values. Aby zmienić stan bitu lub wartość rejestru w trybie animacji należy kliknąć dwukrotnie na danej zmiennej. Pojawi się wówczas odpowiednie okno do wprowadzenia nowej wartości dla rejestru, w przypadku bitu jego stan jest zmieniany na Strona 23 z 27

24 przeciwny. Na rysunku 23 przedstawiono widok okna z programem w trybie animacji. Rys. 23. Widok okna programu w trybie animacji Zmienne wejściowe i wyjściowe w bloku funkcyjnym można również używać w obrębie danego POU przekazując stan wyjścia lub podając stan wejścia bloku funkcyjnego. Aby prawidłowo zaadresować to należy w nazwie zmiennej najpierw podać nazwę bloku a później po separatorze kropka zmienną, np. Urzadzenie1.Zalacz_M1. W tej aplikacji blok funkcyjny jest umieszczony jako jednostka POU, jeśli chcemy wykorzystać go wielokrotnie to należy przenieść go do biblioteki. Tworzymy nową bibliotekę, wybierając z menu Edit->Library->Install/Create, podajemy dowolną nazwę oraz lokalizację na dysku. Aby przenieść blok funkcyjny do biblioteki to należy użyć typowych instrukcji Wytnij Cut i Wklej Paste (skrót klawiaturowy Ctr+X i Ctr+V). Należy zaznaczyć, że nawet po zmianie położenia bloku FB kompilator automatycznie odnajdzie elementy bibliotek, które są wymagane w projekcie. Należy tylko zainstalować bibliotekę w projekcie. Funkcja użytkownika Funkcja użytkownika może być utworzona jako jednostka organizacyjna oprogramowania, a następnie można ją przenieść do biblioteki użytkownika. Wcześniej przedstawiliśmy podstawowe różnice pomiędzy blokiem funkcyjnym a funkcją. Przypomnijmy, że podstawowa różnica pomiędzy blokiem funkcyjnym FB i funkcją FUN polega na tym, że jeśli zostanie wywołana funkcja z tymi samymi parametrami wejściowymi to na wyjściu zawsze otrzymamy tą samą wartość. W przypadku bloku funkcyjnego już tak nie musi być. Stąd wynika, że blok funkcyjny zawiera zmienne wewnętrzne, które zawierają informacje o stanie. Funkcja nie zawiera wewnętrznej informacji o stanie z poprzedniego wywołania. Wobec tego w funkcji nie można użyć bloku funkcyjnego FB. Pokażemy przykład, który wykorzystuje właściwości funkcji. Wybieramy nowy POU i wprowadzamy parametry dla funkcji tak jak na rysunku 24. Jako język programowania wybieramy ST, co pozwoli nam na pokazanie praktyczne wykorzystania tego języka. Strona 24 z 27

25 Zaznaczamy również opcję Use with EN/ENO, która umożliwia sterowaniem kiedy funkcja ma zostać wywołana. Funkcja będzie obliczać pojemność prostopadłościanu według wzoru: pojemność=a*b*h, gdzie a, b długości boków, h wysokość. W tabeli 6 przedstawiono wykaz zmiennych wykorzystywanych w funkcji. Tabela 6 Wykaz zmiennych w funkcji użytkownika Lp. Typ zmiennej Nazwa Opis 1 VAR_INPUT a Długość "a" prostopadłościanu 2 VAR_INPUT b Długość "b" prostopadłościanu 3 VAR_INPUT h Wysokość "a" prostopadłościanu 4 VAR_OUTPUT Powierzchnia Powierzchnia prostopadłościanu Rys. 24. Widok okna konfiguracyjnego funkcji użytkownika Zmienne wejściowe (pozycje od 1 do 3 w tabeli 6) przekazują parametry do wnętrza funkcji. Sposób w jaki należy wprowadzić algorytm został przedstawiony na rysunku 25. Do nazwy funkcji, która przekazuje wartość zostaje zapisany wynik działań obliczeń na poszczególnych składnikach. W tym przypadku wszystkie zmienne VAR_INPUT jako wartość początkowa mogą mieć wartość równą 0.0. Przy programowaniu należy sprawdzić czy zmienna może mieć wartość równą zero. Dodatkowo również jest obliczana powierzchnia prostopadłościanu według wzoru: Powierzchnia=2*a*b+2*a*h+2*b*h. Wynik jest przekazywany na zewnątrz funkcji poprzez dodatkową zmienną Powierzchnia. Strona 25 z 27

26 Rys. 25. Widok okna z funkcją użytkownika Obliczenia arytmetyczne lub działania wykonywane w pętli można łatwo implementować w języku ST. W przypadku języka LD program też można również wprowadzić ale będzie on zajmował więcej miejsca w edytorze oraz nie będzie on tak czytelny. Po wprowadzeniu funkcji można ją wywołać z programu, z bloku funkcyjnego lub też z innej funkcji. W jednostce programu Prog_glowny wybieramy z listy dostępnych funkcji utworzoną wcześniej funkcję Oblicz_pojemnosc (rysunek 26). Zostanie ona wprowadzona w postaci prostokąta (podobnie jak w przypadku bloku funkcyjnego) o liczbie wejść i wyjść zależnym od deklaracji w funkcji. Do wejść można podłączyć zmienne zadeklarowane jak i też wpisać wartości stałe. Wartość stałą można wprowadzić bezpośrednio (na rysunku 27 parametr dla zmiennej h) lub też zadeklarować zmienną jako VAR_CONSTANT. Należy zaznaczyć, że w przypadku funkcji nie należy podawać unikalnej nazwy funkcji. Po prawidłowym wprowadzeniu funkcji, należy skompilować projekt i załadować aplikację do sterownika PLC. Na rysunku 27 przestawiono widok działania funkcji w trybie animacji aplikacji ze sterownikiem FP-X. Jeśli chcemy przenieść funkcję do biblioteki to postępujemy podobnie jak w przypadku bloku funkcyjnego. Przenosimy jednostkę POU funkcji przy pomocy instrukcji Wytnij i Wklej. Należy pamiętać aby w aplikacji i bibliotece nie występowały funkcje o takiej samej nazwie. Rys. 26. Widok okna wyboru funkcji użytkownika Strona 26 z 27

27 Rys. 27. Sposób działania funkcji użytkownika w programie Strona 27 z 27

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

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów

Bardziej szczegółowo

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

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i

Bardziej szczegółowo

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) Wybrane aspekty procesu tworzenia oprogramowania dla sterownika PLC Podstawy języka funkcjonalnych schematów blokowych (FBD) Politechnika Gdańska Wydział Elektrotechniki i

Bardziej szczegółowo

Standardowe bloki funkcjonalne

Standardowe bloki funkcjonalne Standardowe bloki funkcjonalne Wykorzystując języki ST i LD należy zapoznać się z działaniem standardowych bloków funkcjonalnych (elementy dwustanowe (bistabilne), elementy detekcji zbocza, liczniki, czasomierze)

Bardziej szczegółowo

CoDeSys 3 programowanie w języku drabinkowym LD

CoDeSys 3 programowanie w języku drabinkowym LD Notatka Aplikacyjna NA 03004PL Spis treści 1. Wstęp... 2 1.1. Wymagania programowe... 2 2. Tworzenie projektu i dodawanie programu w LD... 3 3. Organizacja okien dla języka LD... 5 4. Składnia języka LD

Bardziej szczegółowo

CoDeSys 3 programowanie w języku FBD

CoDeSys 3 programowanie w języku FBD 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

Bardziej szczegółowo

Sterowniki Programowalne (SP) Wykład 11

Sterowniki Programowalne (SP) Wykład 11 Sterowniki Programowalne (SP) Wykład 11 Podstawy metody sekwencyjnych schematów funkcjonalnych (SFC) SP 2016 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka

Bardziej szczegółowo

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).

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). Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów blokowych FBD, tekstowe: lista instrukcji IL, tekst strukturalny ST, grafów: graf funkcji sekwencyjnych SFC, graf

Bardziej szczegółowo

Notatka Aplikacyjna NA 03006PL Maj 2016

Notatka Aplikacyjna NA 03006PL Maj 2016 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 IL... 5 4. Składnia języka IL...

Bardziej szczegółowo

Tworzenie prostego programu w językach ST i LD

Tworzenie prostego programu w językach ST i LD Tworzenie prostego programu w językach ST i LD Tworzenie prostego programu w języku ST - wprowadzenie Aby utworzyć program należy uruchomić narzędzie TwinCAT PLC Control. Klawisz myszy otwiera okno PLC

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List)

Język programowania: Lista instrukcji (IL Instruction List) Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne

Bardziej szczegółowo

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

Podstawy programowania PLC w języku drabinkowym - ćwiczenie 5 Podstawy programowania PLC w języku drabinkowym - ćwiczenie 5 1. Cel ćwiczenia Zapoznanie się z podstawowymi elementami języka drabinkowego i zasadami programowania Programowalnych Sterowników Logicznych

Bardziej szczegółowo

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

JĘZYKI PROGRAMOWANIA STEROWNIKÓW JĘZYKI PROGRAMOWANIA STEROWNIKÓW dr inż. Wiesław Madej Wstęp Języki programowania sterowników 15 h wykład 15 h dwiczenia Konsultacje: - pokój 325A - środa 11 14 - piątek 11-14 Literatura Tadeusz Legierski,

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

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

Pierwsze kroki z easy Soft CoDeSys. 2009 Eaton Corporation. All rights reserved. Pierwsze kroki z easy Soft CoDeSys Tworzenie prostego programu Rozpoczęcie pracy 2 Tworzenie prostego programu Wybór aparatu 3 Tworzenie prostego programu Wybór języka programowania Do wyboru jest sześć

Bardziej szczegółowo

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

PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy PLC1: Programowanie sterowników logicznych SIEMENS SIMATIC S7-300/400 - kurs podstawowy DZIEŃ 1 Idea sterowania procesu lub maszyny: Sterowanie za pomocą przekaźników Sterowanie dedykowane Sterowanie za

Bardziej szczegółowo

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO! ćwiczenie nr 7 str.1/1 ĆWICZENIE 7 Wprowadzenie do funkcji specjalnych sterownika LOGO! 1. CEL ĆWICZENIA: zapoznanie się z zaawansowanymi możliwościami mikroprocesorowych sterowników programowalnych na

Bardziej szczegółowo

Czym jest IEC ?

Czym jest IEC ? Czym jest IEC 61131-3? Zadaniem sterowników programowalnych jest zrealizowanie zapisanego w ich pamięci programu, który stanowi implementację algorytmu sterowania. Jego danymi wejściowymi są informacje

Bardziej szczegółowo

SiR_4 Standaryzacja metod programowania sterowników PLC norma PN-IEC Typy danych i deklaracje zmiennych.

SiR_4 Standaryzacja metod programowania sterowników PLC norma PN-IEC Typy danych i deklaracje zmiennych. SiR_4 Standaryzacja metod programowania sterowników PLC norma PN-IEC 61131. Typy danych i deklaracje zmiennych. Norma IEC 61131 (1993r.) składa się z pięciu części: 1. Informacje ogólne definicje pojęć,

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs Podstawowy S7. Spis treści. Dzień 1 Spis treści Dzień 1 I System SIMATIC S7 - wprowadzenie (wersja 1401) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6 Podstawowe

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

CoDeSys 3 programowanie w języku CFC

CoDeSys 3 programowanie w języku CFC Notatka Aplikacyjna NA 03003PL 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 CFC... 5 4. Składnia języka CFC

Bardziej szczegółowo

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

Kurs SIMATIC S7-300/400 i TIA Portal - Podstawowy. Spis treści. Dzień 1. I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503) Spis treści Dzień 1 I System SIEMENS SIMATIC S7 - wprowadzenie (wersja 1503) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6

Bardziej szczegółowo

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

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop. 2017 Spis treści O autorze 9 Wprowadzenie 11 Rozdział 1. Sterownik przemysłowy 15 Sterownik S7-1200 15 Budowa zewnętrzna

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Sterownik Visilogic V260

Sterownik Visilogic V260 Sterownik Visilogic V260 Konfiguracja sprzętowa Po wykonaniu konfiguracji sprzętowej (skojarzeniu odpowiedniego modułu SNAP I/O) można przystąpić do tworzenia aplikacji przy użyciu trzech edytorów

Bardziej szczegółowo

Istnieje wiele metod przekształcania algorytmów wprogram sterujący.

Istnieje wiele metod przekształcania algorytmów wprogram sterujący. Metody programowania sterowników swobodnie programowalnych Wykład 9.3 Metody programowania sterowników swobodnie programowalnych Istnieje wiele metod przekształcania algorytmów wprogram sterujący. W1993

Bardziej szczegółowo

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1 ISaGRAF WERSJE 3.4 LUB 3.5 1 1. SFC W PAKIECIE ISAGRAF 1.1. Kroki W pakiecie ISaGRAF użytkownik nie ma możliwości definiowania własnych nazw dla kroków. Z każdym krokiem jest związany tzw. numer odniesienia

Bardziej szczegółowo

Sterowniki programowalne

Sterowniki programowalne Wykład w ramach przedmiotu Sterowniki programowalne Sterowniki programowalne GE Fanuc serii 90-30 Zasady działania systemu (część II) Na podstawie dokumentacji GE Fanuc przygotował dr inż. Jarosław Tarnawski

Bardziej szczegółowo

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Ćwiczenie V LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Zał.1 - Działanie i charakterystyka sterownika PLC

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski

Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski Norma IEC 1131 Języki tekstowe Języki graficzne Języki

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Energoelektroniki i Maszyn Elektrycznych Symulator sterownika programowalnego PS4-201-MM1 Instrukcja użytkownika Gdańsk 2006-1 - Spis treści

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów...

1. Podstawowe wiadomości...9. 2. Możliwości sprzętowe... 17. 3. Połączenia elektryczne... 25. 4. Elementy funkcjonalne programów... Spis treści 3 1. Podstawowe wiadomości...9 1.1. Sterowniki podstawowe wiadomości...10 1.2. Do czego służy LOGO!?...12 1.3. Czym wyróżnia się LOGO!?...12 1.4. Pierwszy program w 5 minut...13 Oświetlenie

Bardziej szczegółowo

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

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400 ZAAWANSOWANY TIA DLA S7-300/400 Spis treści Dzień 1 I Rozpoczęcie pracy ze sterownikiem (wersja 1707) I-3 Zadanie Konfiguracja i uruchomienie sterownika I-4 Etapy realizacji układu sterowania I-5 Tworzenie

Bardziej szczegółowo

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs Zaawansowany S7. Spis treści. Dzień 1 Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja

Bardziej szczegółowo

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

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

Układy VLSI Bramki 1.0

Układy VLSI Bramki 1.0 Spis treści: 1. Wstęp... 2 2. Opis edytora schematów... 2 2.1 Dodawanie bramek do schematu:... 3 2.2 Łączenie bramek... 3 2.3 Usuwanie bramek... 3 2.4 Usuwanie pojedynczych połączeń... 4 2.5 Dodawanie

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Sterowniki Programowalne (SP) Wykład #4

Sterowniki Programowalne (SP) Wykład #4 Sterowniki Programowalne (SP) Wykład #4 System GE Fanuc serii 90-30 Zasady działania systemu (część II) WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Jarosław Tarnawski Październik

Bardziej szczegółowo

Sterownik PLC sterujący pracą falownika (SAIA) Cel ćwiczenia

Sterownik PLC sterujący pracą falownika (SAIA) Cel ćwiczenia Sterownik PLC sterujący pracą falownika (SAIA) Cel ćwiczenia Technologia sterowników PLC jest nierozerwalnie związana z informatyką przemysłową, a szerzej z automatyką przemysłową, której częścią jest

Bardziej szczegółowo

Pascal - wprowadzenie

Pascal - wprowadzenie Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego

Bardziej szczegółowo

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504)

Kurs STARTER S5. Spis treści. Dzień 1. III Budowa wewnętrzna, działanie i obsługa sterownika (wersja 0504) I Dlaczego sterownik? (wersja 0504) Spis treści Dzień 1 I-3 Wady i zalety poszczególnych rodzajów układów sterowania I-4 Charakterystyka rodziny S5 I-5 II Podłączenie sterownika do obiektu (wersja 0504)

Bardziej szczegółowo

PIERWSZY PROGRAM W JĘZYKU FBD

PIERWSZY PROGRAM W JĘZYKU FBD CODESYS PIERWSZY PROGRAM 1 PIERWSZY PROGRAM W JĘZYKU FBD Materiał ten stanowi skróconą wersję opracowania omawiającego pracę w środowisku CoDeSys (plik CoDeSys na stronie przedmiotu). Poniżej przedstawiona

Bardziej szczegółowo

Modułowy programowalny przekaźnik czasowy firmy Aniro.

Modułowy programowalny przekaźnik czasowy firmy Aniro. Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały

Bardziej szczegółowo

Definicje. Algorytm to:

Definicje. Algorytm to: Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje

Bardziej szczegółowo

Elastyczne systemy wytwarzania

Elastyczne systemy wytwarzania ZAKŁAD PROJEKTOWANIA TECHNOLOGII Laboratorium: Elastyczne systemy wytwarzania Załącznik do instrukcji nr 1 Opracował: Jakub Zawrotniak Poniżej przedstawiono sposób tworzenia nowego projektu/programu: a)

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Programowanie sterowników B&R

Programowanie sterowników B&R POLITECHNIKA POZNAŃSKA Programowanie sterowników B&R Instrukcja nr 1 Język drabinkowy LD Arkadiusz Kubacki 2015-10-01 1. Tworzenie nowego projektu w Automation Studio Po uruchomieniu programu Automation

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK.

Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. Darmowe oprogramowanie narzędziowe sterowników PLC FATEK. Przejrzystość, intuicyjny charakter i łatwość oprogramowania sterowników FATEK. WinProllader jest prostym interfejsem użytkownika służącym do programowania

Bardziej szczegółowo

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

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

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

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1 Spis treści Dzień 1 I Rozpoczęcie pracy ze sterownikiem (wersja 1503) I-3 Zadanie Konfiguracja i uruchomienie sterownika I-4 Etapy realizacji układu sterowania I-5 Tworzenie nowego projektu I-6 Tworzenie

Bardziej szczegółowo

Notatka Aplikacyjna NA 03006PL Maj 2016

Notatka Aplikacyjna NA 03006PL Maj 2016 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...

Bardziej szczegółowo

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik

Bardziej szczegółowo

Ćwiczenia z S7-1200. S7-1200 jako Profinet-IO Controller. FAQ Marzec 2012

Ćwiczenia z S7-1200. S7-1200 jako Profinet-IO Controller. FAQ Marzec 2012 Ćwiczenia z S7-1200 S7-1200 jako Profinet-IO Controller FAQ Marzec 2012 Spis treści 1 Opis zagadnienie poruszanego w ćwiczeniu. 3 1.1 Wykaz urządzeń..... 3 2 KONFIGURACJA S7-1200 PLC.. 4 2.1 Nowy projekt.

Bardziej szczegółowo

Ćwiczenia z S7-1200. Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Ćwiczenia z S7-1200. Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP. Ćwiczenia z S7-1200 Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP FAQ Marzec 2012 Spis treści 1 Opis zagadnienie poruszanego w ćwiczeniu. 3 1.1 Wykaz

Bardziej szczegółowo

Siemens S7-1200 Konfiguracja regulatora PID

Siemens S7-1200 Konfiguracja regulatora PID Siemens S7-1200 Konfiguracja regulatora PID 1 Wprowadzenie Środowisko STEP 7 umożliwia wykorzystanie instrukcji sterownika S7-1200 które pozwalają na prostą konfiguracje i zastosowanie regulatora PID.

Bardziej szczegółowo

Zmiany. Initial Step krok inicjujący sekwenser

Zmiany. Initial Step krok inicjujący sekwenser Zmiany Initial Step krok inicjujący sekwenser W ferworze walki czasem usuniemy krok inicjujący (po rozpoczęciu FB z GRAPH jest on standardowo oznaczony S1). Skutkuje to tym, że wszystko wygląda dobrze,

Bardziej szczegółowo

Mikrooperacje. Mikrooperacje arytmetyczne

Mikrooperacje. Mikrooperacje arytmetyczne Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej

Bardziej szczegółowo

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie 1. Uruchomienie programu TwinCAT 3: a) Kliknąć w start i wpisać wpisać frazę twincat. b) Kliknąć w ikonę jak poniżej: 2. Wybrać w menu

Bardziej szczegółowo

Programowanie sterowników B&R

Programowanie sterowników B&R POLITECHNIKA POZNAŃSKA Programowanie sterowników B&R Instrukcja nr 2 Język Structured Text ST Arkadiusz Kubacki 2015-10-01 1. Tworzenie nowego projektu w Automation Studio Po uruchomieniu programu Automation

Bardziej szczegółowo

Przykład programowania PLC w języku drabinkowym - ćwiczenie 6

Przykład programowania PLC w języku drabinkowym - ćwiczenie 6 Przykład programowania PLC w języku drabinkowym - ćwiczenie 6 1. Cel ćwiczenia Zapoznanie się z podstawowymi elementami języka drabinkowego i zasadami programowania Programowalnych Sterowników Logicznych

Bardziej szczegółowo

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania 1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca

Bardziej szczegółowo

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU

Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU Instrukcja podstawowego uruchomienia sterownika PLC LSIS serii XGB XBC-DR20SU Spis treści: 1. Instalacja oprogramowania XG5000 3 2. Tworzenie nowego projektu i ustawienia sterownika 7 3. Podłączenie sterownika

Bardziej szczegółowo

Podstawy Programowania 2

Podstawy Programowania 2 Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu

Bardziej szczegółowo

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

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

1 Moduł Neuronu Cyfrowego

1 Moduł Neuronu Cyfrowego 1 Moduł Neuronu Cyfrowego Moduł Neuronu Cyfrowego daje użytkownikowi Systemu Vision możliwość obsługi fizycznych Neuronów Cyfrowych. Dzięki temu możliwe jest sterowanie zewnętrznymi urządzeniami wykonawczymi

Bardziej szczegółowo

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano Działanie i charakterystyka sterownika GE FANUC VersaMaxNano Sterownik wykonuje cyklicznie program sterujący. Oprócz wykonywania programu sterującego, sterownik regularnie gromadzi dane z urządzeń wejściowych,

Bardziej szczegółowo

Sterownik nagrzewnic elektrycznych HE module

Sterownik nagrzewnic elektrycznych HE module Sterownik nagrzewnic elektrycznych HE module Dokumentacja Techniczna 1 1. Dane techniczne Napięcie zasilania: 24 V~ (+/- 10%) Wejście napięciowe A/C: 0 10 V Wejścia cyfrowe DI 1 DI 3: 0 24 V~ Wyjście przekaźnikowe

Bardziej szczegółowo

PROGRAMOWANIE Z LICZNIKIEM CYKLI

PROGRAMOWANIE Z LICZNIKIEM CYKLI PRz AiS - 2012 UKŁADY CZASOWE Programowanie z licznikiem cykli. Fala prostokątna. Standardowe czasomierze. Fala prostokątna w LD. Zabezpieczenie silnika. Drugie naciśnięcie. Minimalne układy z czasomierzami.

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie INSTRUKCJA OBSŁUGI 1. Zastosowanie Przekaźnik czasowy ETM jest zadajnikiem czasowym przystosowanym jest do współpracy z prostownikami galwanizerskimi. Pozwala on załączyć prostownik w stan pracy na zadany

Bardziej szczegółowo

Licznik rewersyjny MD100 rev. 2.48

Licznik rewersyjny MD100 rev. 2.48 Licznik rewersyjny MD100 rev. 2.48 Instrukcja obsługi programu PPH WObit mgr inż. Witold Ober 61-474 Poznań, ul. Gruszkowa 4 tel.061/8350-620, -800 fax. 061/8350704 e-mail: wobit@wobit.com.pl Instrukcja

Bardziej szczegółowo

1 Moduł Neuronu Cyfrowego SM

1 Moduł Neuronu Cyfrowego SM 1 Moduł Neuronu Cyfrowego SM Moduł Neuronu Cyfrowego SM daje użytkownikowi Systemu Vision możliwość obsługi fizycznych urządzeń Neuronów Cyfrowych podłączonych do Sterownika Magistrali. Moduł odpowiada

Bardziej szczegółowo

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

Bardziej szczegółowo

Politechnika Gdańska. Gdańsk, 2016

Politechnika Gdańska. Gdańsk, 2016 Politechnika Gdańska Wydział Elektroniki, Telekomunikacji i Informatyki Katedra Systemów Geoinformatycznych Aplikacje Systemów Wbudowanych Programowalne Sterowniki Logiczne (PLC) Krzysztof Bikonis Gdańsk,

Bardziej szczegółowo

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

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia

SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów blokowych FBD, tekstowe: lista instrukcji IL, tekst strukturalny ST, grafów: graf funkcji sekwencyjnych SFC, graf

Bardziej szczegółowo

Komunikacja między sterownikami przez protokół ADS

Komunikacja między sterownikami przez protokół ADS Komunikacja między sterownikami przez protokół ADS Poziom trudności: łatwy Wersja dokumentacji: 1.0 Aktualizacja: 20.03.2015 Beckhoff Automation Sp. z o. o. Spis treści 1. Komunikacja ADS... 3 2. Konfiguracja

Bardziej szczegółowo

Programowanie sterowników PLC wprowadzenie

Programowanie sterowników PLC wprowadzenie Programowanie sterowników PLC wprowadzenie Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Sterowniki programowalne

Bardziej szczegółowo

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia Ćwiczenie VIIN Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi Przebieg ćwiczenia 1. Rozpoznać elementy stanowiska (rys.1,2,3) i podłączyć

Bardziej szczegółowo

Bit 11 pierwszego słowa komunikacji acyklicznej ustawny jest na wartość 0 i nie podlega modyfikacji.

Bit 11 pierwszego słowa komunikacji acyklicznej ustawny jest na wartość 0 i nie podlega modyfikacji. 1 2 Posługując się komunikacją acykliczną do dyspozycji mamy 4 słowa za pomocą których przesyłamy identyfikację żądania, numer parametru jego indeks oraz wartość. Pierwsze słowo PKE zawiera informację

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

FAQ: /PL Data: 2/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem LOGO!

FAQ: /PL Data: 2/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem LOGO! Spis treści 1 Opis zagadnienia omawianego w dokumencie.. 2 2 Nowy projekt w LOGO! Soft Comfort.... 3 2.1 Nowy projekt... 3 2.2 Konfiguracja połączenia ethernetowego... 4 3 Program w LOGO! Soft Comfort...

Bardziej szczegółowo

Język FBD w systemie Concept

Język FBD w systemie Concept Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

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

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia. Kilka informacji o przerzutnikach Jaki układ elektroniczny nazywa się przerzutnikiem? Przerzutnikiem bistabilnym jest nazywany układ elektroniczny, charakteryzujący się istnieniem dwóch stanów wyróżnionych

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

MIĘDZYNARODOWA NORMA IEC 61131

MIĘDZYNARODOWA NORMA IEC 61131 Rozdział II MIĘDZYNARODOWA NORMA IEC 61131 2.1. Geneza powstania normy Przez lata rozwoju sterowników programowalnych producenci wprowadzali różne metody programowania sterowników PLC (Programmable Logic

Bardziej szczegółowo