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

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

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

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ę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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sterowniki Programowalne (SP)

Sterowniki Programowalne (SP) Sterowniki Programowalne (SP) O normie IEC 61131 Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok III, semestr V dr inż. Tomasz

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

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

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

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

Ć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

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

Ć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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

1 Moduł Modbus ASCII/RTU 3

1 Moduł Modbus ASCII/RTU 3 Spis treści 1 Moduł Modbus ASCII/RTU 3 1.1 Konfigurowanie Modułu Modbus ASCII/RTU............. 3 1.1.1 Lista elementów Modułu Modbus ASCII/RTU......... 3 1.1.2 Konfiguracja Modułu Modbus ASCII/RTU...........

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

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

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

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych: Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Język programowania PASCAL

Język programowania PASCAL Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO

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

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

PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj

Bardziej szczegółowo

Podstawy programowania w środowisku Step 7

Podstawy programowania w środowisku Step 7 GRUPA MT Temat i Autor Podstawy programowania w środowisku Step 7 Krzysztof Bodzek, Arkadiusz Domoracki CEL ĆWICZENIA 1. Poznanie narzędzia Totally Integration Automation Portal 2. Konfiguracja sterownika

Bardziej szczegółowo

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?

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? Część XVIII C++ Funkcje 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? Umiemy już podzielić nasz

Bardziej szczegółowo

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

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy. Przebieg ćwiczenia Ćwiczenie VI LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Przebieg ćwiczenia 1. Rozpoznać elementy modelu układu

Bardziej szczegółowo

STEROWNIKI PROGRAMOWALNE OBSŁUGA AWARII ZA POMOCĄ STEROWNIKA SIEMENS SIMATIC S7

STEROWNIKI PROGRAMOWALNE OBSŁUGA AWARII ZA POMOCĄ STEROWNIKA SIEMENS SIMATIC S7 STEROWNIKI PROGRAMOWALNE OBSŁUGA AWARII ZA POMOCĄ STEROWNIKA SIEMENS SIMATIC S7 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami obsługi stanów awaryjnych w układach sterowania zbudowanych

Bardziej szczegółowo

Przemysłowe Systemy Automatyki ĆWICZENIE 2

Przemysłowe Systemy Automatyki ĆWICZENIE 2 Politechnika Poznańska Katedra Sterowania i Inżynierii Systemów Przemysłowe Systemy Automatyki ĆWICZENIE 2 Sterowanie poziomem cieczy w zbiornikach Celem ćwiczenia jest zapoznanie z działaniem przekaźnika

Bardziej szczegółowo

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

Właściwości i metody obiektu Comment Właściwości Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz

Bardziej szczegółowo

Konfiguracja regulatora PID

Konfiguracja regulatora PID Konfiguracja regulatora PID Simatic Step 7 Basic v10.5 S7-1200 PLC FAQ Lipiec 2010 Spis treści 1 Opis obiektu regulacji PID 3 2 Wstęp do nowego projektu. 4 2.1 Nowy projekt... 4 2.2 Dodanie nowego urządzenia...

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI. Licznik amperogodzin ETM-01.1. ELEKTROTECH Dzierżoniów. 1. Zastosowanie

INSTRUKCJA OBSŁUGI. Licznik amperogodzin ETM-01.1. ELEKTROTECH Dzierżoniów. 1. Zastosowanie 1. Zastosowanie INSTRUKCJA OBSŁUGI Licznik amperogodzin ETM-01.1 Licznik ETM jest licznikiem ładunku elektrycznego przystosowanym do współpracy z prostownikami galwanizerskimi unipolarnymi. Licznik posiada

Bardziej szczegółowo

STEROWANIE URZĄDZENIAMI PRZEMYSŁOWYMI ĆWICZENIE 4 BLOKI FUNKCYJNE

STEROWANIE URZĄDZENIAMI PRZEMYSŁOWYMI ĆWICZENIE 4 BLOKI FUNKCYJNE STEROWANIE URZĄDZENIAMI PRZEMYSŁOWYMI ĆWICZENIE 4 BLOKI FUNKCYJNE Poznań, wrzesień 2014 Przed przystąpieniem do ćwiczenia należy zapoznać się z instrukcją dydaktyczną. Dokonać oględzin urządzeń, przyrządów

Bardziej szczegółowo

1 Moduł Modbus ASCII/RTU

1 Moduł Modbus ASCII/RTU 1 Moduł Modbus ASCII/RTU Moduł Modbus ASCII/RTU daje użytkownikowi Systemu Vision możliwość komunikacji z urządzeniami za pomocą protokołu Modbus. Moduł jest konfigurowalny w taki sposób, aby umożliwiał

Bardziej szczegółowo

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

Zasady wykonywania programu drabinkowego w sterowniku

Zasady wykonywania programu drabinkowego w sterowniku Zasady wykonywania programu drabinkowego w sterowniku Programowanie sterownika Modicon Micro 612xx w środowisku uruchomieniowym Modsoft odbywa się przy pomocy języka drabinkowego wspomaganego blokami funkcyjnymi.

Bardziej szczegółowo

Regulator PID w sterownikach programowalnych GE Fanuc

Regulator PID w sterownikach programowalnych GE Fanuc Regulator PID w sterownikach programowalnych GE Fanuc Wykład w ramach przedmiotu: Sterowniki programowalne Opracował na podstawie dokumentacji GE Fanuc dr inż. Jarosław Tarnawski Cel wykładu Przypomnienie

Bardziej szczegółowo

UR nowoczesność i przyszłość regionu Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego ZAPYTANIE OFERTOWE

UR nowoczesność i przyszłość regionu Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego ZAPYTANIE OFERTOWE Rzeszów, 02.09.2013r. ZAPYTANIE OFERTOWE 10/RS/ZAD2/NIPR/2013 Dotyczące przygotowania recenzji oraz weryfikacji merytorycznej i dydaktycznej skryptu do przedmiotu Sterowniki PLC dla studentów kierunku

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Sterownik kompaktowy Theben PHARAO II

Sterownik kompaktowy Theben PHARAO II Wydział Elektroniki Politechniki Wrocławskiej Laboratorium Automatyki Budynkowej Sterownik kompaktowy Theben PHARAO II 1. Wstęp Pherao II jest niewielkim sterownikiem kompaktowym, który charakteryzuje

Bardziej szczegółowo

TwinCAT System. Pierwsze kroki w TwinCAT System Manager i TwinCAT PLC Control. Luty 2007 TwinCAT PLC - Tworzenie prostego programu 1

TwinCAT System. Pierwsze kroki w TwinCAT System Manager i TwinCAT PLC Control. Luty 2007 TwinCAT PLC - Tworzenie prostego programu 1 TwinCAT System Pierwsze kroki w TwinCAT System Manager i TwinCAT PLC Control Luty 2007 TwinCAT PLC - Tworzenie prostego programu 1 TwinCAT System: TwinCAT System Manager o TwinCAT CP o TwinCAT I/O o TwinCAT

Bardziej szczegółowo

AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM

AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM AUTOMATYKA I REGULACJA AUTOMATYCZNA LABORATORIUM Programowanie sterownika BC8150 firmy Beckhoff wprowadzenie 1. Konfiguracja pakietu TwinCAT do współpracy ze sterownikiem BC8150 2. Tworzenie prostego programu

Bardziej szczegółowo

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych. Kody katalogowe Informacje ogólne Kod katalogowy jest to numer indentyfikacyjny producenta. Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie

Bardziej szczegółowo

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

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Kurs SINAMICS G120 Konfiguracja i uruchomienie. Spis treści. Dzień 1

Kurs SINAMICS G120 Konfiguracja i uruchomienie. Spis treści. Dzień 1 Spis treści Dzień 1 I Sterowanie napędami wprowadzenie (wersja 1301) I-3 Przykładowa budowa silnika asynchronicznego I-4 Przykładowa budowa silnika asynchronicznego I-5 Przykładowa zależności momentu od

Bardziej szczegółowo

Ćwiczenia z S7-1200. Komunikacja S7-1200 z przyciskowym panelem HMI KP300 PN. FAQ Marzec 2012

Ćwiczenia z S7-1200. Komunikacja S7-1200 z przyciskowym panelem HMI KP300 PN. FAQ Marzec 2012 Ćwiczenia z S7-1200 KP300 PN Ćwiczenia z S7-1200 Komunikacja S7-1200 z przyciskowym panelem HMI KP300 PN FAQ Marzec 2012 1 Spis treści 1 Opis zagadnienia poruszanego w ćwiczeniu. 3 1.1 Wykaz urządzeń...

Bardziej szczegółowo

Języki skryptowe w programie Plans

Języki skryptowe w programie Plans Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów

Bardziej szczegółowo

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco 3. Sieć PLAN Wszystkie urządzenia podłączone do sieci plan są identyfikowane za pomocą swoich adresów. Ponieważ terminale użytkownika i płyty główne pco wykorzystują ten sam rodzaj adresów, nie mogą posiadać

Bardziej szczegółowo

5 Tworzenie programu z wykorzystaniem bloków funkcyjnych i bloków danych

5 Tworzenie programu z wykorzystaniem bloków funkcyjnych i bloków danych 5 Tworzenie programu z wykorzystaniem bloków funkcyjnych i bloków danych 5.1 Dodawanie oraz otwarcie bloku funkcyjnego (FB) Blok funkcyjny FB hierarchicznie jest przyporządkowany do bloku organizacyjnego

Bardziej szczegółowo

Kurs Projektowanie i programowanie z Distributed Safety. Spis treści. Dzień 1. I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212)

Kurs Projektowanie i programowanie z Distributed Safety. Spis treści. Dzień 1. I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212) Spis treści Dzień 1 I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212) I-3 Cel stosowania bezpieczeństwa funkcjonalnego I-4 Bezpieczeństwo funkcjonalne I-5 Zakres aplikacji I-6 Standardy w zakresie

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

FAQ: 00000042/PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200

FAQ: 00000042/PL Data: 3/07/2013 Konfiguracja współpracy programów PC Access i Microsoft Excel ze sterownikiem S7-1200 Spis treści 1 Opis zagadnienia omawianego w dokumencie.. 2 2 Wstęp do nowego projektu..... 3 2.1 Nowy projekt... 3 2.2 Dodanie nowego urządzenia... 4 3 Program w main... 6 4 Program PC Access.... 8 4.1

Bardziej szczegółowo

EC4P Pierwszy program w 6 krokach

EC4P Pierwszy program w 6 krokach EC4P Pierwszy program w 6 krokach Strona - 1 Wymagania / Przygotowanie Instalacja easy Soft CoDeSys Zakłada si, e adna z wersji easysoft CoDeSys nie jest zainstalowana. Podczas instalacji wykonuj poszczególne

Bardziej szczegółowo

Laboratorium Elektrycznych Systemów Inteligentnych

Laboratorium Elektrycznych Systemów Inteligentnych Laboratorium Elektrycznych Systemów Inteligentnych Ćwiczenie 19 Analiza pracy urządzeń KNX/EIB należących do odrębnych linii magistralnych Celem ćwiczenia jest przeprowadzenie i analiza pracy urządzeń

Bardziej szczegółowo

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji. 1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

Cw.12 JAVAScript w dokumentach HTML

Cw.12 JAVAScript w dokumentach HTML Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA Joanna Patrzyk Bartłomiej Patrzyk Katarzyna Rycerz jpatrzyk@quide.eu bpatrzyk@quide.eu kzajac@agh.edu.pl

Bardziej szczegółowo

Co to jest arkusz kalkulacyjny?

Co to jest arkusz kalkulacyjny? Co to jest arkusz kalkulacyjny? Arkusz kalkulacyjny jest programem służącym do wykonywania obliczeń matematycznych. Za jego pomocą możemy również w czytelny sposób, wykonane obliczenia przedstawić w postaci

Bardziej szczegółowo

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem. WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy

Bardziej szczegółowo

Norma IEC 1131-3 definiuje podział na dwie zasadnicze grupy:

Norma IEC 1131-3 definiuje podział na dwie zasadnicze grupy: 1. Standaryzacja metod programowania sterowników PLC Na początkowym etapie rozwoju sterowników PLC każdy producent stosował własny język programowania ze specyficzną listą rozkazów. Jednak wraz z wzrostem

Bardziej szczegółowo

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. www.plcmax.pl. Wersja dokumentu P.1. Wersja dokumentu NP1.

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. www.plcmax.pl. Wersja dokumentu P.1. Wersja dokumentu NP1. F&F Filipowski sp.j. ul. Konstantynowska 79/81 95-200 Pabianice tel/fax 42-2152383, 2270971 e-mail: Hfif@fif.com.pl www.fif.com.pl Notepad++ / PuTTY Interaktywne środowisko programowania w języku ForthLogic

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

ŚRODOWISKO PC WORX JAKO WSPARCIE W NAUCE PROGRAMOWANIA STEROWNIKÓW PLC

ŚRODOWISKO PC WORX JAKO WSPARCIE W NAUCE PROGRAMOWANIA STEROWNIKÓW PLC Mgr inż. Szymon BORYS Wojskowa Akademia Techniczna DOI: 10.17814/mechanik.2015.7.213 ŚRODOWISKO PC WORX JAKO WSPARCIE W NAUCE PROGRAMOWANIA STEROWNIKÓW PLC Streszczenie: W artykule przedstawiono możliwość

Bardziej szczegółowo

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC Proces technologiczny (etap procesu produkcyjnego/przemysłowego) podstawa współczesnych systemów

Bardziej szczegółowo

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7

1. Aplikacja LOGO! App do LOGO! 8 i LOGO! 7 1. Aplikacja do LOGO! 8 i LOGO! 7 1.1. Przegląd funkcji Darmowa aplikacja umożliwia podgląd wartości parametrów procesowych modułu podstawowego LOGO! 8 i LOGO! 7 za pomocą smartfona lub tabletu przez sieć

Bardziej szczegółowo

Podstawy programowania sterowników GeFanuc

Podstawy programowania sterowników GeFanuc Podstawy programowania sterowników GeFanuc Waldemar Samociuk Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Podstawy

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 11: Procedury zaawansowane Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Ramki stosu Rekurencja INVOKE, ADDR, PROC,

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10. Projekt z przedmiotu Systemy akwizycji i przesyłania informacji Temat pracy: Licznik binarny zliczający do 10. Andrzej Kuś Aleksander Matusz Prowadzący: dr inż. Adam Stadler Układy cyfrowe przetwarzają

Bardziej szczegółowo

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik mechatronik 311[50]

Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik mechatronik 311[50] Przykłady wybranych fragmentów prac egzaminacyjnych z komentarzami Technik mechatronik 311[50] 1 2 3 4 W pracy egzaminacyjnej były oceniane następujące elementy: I. Tytuł pracy egzaminacyjnej. II. Założenia,

Bardziej szczegółowo

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje

Bardziej szczegółowo

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014 Temat 1. Algebra Boole a i bramki 1). Podać przykład dowolnego prawa lub tożsamości, które jest spełnione w algebrze Boole

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne WARUNKI WARUNKI I I ZDARZENIA ZDARZENIA Określają czy pewna zależność logiczna związana ze stanem systemu jest w danej chwili spełniona lub czy zaszło w systemie określone zdarzenie. STAN SYSTEMU: stan

Bardziej szczegółowo

Rejestratory Sił, Naprężeń.

Rejestratory Sił, Naprężeń. JAS Projektowanie Systemów Komputerowych Rejestratory Sił, Naprężeń. 2012-01-04 2 Zawartość Typy rejestratorów.... 4 Tryby pracy.... 4 Obsługa programu.... 5 Menu główne programu.... 7 Pliki.... 7 Typ

Bardziej szczegółowo

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI Arytmetyka komputera Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka Opracował: Kamil Kowalski klasa III TI Spis treści 1. Jednostki informacyjne 2. Systemy liczbowe 2.1. System

Bardziej szczegółowo

" Sterowniki programowalne f.1/1

 Sterowniki programowalne f.1/1 PLC, Programowalne sterowniki logiczne PLC, Programowalny sterownik logiczny (ang. Programmable Logic Controller) to wyspecjalizowane urządzenie mikroprocesorowe wyposażone w programowalną pamięć, sterownik

Bardziej szczegółowo