LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

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

Download "LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA"

Transkrypt

1 AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe Systemy Sterowania (PSS) Laboratorium 13: Tekst strukturalny ST: Implementacja w sterownikach B&R Kraków

2 Cel ćwiczeń laboratoryjnych 1. Zapoznanie się z podstawami programowania sterowników PLC w języku tekstu strukturalnego (ST). 2. Realizacja prostych programów napisanych w języku ST. 3. Nauka korzystania z funkcji i bloków funkcyjnych w języku tekstowym. 4. Zaznajomienie się ze sposobami konwersji typów danych. 4. Wykonanie zadania sterowania bramą garażową w oparciu o język tekstu strukturalnego, którego efektem będzie działający program wraz z wizualizacją na panelu HMI. Po ukończeniu zajęć student powinien potrafić: 1. Znać podstawy języka ST, umieć wykorzystać podstawowe instrukcje i operacje do tworzenia prostych programów realizowanych w sterowniku PLC. 2. Umieć korzystać z funkcji i bloków funkcyjnych w języku tekstowym oraz samodzielnie tworzyć swoje własne funkcje lub bloki funkcyjne. 3. Znać sposoby jawnej i niejawnej konwersji typów danych oraz umieć rozważnie stosować te metody. 4. Samodzielnie utworzyć działający program napisany w języku ST wraz z wizualizacją w środowisku Automation Studio.

3 Wstęp Tekst strukturalny (Structured Text, ST) jest językiem programowania, którego podstawowa koncepcja opiera się na elementach języka BASIC, Pascal i ANSI C. Jest językiem wysokiego poziomu przeznaczonym do programowania układów automatyki. Dzięki standardowym konstruktom, które zawiera, programowanie w nim przebiega szybko i w nieskomplikowany sposób. W ST wykorzystano wiele tradycyjnie przyjętych cech języków wysokiego poziomu, m.in. zmienne, operatory, funkcje i elementy sterowania przebiegiem programu. Tekst strukturalny (ST) wchodzi w skład standardu IEC Standard IEC jest to jedyny stosowany na całym świecie standard dla języków programowania, wykorzystywany w programowalnych sterownikach logicznych. Norma ta uwzględnia też m.in. języki logiki drabinkowej (LD), listy instrukcji (IL) i diagramu bloków funkcyjnych (FBD). Zgodnie z normą IEC program podzielono na jednostki organizacyjne oprogramowania POU (ang. Program Organization Units), wśród których wyróżniamy trzy typy: funkcje - generuje jedną wartość wyjściową, która jest jednoznacznie określona przez wartości parametrów wejściowych bloki funkcji - generują jedną lub kilka wartości wyjściowych, które zależą nie tylko od aktualnych wartości wejściowych, ale mogą też zależeć od wartości wejściowych i wyjściowych w poprzednich chwilach czasowych programy - logiczny zestaw instrukcji, elementów i konstrukcji języka programowania niezbędnych do realizacji zadania czyli może zawierać funkcje i bloki funkcji oraz inne elementy (często bliki funkcji) np. do komunikacji Funkcje edytora Edytor języka jest edytorem tekstowym uwzględniającym szeroki wachlarz funkcji uzupełniających. Polecenia i słowa kluczowe są wyróżniane kolorami. Obszary w polu edycji można rozwijać i zwijać, a dla zmiennych i konstruktów przewidziano funkcję automatycznego uzupełniania treści (SmartEdit). Rysunek 1 Funkcje edytora Edytor odznacza się następującymi funkcjami i cechami: Rozróżnianie wielkości znaków (małe i duże litery) Auto uzupełnianie (SmartEdit, <CTRL> + <SPACE>, <TAB>) Rozpoznawanie odpowiadających sobie par nawiasów Rozwijanie i zwijanie konstruktów (zarysy) Wstawianie komentarzy do bloków Rozpoznawanie adresów URL Znaczniki wierszy zmodyfikowanych

4 Podstawowe elementy języka ST w Automation Studio W tej części zostaną opisane szczegółowo podstawowe elementy ST Wyrażenia Wyrażenie jest konstruktem, który po obliczeniu zwraca określoną wartość. Wyrażenia składają się z operatorów i argumentów operacji. Argument operacji może być zmienną, stałą lub wywołaniem funkcji. Argumenty operacji łączy się za pomocą operatorów Przypisanie Rysunek 2 Przykładowe wyrażenia Przypisanie składa się ze zmiennej, przedstawionej po lewej stronie i do której przydzielony jest wynik obliczenia lub wyrażenia po prawej stronie za pomocą operatora ":=". Każde przypisanie musi kończyć się znakiem średnika, ";". Rysunek 3 Przykładowe przypisanie Wykonanie powyższego wiersza kodu powoduje, że wartość "Result" będzie dwa razy większa od wartości zmiennej "ProcessValue". Dostęp do bitów zmiennych Tworząc przypisania można także operować wyłącznie poszczególnymi bitami. W tym celu wstaw znak kropki (".") za nazwą zmiennej. Wówczas dostęp będzie możliwy według numeru bitu, poczynając od 0. Numery bitów można również zastąpić stałymi. Rysunek 4 Dostęp do drugiego bitu w "ProcessValue" Dokumentacja kodu źródłowego: Komentarze Komentarze są bardzo ważną częścią kodu źródłowego. Opisują one treść kodu, dzięki czemu jest on bardziej czytelny i zrozumiały. Dzięki komentarzom ty i inne osoby możecie zrozumieć czym jest program, nawet gdy został napisany dawno temu. Komentarze nie są kompilowane i nie wpływają w żaden sposób na wykonywanie programów. Komentarze należy bezwzględnie zamykać w nawiasach z gwiazdkami: (*treść komentarza*). Istnieje dodatkowa forma komentarzy, wprowadzana za pomocą "//". W edytorze można zaznaczyć kilka wierszy jednocześnie i dodać do nich komentarz za pomocą ikony na pasku narzędzi. Ta metoda jest rozszerzeniem wskazanej w obowiązującej normie IEC. Rysunek 5 Komentowanie bloku tekstu

5 Rysunek 6 Warianty komentarzy Kolejność operacji Istnieje wiele operatorów, a co za tym idzie, zasadniczą kwestią jest priorytet każdego z nich. Priorytet operatorów ma ogromne znaczenie dla rozwiązywania wyrażeń. Wyrażenia są rozwiązywane rozpoczynając od operatora o najwyższym priorytecie. Operatory o tym samym priorytecie są wykonywane w porządku od lewej do prawej strony wyrażenia. Rysunek 7 Priorytety operatorów Wyrażenia są rozwiązywane przez kompilator. Na poniższych przykładach przedstawiono, jak nawiasy wpływają na wynik wyrażenia. Rysunek 8 Wpływ nawiasów na wynik wyrażenia

6 Standardowe funkcje języka ST Funkcja Nazwa Typ argumentu ABS() Wartość bezwzględna SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL Typ wartości zwracanej SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL Przykład A:=ABS(IN) ACOS() Arcus cosinus REAL, LREAL REAL, LREAL A:= ACOS(IN) ASIN() Arcus sinus REAL, LREAL REAL, LREAL A:= ASIN(IN) ATAN() Arcus tangens REAL, LREAL REAL, LREAL A:= ATAN(IN) COS() Cosinus REAL, LREAL REAL, LREAL A:= COS(IN) EXP() Eksponenta REAL, LREAL REAL, LREAL A:= EXP(IN) EXPT() Funkcja wykładnicza IN1: REAL, LREAL IN2: SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL REAL, LREAL A:= EXPT(IN1, IN2) LN() Logarytm naturalny REAL, LREAL REAL, LREAL A:= LN(IN) LOG() Logarytm dziesiętny REAL, LREAL REAL, LREAL A := LOG(IN) MOD() Modulo SINT, INT, DINT, USINT, UINT, SINT, INT, DINT, USINT, UDINT UINT, UDINT A := MOD(IN1,IN2) SIN() Sinus REAL, LREAL REAL, LREAL A := SIN(IN) SQRT() Pierwiastek kwadratowy REAL, LREAL REAL, LREAL A:= SQRT(IN) TAN() Tangens REAL, LREAL REAL, LREAL A:=TAN(IN) LIMIT() BOOL, SINT, INT, DINT, USINT, BOOL, SINT, INT, DINT, Limit wartości UINT, UDINT, REAL, LREAL USINT, UINT, UDINT, MAX() MIN() MUX() SEL() Wartość maksymalna Wartość minimalna Wybór wartości Selekcja wartości BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL K: SINT, INT, DINT, USINT, UINT, UDINT INx: BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL, TIME, DATE_AND_TIME, STRING, Array, Structure G : BOOL INx: BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL, TIME, DATE_AND_TIME, STRING, Array, Structure REAL, LREAL BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL, TIME, DATE_AND_TIME, STRING, Array, Structure BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL, TIME, DATE_AND_TIME, STRING, Array, Structure A:= LIMIT (MN, IN, MX) A:=MAX(INx) A:=MIN(INx) A:= MUX (K, INx) A := SEL (G, IN0, IN1) ROL() ROR() SHL() SHR() SIZEOF() Przesunięcie bitów w lewo z obrotem Przesunięcie bitów w prawo z obrotem Przesunięcie bitów w lewo Przesunięcie bitów w prawo Rozmiar zmiennej w bajtach IN: SINT, INT, DINT, USINT, UINT, UDINT N : SINT IN: SINT, INT, DINT, USINT, UINT, UDINT N : SINT IN: SINT, INT, DINT, USINT, UINT, UDINT N : SINT IN: SINT, INT, DINT, USINT, UINT, UDINT N : SINT BOOL, SINT, INT, DINT, USINT, UINT, UDINT, REAL, LREAL, TIME, DATE_AND_TIME, STRING, Array, Structure SINT, INT, DINT, USINT, UINT, UDINT SINT, INT, DINT, USINT, UINT, UDINT SINT, INT, DINT, USINT, UINT, UDINT SINT, INT, DINT, USINT, UINT, UDINT UDINT A:= ROL (IN, N) A:= ROR (IN, N) A: = SHL (IN, N) A:= SHR (IN, N) A:= SIZEOF(IN)

7 Grupy Poleceń Niżej przedstawione grupy poleceń są podstawowymi konstruktami programowania wysokiego poziomu. Operacje na funkcjach Boole'a Argumenty operacji nie muszą zawsze mieć typu danych "BOOL". Rysunek 9 Przegląd spójników boole'owskich Matryca prawdziwości dla tych operacji przedstawia się następująco: Rysunek 10 Matryca prawdziwości dla spójników boole'owskich Operacje na funkcjach Boole'a można łączyć ze sobą w dowolny sposób. Kolejne zestawy nawiasów poprawiają czytelność programu, a także gwarantują prawidłowe rozwiązywanie wyrażenia. Jedynymi możliwymi wynikami wyrażenia są: "TRUE" (logiczne 1) lub "FALSE" (logiczne 0). Rysunek 11 Porównanie logiki drabinkowej z tekstem strukturalnym Nawiasy są tu zbędne, ponieważ "NOT" ma wyższy priorytet niż "AND". Niemniej powinno się używać nawiasów, aby program był bardziej przejrzysty.

8 Rysunek 12 Wykorzystanie operatorów logicznych do realizacji funkcji logicznych Operacje arytmetyczne Kluczową zaletą języków programowania wysokiego poziomu jest to, iż łatwo radzą sobie z operacjami arytmetycznymi. Tekst strukturalny uwzględnia podstawowe operacje arytmetyczne stosowane w aplikacjach: Rysunek 13 Przegląd operacji arytmetycznych Typ danych zmiennych i wartości zawsze ma krytyczne znaczenie dla obliczeń. Wynik obliczany jest po prawej stronie wyrażenia i dopiero następnie przydzielany do odpowiadającej mu zmiennej. Wynik zależy od przyjętych typów danych i składni (notacji). Rysunek 14 Wykonane przez kompilator, przekształcenie niejawne Wartość wynikowa "*Błąd" odpowiada następującej wiadomości o błędzie kompilatora: "Error 1140: Incompatible data types: Cannot convert REAL to INT.". Błąd ten występuje, ponieważ nie można przydzielić wyrażenia do tego typu danych.

9 Komunikaty o błędach W środowisku Automation studio o wystąpieniu błędów, ostrzeżeń lub komunikatów dowiadujemy się z okna Output Results znajdującego się po lewej stronie w dolnej części ekranu. Komunikaty pojawiają się podczas kompilacji projektu, z każdym wywołaniem procesu kompilacji bieżąca lista komunikatów jest czyszczona. Rysunek 15 Okno Output Results 1- Przyciski do filtrowania danego rodzaju komunikatów wyświetlanych w oknie. 2- Przycisk do usunięcie listy ( ), usunięcia filtrów ( ) przejście do pozycji komunikatu w kodzie ( ). 3- Pole wejściowe do wyszukiwania komunikatów. 4- Liczba komunikatów ogólnie, oraz tych zaznaczonych. Przykład 1 Napisz program do liczenia średniej z 3 liczb. Program napiszemy wykorzystując własną funkcję. Zaznaczając w zakładce Logical View ikonę naszego programu (1), w oknie toolbox po prawej stronie ukaże się nam obiekt Function/Function Block (2), który należy zaznaczyć. Rysunek 16 Dodanie funkcji do programu

10 Przeciągając ikonę Function/Function Block (3 ) do naszego programu (4), ukaże się nam okno, w którym możemy wstępnie zadeklarować naszą funkcję. Rysunek 17 Okno tworzenia funkcji/bloku funkcyjnego Należy wpisać jej nazwę (1) oraz wybrać, czy chcemy utworzyć funkcję, czy blok funkcyjny (2). W przypadku funkcji konieczne jest również zdefiniowanie typu wartości zwracanej przez funkcję (3), w naszym przypadku wartością zwracaną będzie REAL. Po wypełnieniu wymaganych pól przechodzimy do kolejnego okna(4). Jest to okno, w którym wstępnie możemy zdefiniować zmienne lokalne danego bloku funkcyjnego lub funkcji, jej parametry wejściowe, wyjściowe oraz wejściowo-wyjściowe. Aby dodać daną zmienną, naciskamy prawym przyciskiem myszy na polu ze zmiennymi i wybieramy opcję Add new parameter (1), lub naciskamy przycisk Add (2). Rysunek 18 Dodawanie parametrów bloku funkcyjnego Po naciśnięciu przycisku Finish możemy przejść do napisania kodu naszej funkcji do liczenia średniej z 3 liczb. Rysunek 19 Kod programu funkcji

11 Należy zadeklarować wcześniej 4 zmienne potrzebne do realizacji tego zadania. Rysunek 20 Deklaracja zmiennych w programie Kolejnym krokiem jest wywołanie funkcji wewnątrz programu cyklicznego. Rysunek 21 Kod programu cyklicznego zawierający wywołanie funkcji do liczenia średniej Sprawdzenie poprawności działania naszego programu jest możliwe w trybie monitoringu, nadając odpowiednie wartości zmiennym wejściowym, w zmiennej wynik obserwujemy średnią z wprowadzanych wartości. Rysunek 22 Sprawdzenie poprawności działania programu w trybie monitoringu Niejawna konwersja typu danych Za każdym razem, gdy w kodzie programu realizowane jest przydzielanie, kompilator sprawdza typy danych. Przydziały w instrukcji są wykonywane w porządku od prawej do lewej. Zmienna zatem musi mieć dość miejsca, by zachować wartość. Konwersja mniejszego typu danych w większy wykonywane jest niejawnie przez kompilator i nie wymaga od użytkownika żadnych czynności. Próba przydzielenia wartości o większym typie danych do zmiennej o mniejszym typie danych skutkuje błędem kompilatora. W takich przypadkach konieczna jest tzw. jawne konwersja typu danych. Jawna konwersja typu danych Rysunek 23 Przykłady niejawnego przekształcenia typu danych Mimo, że niejawna konwersja typu danych jest metodą prostszą w użyciu od konwersji jawnej, nie zawsze należy używać jej w pierwszej kolejności. Schludność programu wymaga prawidłowego postępowania z typami danych poprzez używanie jawnej konwersji typu danych.

12 Poniższe przykłady przedstawiają przypadki, w których konieczne jest jawne przekształcenie typu danych. W omawianym przypadku występuje ryzyko błędu przekroczenia zakresu podczas dodawania: Rysunek 24 Błąd przekroczenia zakresu może wystąpić bezpośrednio na prawo od operatora przydziału. W tym przypadku typ danych dla wyniku powinien mieć dość wolnego miejsca dla sumy z operacji dodawania. Wynikiem tego konieczny jest większy typ danych. Podczas dodawania należy przekształcić co najmniej jeden z argumentów operacji w większy typ danych. Kompilator wykonuje niejawne przekształcenie drugiego argumentu operacji. Rysunek 25 Za pomocą przekształcenia jawnego można zapobiec błędom przekroczenia zakresu. Argumenty operacji obliczane na platformach 32-bitowych są przekształcane w wartości 32 bitowe. W tym przypadku dodawanie nie skutkuje błędem przekroczenia zakresu. W środowisku Automation studio dostępnych jest wiele funkcji do konwersji danych. Aby zobaczyć pełną listę tych funkcji, należy w oknie Logical View rozwinąć folder Libraries i odnaleźć bibliotekę AslecCon, w której wnętrzu znajduje się lista dostępnych funkcji. Rysunek 26 Lista dostępnych funkcji konwersji typów danych

13 Operatory porównawcze Tekst strukturalny uwzględnia proste konstrukcje służące porównywaniu zmiennych. Zwracają one wartość "TRUE" lub "FALSE". Operatory porównawcze i operacje logiczne są zwykle używane jako warunki w instrukcjach takich, jak np. IF, ELSIF, WHILE oraz UNTIL. Decyzje Rysunek 27 Przegląd logicznych operatorów porównawczych Instrukcja "IF" jest jednym ze sposobów podejmowania decyzji w programie. Znasz już operatory porównawcze. Można ich tu użyć Rysunek 28 Składnia instrukcji "IF" Wyrażenia porównawcze można łączyć ze spójnikami boole'owskimi, umożliwiając jednoczesne testowanie wielu warunków. Rysunek 29 Używanie wielu wyrażeń porównawczych Instrukcja "IF" może uwzględniać dodatkowe zagnieżdżone instrukcje "IF". Należy pamiętać, aby nie używać zbyt wielu poziomów zagnieżdżeń, ponieważ zwykle czyni to program za mało przejrzystym. Instrukcja "CASE" - Maszyny stanu Instrukcja "CASE" porównuje zmienną krokową z wieloma wartościami. Jeżeli jedno z porównań jest zgodne, wówczas zostaną wykonane instrukcje powiązane z tym krokiem. Jeżeli żadne z porównań nie jest zgodne, wówczas zostanie wykonany kod programu pod klauzulą "ELSE", tak, jak w przypadku instrukcji "IF".

14 W zależności od konkretnej aplikacji instrukcję "CASE" można wprowadzić celem skonfigurowania tzw. maszyn stanu lub automatów. Rysunek 30 Składnia instrukcji "CASE" Co cykl programu wykonywany jest jeden krok instrukcji "CASE". Zmienna krokowa powinna mieć typ danych "liczba całkowita dodatnia" (np. USINT, UINT, UDINT). W kodzie programu należy używać stałych lub elementów typów danych wyliczeniowych, zamiast stałych wartości liczbowych. Zastąpienie wartości tekstem czyni kod programu o wiele czytelniejszym. Ponadto jeżeli wartości te trzeba zmienić w programie, to konieczna zmiana wprowadzana jest tylko w deklaracji, a nie w kodzie programu. Pętle W wielu aplikacjach konieczne jest, aby sekcje kodu były wykonywane wielokrotnie w tym samym cyklu. Ten rodzaj przetwarzania danych nazywamy pętlą. Kod w pętli jest wykonywany aż do wystąpienia określonego warunku zakończenia pętli. Pętle służą do skracania programów i nadania przejrzystości ich kodowi. Problemem w tym przypadku jest zdolność do poszerzenia funkcjonalności programu. W zależności od struktury programu może wystąpić błąd uniemożliwiający programowi wyjście z pętli dopóki nie zainterweniuje mechanizm monitorowania czasu w sterowniku. Aby uniknąć występowania nieskończonych pętli należy zawsze zadbać o możliwość przerwania pętli po określonej liczbie jej powtórzeń. Istnieją dwa podstawowe typy pętli: takie, gdzie sterowanie w pętli rozpoczyna się od góry, i takie, w którym rozpoczyna się od dołu. Pętle, w których sterowanie rozpoczyna się od góry (FOR, WHILE) sprawdzają warunek zakończenia przed wejściem w pętlę. Pętle, w których sterowanie rozpoczyna się od dołu (REPEAT) sprawdzają warunek zakończenia na końcu pętli. Pętla zawsze musi wykonać przynajmniej jeden cykl. Instrukcja "FOR" Instrukcja "FOR" służy do wykonywania sekcji programu z ograniczoną liczbą powtórzeń. Pętle "WHILE" i "REPEAT" przeznaczone są dla aplikacji, w których nie jest odgórnie znana liczba cykli. Rysunek 31 Elementy instrukcji "FOR"

15 Licznik pętli "Index" jest inicjalizowany wartością początkową "StartVal". Pętla powtarza się aż ilość jej powtórzeń osiągnie wartość zmiennej końcowej "StopVal". W tym przypadku licznik pętli przyrasta o 1, co zwane jest "BY step" (o krok). Jeżeli dla przyrostu "step" przyjmiemy wartość ujemną, wówczas pętla będzie odliczała wstecz. Typ danych licznika pętli, wartości początkowej i wartości końcowej musi być taki sam. Warunek ten można spełnić stosując jawna konwersja danych. Instrukcja "WHILE" W przeciwieństwie do instrukcji "FOR", pętle "WHILE" nie zależą od licznika pętli. Ten typ pętli jest wykonywany dopóty, dopóki warunek lub wyrażenie ma wartość "TRUE". Pętla powinna mieć określony koniec, aby podczas wykonywania programu nie wystąpiło przekroczenie czasu cyklu. Rysunek 32 Elementy instrukcji "WHILE Wykonanie instrukcji powtarza się dopóty, dopóki warunek ma wartość "TRUE". Jeżeli warunek zwraca wartość "FALSE" podczas pierwszej jego oceny, wówczas instrukcja nie zostanie wykonana w ogóle. Przykład 2 Korzystając z pętli WHILE wygenerujmy wykres funkcji sinus. Dodając zmienną do projektu, konieczne jest zdefiniowanie jej typu, rozwijając listę dostępnych typów (1), wybieramy typ danej wyjściowe REAL (2). W Automation Studio możemy deklarować zmienne jako tablice, w polu Array index range: (3) wpisujemy ilość elementów tablicy danego typu, którą chcemy utworzyć. Rysunek 33 Tworzenie zmiennej tablicowej.

16 Naciskając przycisk OK. (4) tworzona jest zmienna tablicowa o zadanej liczbie elementów, które numerowane są od indeksu 0. Rysunek 34 Utworzona zmienna tablicowa Wykorzystując pętle WHILE, wpiszemy do tablicy pełny okres funkcji sinus. Rysunek 35 Zapis funkcji sinus do tablicy Wykres przedstawiający zawartość tablicy prezentuje się następująco: Instrukcja "REPEAT" Rysunek 36 Wykres funkcji sinus Pętla "REPEAT" różni się od pętli "WHILE" tym, że warunek zakończenia sprawdzany jest dopiero po wykonaniu pętli. Oznacza to, że pętla zostanie wykonana co najmniej raz bez względu na warunek zakończenia. Rysunek 37 Elementy instrukcji "REPEAT Wykonanie instrukcji powtarza się dopóki warunek "UNTIL" nie osiągnie wartości "TRUE". Jeżeli warunek "UNTIL" jest prawdziwy od samego początku, to instrukcje zostaną wykonane jeden raz. Jeżeli warunek "UNTIL" nigdy nie przyjmuje wartości "TRUE", to instrukcje są powtarzane bez końca, skutkując błędem czasu wykonania programu.

17 Instrukcja "EXIT" Instrukcja "EXIT" może być używana w każdym typie pętli przed spełnieniem warunku zakończenia. Po wykonaniu instrukcji "EXIT" pętla zostanie zakończona. Rysunek 38 Elementy instrukcji "EXIT Po wykonaniu instrukcji "EXIT" pętla zostanie zakończona bez względu na to, czy osiągnięto warunek zakończenia, czy też wartość końcową pętli. W przypadku pętli zagnieżdżonych kończone są wyłącznie pętle zawierające instrukcję "EXIT". Funkcje, bloki funkcyjne i akcje Funkcje i bloki funkcyjne rozszerzają funkcjonalność języka programowania. Akcje służą do nadania skuteczniejszej struktury programom. Funkcje i bloki funkcyjne można wstawiać za pomocą paska narzędzi. Rysunek 39 Wstawianie funkcji i bloków funkcyjnych z paska narzędzi Wywoływanie funkcji i bloków funkcyjnych Funkcje są podprogramami, które po wywołaniu zwracają określoną wartość. Funkcję można wywołać m.in. za pomocą wyrażenia. Argumenty funkcji (parametry wejściowe), są wartościami przekazywanymi do funkcji. Są one oddzielane przecinkami. Rysunek 40 Wywoływanie funkcji z jednym argumentem Bloki funkcyjne Blok funkcyjny wyróżnia się tym, że może przyjąć kilka argumentów i zwracać wiele wyników. W przeciwieństwie do funkcji należy zadeklarować zmienną wystąpienia, której typ danych jest taki sam jak bloku funkcyjnego. Zaletą bloku funkcyjnego jest to, że może on obsługiwać zadania złożone, obliczając wynik w ciągu kilku cykli.

18 Za pomocą różnych instancji można wywołać kilka bloków funkcyjnych tego samego typu, z różnymi argumentami. Rysunek 41 Argumenty (kolor zielony) i wyniki (kolor czerwony) dla bloku funkcyjnego "TON()" Wywołując blok funkcyjny można przekazać wszystkie argumenty lub tylko niektóre z nich. Parametry wejściowe (argumenty) i wyniki są dostępne w kodzie programu za pomocą elementów instancji bloku funkcyjnego. Rysunek 42 Wykorzystanie bloku funkcyjnego "TON()" W wariancie 1. wywołania wszystkie parametry są bezpośrednio przekazywane w chwili wywołania bloku funkcyjnego. W wariancie 2. wywołania parametry są przydzielane elementom zmiennej wystąpienia. W obu przypadkach żądany wynik musi zostać odczytany ze zmiennej wystąpienia po wystąpieniu wywołania. Należy pamiętać, że aby korzystać z danego bloku funkcyjnego konieczne jest dodanie odpowiedniej biblioteki w środowisku Automation Studio, zawierającej dany zestaw bloków. Wywołanie akcji Akcja jest kodem programu który można dodawać do programów i bibliotek. Akcje to kolejny element umożliwiający strukturyzację programów, a ponadto można je pisać w językach programowania innych niż język programu je wywołującego. Akcje są identyfikowane poprzez swoje nazwy. Wywoływanie akcji przebiega bardzo podobnie do wywoływania funkcji. Jedyną różnicą jest brak parametrów wejściowych (argumentów), oraz fakt, że akcja nie zwraca żadnej wartości. Jeżeli przyjmiemy instrukcję "CASE" do sterowania złożoną sekwencją działań, to treści poszczególnych kroków "CASE" można przenieść do akcji. Pozwala to zminimalizować

19 wielkość programu. Jeżeli taka możliwość jest potrzebna w innej części programu, wystarczy ponownie przywołać omawianą akcję. Rysunek 43 Wywoływanie akcji w programie głównym Zadanie do samodzielnego wykonania: Sterowanie napędem bramy garażowej Tematem projektu jest zaprogramowanie układu sterowania uchylnych drzwi garażowych. Mechanizm napędzany jest silnikiem komutatorowych prądu stałego 24 V. Drzwi są wyposażone w dwa czujniki krańcowe zamknięcia i otwarcia typu NC (Normal Close), oraz czujnik optyczny refleksyjny wykrywający pojawienie się przeszkody w trakcie zamykania bramy. Zmianę kierunku ruchu drzwi uzyskuje się poprzez zmianę biegunowości napięcia zasilającego silnik. Schemat obwodu zasilania silnika ze zmianą biegunowości przedstawiony jest poniżej. Drzwi mają być zamykane i otwierane za pośrednictwem dwukanałowego pilota radiowego z odbiornikiem. Wyjściem centralki radiowej są dwa styki zwierne NO (Normal Open), które zamykają się w chwili naciśnięcia odpowiedniego przycisku. Rysunek 44 Widok bramy garażowej

20 Sterownik PLC powinien realizować następującą sekwencję ruchu drzwi: Naciśnięcie na pilocie przycisku otwarcia (S1) powinno spowodować całkowite otwarcie bramy natomiast naciśnięcie przycisku (S2) jej zamknięcie. Po naciśnięciu przycisków S1 lub S2 załączony zostaje silnik elektryczny poprzez styczniki K1 lub K2 zależnie od kierunku ruchu bramy (K1 otwiera bramę, natomiast K2 ją zamyka) Wyłączenie napędu drzwi następuje po osiągnięciu przez nie punktów krańcowych, sygnalizowanych przez wyłączniki krańcowe otwarcia (S4) i zamknięcia (S3). W celu ochrony przed uszkodzeniem wjeżdżającego samochodu, zamknięcie bramy może być zrealizowane dopiero po 10 sekundach od momentu zadziałania górnej krańcówki. Czujnik optyczny (B1) wykrywa pojawiającą się przeszkodę w trakcie zamykania bramy, wymuszając jej otwarcie. W przypadku zadziałania czujnika B1 następuje blokada napędu bramy, odblokowanie następuje dopiero po trzykrotnej aktywacji krańcówki dolnej S3. W przypadku, gdy użytkownik zapomni zamknąć drzwi garażu, po upływie 10 minut od otwarcia drzwi układ automatycznie zamyka drzwi (dla celów symulacji czas ten można zredukować do np. 30 sekund). Układ sterujący nie powinien reagować na naciśnięcie pilota podczas ruchu drzwi. Rysunek 45 Schemat obwodu zasilania silnika sterującego ruchem bramy garażowej Celem ćwiczenia jest napisanie działającego programu sterującego bramą garażową w języku tekstu strukturalnego ST.

21 W tym celu należy zadeklarować odpowiednie zmienne potrzebne do prawidłowej pracy układu. Rysunek 46 Deklaracja zmiennych w programie Automation Studio Na stanowisku laboratoryjnym występuje tylko 1 przycisk NC, jednak w środowisku Automation Studio możliwe jest podczas mapowania wejść/wyjść odwrócenie działania danej zmiennej zaznaczając opcję INVERSE. Wykorzystamy tę opcję w przykładzie poniżej, gdzie przedstawiono przykładowy sposób powiązania zmiennych z fizycznymi elementami na stanowisku. Rysunek 47 Mapowanie cyfrowych wejść Wejścia cyfrowe 3 i 4 zostały również odwrócone, ponieważ zgodnie z treścią zadania wyłączniki krańcowe są normalnie zamknięte, natomiast wejście cyfrowe 2 zostało odwrócone, aby występujący na stanowisku przycisk NC pełnił rolę przycisku NO. Rysunek 48 Mapowanie cyfrowych wyjść Zadanie można wykonać korzystając m.in. z instrukcji CASE tworząc maszynę stanów dla naszego systemu. Aby napisany program był czytelniejszy, można wartości występujące w instrukcji CASE zastąpić stałymi zdefiniowanymi i nazwanymi przez użytkownika. Deklaracja zmiennych może wyglądać następująco: Rysunek 49 Deklaracja zmiennych maszyny stanu

22 Poniżej przedstawiony jest kod programu w języku ST, realizujący funkcje otwierania bramy. Ćwiczenie 1 Rysunek 50 Program realizujący funkcje otwierania bramy Napisz program realizujący przedstawione zadanie. Do tego celu możesz posłużyć się podanym wyżej przykładem, uzupełniając go o niezbędne elementy lub stworzyć własny program, którego działanie będzie pokrywało się z treścią zadania. Ćwiczenie 2 Utwórz w środowisku Automation Studio wizualizację przedstawiającą działanie układu sterowania bramą garażową. Przetestuj jej działanie na panelu HMI dostępnym na stanowisku Aby stworzyć wizualizację ruchu samej bramy garażowej, można wykorzystać grupę bitmap, której grafiki będą reprezentowały pojedynczy stan bramy. Należy pamiętać, że konieczne jest wtedy użycie zmiennej STAN, w zależności od wartości tej zmiennej na ekranie HMI będzie wyświetlana inna grafika. Istnieje również możliwość zasymulowania ruchu bramy, wykorzystując element bargraph. W ustawieniach elementu, wystarczy określić ruch słupka ku dołowi, należy również stworzyć zmienną, której wartość będzie inkrementowana w trakcie opuszczania bramy oraz dekrementowana przy jej podnoszeniu. Rysunek 51 Ustawienia elementu bargraph

23 Przykładowy widok wizualizacji układu sterowania bramą garażową. Rysunek 52 Przykładowa wizualizacja bramy garażowej Skalowanie i normalizacja Do przetwarzania zakresów zmiennych używane są przeważnie dwie operacje: Normalizacja oraz skalowanie, w praktyce występują one zawsze razem. Pierwsza z nich normalizuje parametr VALUE wewnątrz zakresu wartości wyspecyfikowanych przez parametry MIN i MAX. Druga operacja skaluje znormalizowany parametr VALUE(0.0 <= VALUE <= 1.0) do typu danej i zakresu wartości wyspecyfikowanych przez parametry MIN i MAX. Blok funkcyjny wykonujący operację skalowania i normalizacji można wykonać samemu w kilku linijkach kodu. Należy utworzyć nowy blok funkcyjny i dodać go do programu. Potrzebne będą zmienne wejściowe zawierające wartości minimalne i maksymalne wartości wejściowej jak i wielkości skalowanej oraz sama zmienna skalowana. Ponieważ zmienna przechowująca wartość z wejścia analogowego jest typu INT, należy wejście zadeklarować w tym typie. Wyjściem bloku funkcyjnego będzie zmienna skalowana, która zależnie od potrzeb może być różnego typu. Można również dodać zmienną lokalną w programie przechowującą wartość wielkości znormalizowanej, zmienna ta może być np. typu REAL. Przykładowa deklaracja zmiennych bloku funkcyjnego do skalowania wielkości analogowej. Rysunek 53 Deklaracja zmiennych lokalnych bloku funkcyjnego

24 Rysunek 54 Przykładowy kod programu w języku ST do skalowania wielkości wejściowej. Ćwiczenie 3 Dodaj do projektu zmienną, której zadaniem będzie przełączanie trybu między automatycznym a ręcznym. Zmienna ta nie musi być powiązana z fizycznym wejściem sterownika, wystarczy utworzyć ją w wizualizacji. W trybie automatycznym zachowana będzie funkcjonalność układu zgodna z treścią zadania, natomiast w trybie ręcznym należy wykorzystać znajdujący się na stanowisku potencjometr, do ręcznego sterowania położeniem bramy. Aby zrealizować to ćwiczenie, konieczne jest zadeklarowanie w programie nowej zmiennej typu INT, która będzie przechowywała wartość z wejścia analogowego. Zmienną tą należy przeskalować do wartości zadeklarowanych w bargraph ie a następnie przypisać jej wartość do zmiennej Poziom, której wartość prezentuje bargraph.

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe

Bardziej szczegółowo

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe

Bardziej szczegółowo

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

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

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe

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

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

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

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

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

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

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

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

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

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe

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

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

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe

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

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

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe

Bardziej szczegółowo

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA AKADEMIA GÓRNICZO- HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA Wydział Inżynierii Mechanicznej i Robotyki Katedra Automatyzacji Procesów Przedmiot: Przemysłowe

Bardziej szczegółowo

Ćwiczenie 9 Podstawy programowania PLC w języku ST

Ćwiczenie 9 Podstawy programowania PLC w języku ST Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania Automatyzacja i Nadzorowanie Maszyn Zajęcia laboratoryjne Ćwiczenie 9 Podstawy programowania PLC w języku ST 24.04.2018 Poznań 2017 OGÓLNE ZASADY

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

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

Ćwiczenie 9 Podstawy programowania PLC w języku ST

Ćwiczenie 9 Podstawy programowania PLC w języku ST Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania Automatyzacja i Nadzorowanie Maszyn Zajęcia laboratoryjne Ćwiczenie 9 Podstawy programowania PLC w języku ST Poznań 2017 OGÓLNE ZASADY BEZPIECZEŃSTWA

Bardziej szczegółowo

Zapis algorytmów: schematy blokowe i pseudokod 1

Zapis algorytmów: schematy blokowe i pseudokod 1 Zapis algorytmów: schematy blokowe i pseudokod 1 Przed przystąpieniem do napisania kodu programu należy ten program najpierw zaprojektować. Projekt tworzącego go algorytmu może być zapisany w formie schematu

Bardziej szczegółowo

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

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem

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

Ć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

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

Bardziej szczegółowo

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

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

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

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

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

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

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

LibreOffice Calc VBA

LibreOffice Calc VBA LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć

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

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 4 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Instrukcje pętli Pętle służą do iteracyjnego wykonywania pewnych kroków Zazwyczaj

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

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS Program szkoleniowy Microsoft Excel VBA Poziom Podstawowy 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS 1. Nagrywanie makr Procedura nagrywania makra Nadanie odpowiedniej nazwy Przypisanie

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.2.

Języki programowania wysokiego poziomu. PHP cz.2. Języki programowania wysokiego poziomu PHP cz.2. Instrukcje strukturalne PHP Instrukcje strukturalne Instrukcja grupująca (blok instrukcji) Instrukcja warunkowa, if-else Instrukcja wyboru, switch-case

Bardziej szczegółowo

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

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;

Bardziej szczegółowo

Konstrukcje warunkowe Pętle

Konstrukcje warunkowe Pętle * Konstrukcje warunkowe Pętle *Instrukcja if sposób na sprawdzanie warunków *Konstrukcja: if(warunek) else { instrukcje gdy warunek spełniony} {instrukcje gdy warunek NIE spełniony} * 1. Wylicz całkowity

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

ECDL Podstawy programowania Sylabus - wersja 1.0

ECDL Podstawy programowania Sylabus - wersja 1.0 ECDL Podstawy programowania Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu Podstawy programowania. Sylabus opisuje, poprzez efekty uczenia się, zakres wiedzy

Bardziej szczegółowo

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

Instrukcja obsługi Konfigurator MLAN-1000

Instrukcja obsługi Konfigurator MLAN-1000 Instrukcja obsługi Konfigurator MLAN-1000 Strona 2 z 8 SPIS TREŚCI 1. Logowanie... 3 2. Diagnostyka... 4 3. Konfiguracja sterownika... 5 3.1 Konfiguracja sterownika aktualizacja oprogramowania... 5 4.

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

Informatyka II. Laboratorium Aplikacja okienkowa

Informatyka II. Laboratorium Aplikacja okienkowa Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.

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

Komentarz technik mechatronik 311[50]-01 Czerwiec 2009

Komentarz technik mechatronik 311[50]-01 Czerwiec 2009 Strona 1 z 18 Strona 2 z 18 Strona 3 z 18 Strona 4 z 18 Strona 5 z 18 Strona 6 z 18 Strona 7 z 18 Zadanie egzaminacyjne w zawodzie technik mechatronik polegało na opracowaniu projektu realizacji prac związanych

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

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

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

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1 Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem

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

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał

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

Programowanie - instrukcje sterujące

Programowanie - instrukcje sterujące Instytut Informatyki Uniwersytetu Śląskiego Laborki środowisko NetBeans, tworzenie nowego projektu; okno projekty; główne okno programu; package - budowanie paczek z klas; public class JavaApplication

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 1 WPROWADZENIE DO PROGRAMU KOMPUTEROWEGO MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR 1 Wprowadzenie do programu komputerowego Matlab 1.1.

Bardziej szczegółowo

UMOWY INSTRUKCJA STANOWISKOWA

UMOWY INSTRUKCJA STANOWISKOWA UMOWY INSTRUKCJA STANOWISKOWA Klawisze skrótów: F7 wywołanie zapytania (% - zastępuje wiele znaków _ - zastępuje jeden znak F8 wyszukanie według podanych kryteriów (system rozróżnia małe i wielkie litery)

Bardziej szczegółowo

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

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE Klawisze skrótów: F7 wywołanie zapytania (% - zastępuje wiele znaków _ - zastępuje jeden znak F8 wyszukanie według podanych kryteriów (system rozróżnia małe i wielkie litery) F9 wywołanie

Bardziej szczegółowo

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2010

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE CZERWIEC 2010 Zawód: technik mechatronik Symbol cyfrowy zawodu: 311[50] Numer zadania: 6 Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu 311[50]-06-102 Czas trwania egzaminu: 240 minut ARKUSZ

Bardziej szczegółowo

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 1 WPROWADZENIE DO PROGRAMU KOMPUTEROWEGO MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR 1 Wprowadzenie do programu komputerowego Matlab 1.1.

Bardziej szczegółowo

Materiały dodatkowe. Simulink PLC Coder

Materiały dodatkowe. Simulink PLC Coder Katedra Inżynierii Systemów Sterowania Materiały dodatkowe Simulink PLC Coder Opracowali: mgr inż. Tomasz Karla Data: Listopad, 2016 r. Dodatkowe informacje Materiały dodatkowe mają charakter ogólny i

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych

Bardziej szczegółowo

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada Spis treści 1 Wprowadzenie 1 2 Dane i kod 2 3 Wyrażenia 2 3.1 Operacje arytmetyczne i logiczne.................. 2 3.2 Podstawowe

Bardziej szczegółowo

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych 1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje

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

Każde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli.

Każde wykonanie bloku instrukcji nazywamy pojedynczym przebiegiem lub iteracją pętli. Część XIII C++ Czym jest pętla? Pętla jest blokiem instrukcji, które wykonywane są w kółko (czyli po wykonaniu ostatniej instrukcji z bloku komputer wykonuje ponownie pierwszą instrukcję, później drugą

Bardziej szczegółowo

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Podstawy programowania Ćwiczenie Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio Tematy ćwiczenia algorytm, opis języka programowania praca ze środowiskiem, formularz, obiekty

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym Zależności i kontrola danych budżetowych w systemie Sz@rk FK 1. Wstęp Począwszy od wersji Sz@rk FK 2011 (11.03.30) wprowadzono do programu finansowoksięgowego nowe możliwości dotyczące kontrolowania poprawności

Bardziej szczegółowo

Technologie informacyjne - wykład 12 -

Technologie informacyjne - wykład 12 - Zakład Fizyki Budowli i Komputerowych Metod Projektowania Instytut Budownictwa Wydział Budownictwa Lądowego i Wodnego Politechnika Wrocławska Technologie informacyjne - wykład 12 - Prowadzący: Dmochowski

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

Fragment tekstu zakończony twardym enterem, traktowany przez edytor tekstu jako jedna nierozerwalna całość.

Fragment tekstu zakończony twardym enterem, traktowany przez edytor tekstu jako jedna nierozerwalna całość. Formatowanie akapitu Fragment tekstu zakończony twardym enterem, traktowany przez edytor tekstu jako jedna nierozerwalna całość. Przy formatowaniu znaków obowiązywała zasada, że zawsze przez rozpoczęciem

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

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo

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

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty

Bardziej szczegółowo

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

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

I. Program II. Opis głównych funkcji programu... 19

I. Program II. Opis głównych funkcji programu... 19 07-12-18 Spis treści I. Program... 1 1 Panel główny... 1 2 Edycja szablonu filtrów... 3 A) Zakładka Ogólne... 4 B) Zakładka Grupy filtrów... 5 C) Zakładka Kolumny... 17 D) Zakładka Sortowanie... 18 II.

Bardziej szczegółowo

Podstawy programowania w języku C i C++

Podstawy programowania w języku C i C++ Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Wstęp do informatyki- wykład 7

Wstęp do informatyki- wykład 7 1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

Typy, klasy typów, składnie w funkcji

Typy, klasy typów, składnie w funkcji Typy, klasy typów, składnie w funkcji Typy w Haskell Każde wyrażenie w Haskell posiada zdefiniowany typ. Dzięki temu już na etapie kompilacji kodu następuje sprawdzenie poprawności kodu i zabezpiecza nas

Bardziej szczegółowo

Pętle. Dodał Administrator niedziela, 14 marzec :27

Pętle. Dodał Administrator niedziela, 14 marzec :27 Pętlami nazywamy konstrukcje języka, które pozwalają na wielokrotne wykonywanie powtarzających się instrukcji. Przykładowo, jeśli trzeba 10 razy wyświetlić na ekranie pewien napis, to można wykorzystać

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

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0 MathScript i Formula Nodes (MathScript and Formula Nodes) Formula Node w oprogramowaniu LabVIEW jest wygodnym, tekstowym węzłem, który można użyć do wykonywania skomplikowanych operacji matematycznych

Bardziej szczegółowo

Ćwiczenie 10 Wizualizacja

Ćwiczenie 10 Wizualizacja Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania Automatyzacja i Nadzorowanie Maszyn Zajęcia laboratoryjne Ćwiczenie 10 Wizualizacja 24.04.2018 Poznań 2017 OGÓLNE ZASADY BEZPIECZEŃSTWA PODCZAS

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

Warsztaty dla nauczycieli

Warsztaty dla nauczycieli WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne

Bardziej szczegółowo