Sterowniki Programowalne (SP) Wykład #8 ęzyk programowania PLC (Structured Text - ST)

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

Sterowniki Programowalne (SP) Wykład #7 Język programowania PLC (Instruction List - IL)

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

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Sterowniki Programowalne (SP)

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

Opracował: Jan Front

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

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

Podstawy programowania w języku C

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

Sterowniki Programowalne (SP)

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

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

Sterowniki Programowalne (SP) Wykład 11

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

Tworzenie prostego programu w językach ST i LD

Systemy Czasu Rzeczywistego (SCR)

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

Wstęp do programowania

Sterowniki Programowalne (SP) - Wykład #1 Wykład organizacyjny

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

Sterowniki Programowalne (SP) Wykład 13

Sterowniki Programowalne (SP) - Wykład #1 Wykład organizacyjny

Język FBD w systemie Concept

CoDeSys 3 programowanie w języku drabinkowym LD

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

Mikrokontroler ATmega32. Język symboliczny

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

Język ludzki kod maszynowy

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

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

1 Podstawy c++ w pigułce.

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

Katedra Systemów Cyfrowego Przetwarzania Sygnałów

Algorytmika i Programowanie VBA 1 - podstawy

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

Sterowniki PLC. Elektrotechnika II stopień Ogólno akademicki. przedmiot kierunkowy. Obieralny. Polski. semestr 1

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU. Sieci i sterowniki przemysłowe

Czym jest IEC ?

Język programowania PASCAL

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

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

Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

E-E-A-1008-s6. Sterowniki PLC. Elektrotechnika I stopień Ogólno akademicki. kierunkowy (podstawowy / kierunkowy / inny HES)

1 Podstawy c++ w pigułce.

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

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

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

Sterowniki Programowalne (SP)

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

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Sterowniki programowalne Programmable Controllers. Energetyka I stopień Ogólnoakademicki. przedmiot kierunkowy

Logika Temporalna i Automaty Czasowe

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

E-4EZA1-10-s7. Sterowniki PLC

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

Sterowniki Programowalne (SP) Automatyka i Robotyka Wydział Elektrotechniki i Automatyki Politechnika Gdańska

Sterowniki Programowalne (SP) Wykład #4

MiAcz2. Programowalne systemy przemysłowe automatyki PLC

Przeciążanie operatorów

Odczyt danych z klawiatury Operatory w Javie

Notatka Aplikacyjna NA 03006PL Maj 2016

SCL TIA SIEMENS SIMATIC S7 1200/1500

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Podstawy Programowania C++

" Sterowniki programowalne f.1/1

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

2 Przygotował: mgr inż. Maciej Lasota

Języki skryptowe w programie Plans

Zmienne, stałe i operatory

Pascal - wprowadzenie

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

CoDeSys 3 programowanie w języku FBD

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wykład z Technologii Informacyjnych. Piotr Mika

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

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

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

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

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

Politechnika Gdańska. Gdańsk, 2016

Sterowniki programowalne

Komunikacja między sterownikami przez protokół ADS

zmienne stanowią abstrakcję komórek pamięci: programista może przechowywać dane w pamięci, nie martwiąc się o techniczne szczegóły (np.

Algorytmy i struktury danych. wykład 1

Podstawy programowania w języku C i C++

Wykład 2 Składnia języka C# (cz. 1)

Python wstęp do programowania dla użytkowników WCSS

Logika Temporalna i Automaty Czasowe

Języki i metodyka programowania. Wprowadzenie do języka C

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

C++ wprowadzanie zmiennych

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

( wykł. dr Marek Piasecki )

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

Transkrypt:

Sterowniki Programowalne (SP) Wykład #8 ęzyk programowania PLC (Structured Text - ST) WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Jarosław Tarnawski październik 2016

Zawartość wykładu Norma IEC 61131 i rodzaje języków programowania Języki niskopoziomowe i wysokopoziomowe Czy w każdym PLC/PAC jest dostępny każdy język programowania? Typy danych, zmienne, funkcje, bloki funkcyjne, programy Wyrażenia, operandy, operatory Analogie LD i ST w styki/przekaźniki Wywołanie bloku ST z programu głównego w LD Deklarowanie zmiennych w PACs Dostępne funkcje i bloki funkcyjne języka ST w PACs Przykładowe programy: Regulator dwustanowy w ST; Sortowanie bąbelkowe w ST; Całkowanie, różniczkowanie, modelowanie ob. dynamicznych w ST Operacje na macierzach Wady i zalety języka ST Bibliografia

Norma IEC 61131 Norma IEC61131 - Programmable Logic Controllers składa się z 5 części: W trzeciej części IEC61131-3 zdefiniowano języki programowania PLC. Dzięki definicji i ujednoliconemu sposobowi programowania użytkownicy mogą oczekiwać bardzo podobnego sposobu programowania PLC różnych producentów. Określono model programowy, model komunikacyjny, typy i struktury danych. Zawartość normy: 1. Informacje ogólne (General Information) 2. Sprzęt i wymagania testowe (Equipment and Test Requirements) 3. Języki programowania (Programing Languages) 4. Wytyczne użytkownika (User Guidelines) 5. Wymiana informacji (Messaging Service)

Norma IEC 61131 Norma IEC61131 - Programmable Logic Controllers definiuje następujące języki programowania: Języki graficzne: 1. Język drabinkowy (Ladder Diagram LD) 2. Język bloków funkcyjnych (Function Block Diagram - FBD) Języki tekstowe: 3. Lista instrukcji (Instruction List IL) 4. Tekst strukturalny (Structured Text - ST) 5. Język grafów strukturalnych (Sequential Function Chart - SFC) Niektórzy producenci dostarczają moduł programowania w języku C, ale nie jest on zdefiniowany w normie!

Języki tekstowe programowania PLC Cechy Instruction List IL Język niskopoziomowy Podobny do: Assembler Cechy: Mnemoniki, Akumulator, Stos Typowe Rozkazy: LD wartosc GT 10 JMPC skok1 LD adres1 ST wynik skok1: LD adres2 ST wynik JMP etykieta etykieta: Structured Text ST Język wysokopoziomowy Podobny do: Pascal, C, Basic Cechy: Operator podstawienia := Koniec wiersza ; Kontrola typów danych 0.0 <> 0 Typowe Rozkazy: If..then..else..end_if; Case..of..end_case For..to..do..end_for; While..do..end_while; Repeat..until..end_repeat

Języki programowania dostępne w PLC/PAC GE Fanuc 90-30 PACs SoftPLC (Proficy ME) LD IL C LD FBD ST C LD IL ST FDB SFC LD Ladder Diagram język drabinkowy FDB Function Block Diagram schematy bloków funkcyjnych IL Instruction List lista instrukcji ST Structured Text język strukturalny SFC Sequential Function Chart graf sekwencji C język C

Typy danych podstawowe norma IEC 61131 Nr Nazwa typu Typ Ile bitów do zapisu Zakres 1 BOOL Boolean liczba binarna 1 0, 1; TRUE, FALSE 2 SINT Short integer liczba całkowita krótka 8-128 127 3 INT Integer liczba całkowita 16-32768 32767 4 DINT Double integer liczba całkowita podwójnej długości 32 5 LINT Long integer liczba całkowita poczwórnej długości 64 6 USINT Unsigned short integer - liczba całkowita krótka bez znaku 8 0 255 7 UINT Unsigned integer - liczba całkowita bez znaku 16 0 65535 8 UDINT Unsigned double integer liczba całkowita podwójnej długości bez znaku 9 ULINT Unsigned long integer liczba całkowita poczwórnej długości bez znaku 32 64 10 REAL Real numbers liczba rzeczywista 32 11 LREAL Long reals liczba rzeczywista podwójnej długości 64 12 TIME Duration 13 DATE Date (only) 14 TIME_OF_DAY Time of day (only) 15 DATE_AND_TIME Date and time of Day 16 STRING Variable-length single-byte character string 8 17 BYTE Bit string of length 8 8 18 WORD Bit string of length 16 16 19 DWORD Bit string of length 32 32 20 LWORD Bit string of length 64 64 21 WSTRING Variable-length double-byte character string 16/znak

Typy danych GE Fanuc PACs

Typy danych Siemens

Typy pochodne (Derived types) Bazując na typach podstawowych możemy zbudować własne typy danych korzystając z konstrukcji TYPE END_TYPE z wykorzystaniem mechanizmu: 1. Bezpośredniego skorzystania z typu bazowego 2. Wymienienia wszystkich składowych typu 3. Zawężenia zakresu bazowego typu 4. Zbudowanie struktury złożonej z kilku typów 5. Zbudowania tablicy 1 TYPE MOJ_REAL : REAL; END_TYPE 2 TYPE SWIATLA : (ZIELONE, ZOLTE, CZERWONE); END_TYPE 3 TYPE PODZAKRES_INT : INT (-32000..32000); END_TYPE 4 TYPE TABLICA : ARRAY [1..5] OF PODZAKRES_INT; END_TYPE 5 TYPE ZMIENNA: STRUCT ADRES : INT; WARTOSC: REAL; END_STRUCT END_TYPE

Deklaracje zmiennych VAR..END_VAR Zmienne umożliwiają identyfikowanie obiektów, których zawartość może się zmieniać/może być modyfikowana np. stan wejść, wyjść lub pamięci PLC. Zmienne mogą być zadeklarowane dla typów podstawowych BOOL, INT, REAL etc. oraz typów pochodnych zbudowanych przez użytkownika. Tzw. wspólne elementy dotyczące zmiennych VAR...END_VAR VAR_INPUT...END_VAR VAR_OUTPUT...END_VAR VAR_IN_OUT...END_VAR VAR_EXTERNAL...END_VAR VAR_TEMP...END_VAR VAR_ACCESS...END_VAR zmienne dostępne z modelu komunikacji: IEC 61131-5. VAR_GLOBAL...END_VAR VAR_CONFIG...END_VAR

Deklaracje zmiennych nr Prefix Znaczenie Domyślny typ 1 I Wejście 2 Q Wyjście 3 M Pamięć 4 X Pojedynczy bit BOOL 5 Brak Pojedynczy bit BOOL 6 B Bajt (8 bitów) BYTE 7 W Słowo (16 bitów) WORD 8 D Podwójne słowo (32 bity) DWORD 9 L Poczwórne słowo (64 bity) LWORD 10 Użycie * oznacza brak określonego położenia Przykładowo: %Q1 lub %QX1 oznacza pierwszy bit pamięci związanej z wyjściami PLC %MD12 oznacza zmienną typu double word w pamięci PLC

Deklaracje zmiennych Zmienną symboliczną o dowolnej nazwie możemy powiązać z adresem fizycznym za pomocą słowa kluczowego AT. Jeżeli to słowo nie występuje zostanie zarezerwowana pamięć w PLC dla tej zmiennej. Przykłady VAR Przycisk AT %I1 : BOOL; Lampa AT %Q2 : BOOL; Indeks AT %MW3 : INT; END_VAR

Jednostki organizacji programu Logika w PLC zorganizowana jest w trzech jednostkach 1. Funkcjach 2. Blokach funkcyjnych 3. Programach Deklaracje z tzw. wspólnych elementów FUNCTION... END_FUNCTION FUNCTION_BLOCK...END_FUNCTION_BLOCK PROGRAM...END_PROGRAM

Funkcje Funkcja to jednostka organizacyjna programu, która w wyniku wykonania dostarcza dokładnie jeden element nazywany wyjściem funkcji i opcjonalnie dodatkowe wyjścia (zdefiniowane w sekcjach VAR_OUTPUT i VAR_IN_OUT). Wyjściem funkcji może być tablica lub struktura. Wywołanie funkcji może być operandem w wyrażeniu. Funkcje nie powinny mieć żadnego stanu a ich wyjścia (VAR_OUTPUT i VAR_IN_OUT) powinny być takie same dla takiego samego zestawu wejść (VAR_IN i VAR_IN_OUT). Wywołania funkcji mogą być formalne lub nieformalne Formalne wywołanie funkcji. Takie wywołanie funkcji umożliwia przypisanie zmiennych, dowolną kolejność argumentów i dowolną liczbę zmiennych. A := NAZWA_FUNKCJI(EN:=WARUNEK_WE, WE1:=ZMIENNA_B, WE2 := 5.4, ENO => ZM_TEMP) Nieformalne wywołanie funkcji. Takie wywołanie funkcji nie umożliwia przypisania zmiennych, wymaga zdefiniowanej kolejności i stałej liczby argumentów. A := NAZWA_FUNKCJI(1, ZMIENNA_B, 5.4)

Funkcje Zmienne EN, ENO służą do kontrolowania wykonania funkcji lub sygnalizowania poprawności wykonania. Jeśli EN = 0 treść funkcji nie jest wykonywana a ENO jest ustawione na 0. Jeśli EN = 1 treść funkcji jest wykonywana a ENO jest ustawione wg intencji programisty np. ENO=1 jeśli wszystko w logice było ok i ENO=0 jeśli wystąpiły błędy.

Bloki funkcyjne Blok funkcyjny jest jednostką organizacyjna programu, która w wyniku wykonania dostarcza jedną lub więcej wartości na wyjściach bloku. W programie może występować wiele kopii - instancji bloku funkcyjnego. Każda z tych instancji ma przypisany identyfikator (nazwę instancji) oraz strukturę danych zawierającą dane wewnętrzne i wyjściowe bloku funkcyjnego oraz ewentualnie dane wejściowe lub odnośniki do nich. Wszystkie wartości wyjściowe i wewnętrzne są przechowywane pomiędzy wykonaniami bloku stąd blok funkcyjny z tymi samymi argumentami wejściowymi może produkować różne sygnały wyjściowe. Tylko sygnały wejściowe i wyjściowe są dostępne na zewnątrz konkretnej instancji bloku tj. zmienne wewnętrzne są niedostępne i ukryte. Zakres instancji bloku funkcyjnego jest ograniczony lokalnie do jednostki w której został wywołany chyba, że został zadeklarowany jako globalny za pomocą VAR_GLOBAL. Wyjściem funkcji może być tablica lub struktura. Wywołanie funkcji może być operandem w wyrażeniu. Funkcje nie powinny mieć żadnego stanu a ich wyjścia (VAR_OUTPUT i VAR_IN_OUT) powinny być takie same dla takiego samego zestawu wejść (VAR_IN i VAR_IN_OUT). Działają zasady EN i ENO Deklaracja FUNCTION_BLOCK...END_FUNCTION_BLOCK

Funkcje i bloki funkcyjne Typowymi przedstawicielami funkcji będą operacje nie wymagające pamięci: operacje matematyczne, relacje Typowymi przedstawicielami bloków funkcyjnych będą bloki wymagające zapamiętania stanu poprzedniego np. timery, liczniki

Program Program to logiczne połączenie/złożenie wszystkich konstrukcji i elementów języków programowania niezbędnych dla przetwarzania sygnałów w celu uzyskania pożądanego sterowania maszyną lub procesem. PROGRAM TESTOWY (* Deklaracje zmiennych *) VAR_INPUT WLACZNIK : BOOL ; CZUJNIK : INT ; END_VAR VAR_OUTPUT STEROWANIE : INT ; LAMPA : BOOL ; END_VAR VAR TABLICA : ARRAY [0..4] OF REAL := [0.0, 0.0, 0.0, 0.0, 0.0]; SREDNIA : REAL := 1.0; I : INTEGER; END_VAR (* Logika programu *) END_PROGRAM

Zasady języka ST wyrażenia, operandy i operatory Wyrażenia = operandy i operatory Wyrażenie Operandy Operator Typ wyniku 3 * r 3; r * INT 2.1 + sin(0.123) 2.1, sin(0.123) + REAL Temp > 22 Temp, 22 > BOOL A > (B+0.1) Operandami mogą być liczby w dozwolonym typie i formacie, łańcuchy znaków, zmienne, wywołania funkcji lub inne wyrażenia. Tablica 1. Ilustracja zależności wyrażeń, operandów i operatorów B;0.1 A, (B+0.1) + > REAL BOOL

Operatory nr Operacja Symbol Priorytet 1 Nawiasy (wyrażenie) Najwyższy np. (i+1), (a>3) 2 Wykonanie funkcji nazwa_funkcji(lista_argumentów) np. LN(A), MAX(X,Y), etc. 3 Potęgowanie ** 4 Negacja - 5 Dopełnienie NOT 6 Mnożenie * 7 Dzielenie / 8 Modulo MOD 9 Dodawanie + 10 Odejmowanie - 11 Porównania <, >, <=, =>, 12 Równość = 13 Nierówność <> 14 Binarne iloczyn logiczny & 15 Binarne iloczyn logiczny AND 16 Binarna suma wykluczająca XOR 17 Binarna suma OR Najniższy

Zagrożenia wynikające ze stosowania pętli i skoków w PLC Układ watchdog Pętla wynikająca ze sposobu działania PLC - Cykl pracy PLC, którego czas jest nadzorowany przez systemowy układ watchdog Program wykonywany z góry na dół trafiając na pętlę (for, while, repeat) lub skok wykonuje kierunek w górę! Mamy tu do czynienia z pętlą w pętli! Jeżeli wewnętrzna (programowa) pętla będzie trwała tyle, że zewnętrzna pętla nie zdąży się wykonać w czasie zadanym jako parametr układu watchdog to wystąpi błąd krytyczny i PLC zostanie zatrzymany!

Operacje na bitach, analogie LD i IL

Operacje na bitach, analogie LD i IL

Operacje na bitach, analogie LD i IL

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje ST w GE Fanuc

Instrukcje wysokopoziomowe ST powodują narzut czasowy Przy realizacji mnożenia dwóch macierzy o wymiarach 15 15 za pomocą operacji skalarnych powstaje konieczność wykonania 3375 operacji mnożenia i tyle samo dodawania. Dla ilustracji tych rozważań wykonano testy mnożenia macierzy w różnych wersjach realizacji programistycznej. W macierzach znajdowały się liczby zmiennoprzecinkowe 32- bitowe. Testy wykonano dla dwóch jednostek centralnych GE Fanuc RX3i. Wyniki przedstawione w tab. wyrażone są w milisekundach i bajtach. Z danych zawartych w tabeli wynika, że postać kodu ma istotny wpływ na szybkość wykonania programu i jego objętość. W przypadku kodu pisanego bez pętli znacznie zwiększa się prędkość wykonania programu, ale kosztem jego objętości.

Deklarowanie zmiennych Norma wprowadza sekcję VAR END_VAR; do definiowania zmiennych VAR A, B : INT; END_VAR Ale producenci PLC dostarczają swoje mechanizmy definiowania zmiennych i związywanie ich z fizycznymi adresami PLC

Deklarowanie zmiennych

Przykładowe programy w języku IL

Regulator dwustanowy w ST

Komentarze w programie i podświetlanie składni Komentarz blokowy zawiera się pomiędzy (* *) Komentarzem liniowym programie jest wszystko co znajduje się za znakiem apostrofu lub // Edytor posiada możliwość kolorowania składni (odróżniania słów kluczowych i zmiennych od reszty programu) oraz kolorowanie oddzielnie komentarzy.

Osadzanie w projekcie bloku ST

Blok ST w projekcie i jego edycja

Wywołanie bloku ST z programu głównego _MAIN w języku LD

Blok ST jako blok programu głównego Po zmianie jego nazwy na _MAIN

Zalety języka ST Konstrukcje wysokopoziomowe if, case, for, while, repeat Znajoma forma programu dla programujących w C, Pascal, Basic Możliwość operowania na wektorach i macierzach Łatwa implementacja algorytmów (w tym zaawansowanych) Zwartość programu możliwość zmieszczenia na jednej stronie ekranu całej złożonej funkcji (niemożliwe do osiągnięcia w językach graficznych) Ścisła kontrola typów pozwala zapobiegać niepożądanym efektom

Wady języka ST Narzut czasowy na wykonywane operacje wysokopoziomowe Brak elastyczności znanej z C Brak możliwości deklarowania i inicjowania zmiennych w dowolnym miejscu kodu Brak możliwości stosowania operacji arytmetycznych jako indeksów macierzy Formuła END_ Ścisła kontrola typów (dobra dla początkujących, krępująca dla zaawansowanych)

Bibliografia INTERNATIONAL STANDARD IEC 61131-3, Second edition 2003-01 Legierski T., Kasprzyk J., Wyrwał J., Hajda J.: Programowanie sterowników PLC, Wydawnictwo Pracowni Komputerowej Jacka Skalmierskiego, Gliwice, 1998 Simatic S7 Programowalny sterownik S7-1200 Podręcznik systemu Wydanie 04/2009 Programmable Control Products PACSystems* RX3i System Manual, GFK-2314F, Jan 2015