Programování dle normy IEC 61131 Strukturovaný text (ST) Miloš Hernych
TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky, informatiky a mezioborových studií
Tento materiál vznikl v rámci projektu ESF CZ.1.07/2.2.00/07.0247 Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Stavební bloky programu • Každý program pro PLC se skládá z POU (Program Organisation Unit) – Může být • Dodáno výrobcem SW/HW • Naprogramováno uživatelem
– Typy POU • Funkce • Funkční blok • Program
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Obecná struktura POU • Hlavička POU • Deklarační část – Definice vstupů a výstupů – Definice vnitřních proměnných
• Výkonná část – Vlastní „tělo“ programu
• Ukončení POU
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Funkce (FUN) • Nejjednodušší varianta • Bez „vnitřní paměti“ - se stejnými vstupními parametry vždy stejný výsledek • Může vracet pouze jeden datový element (proměnnou, pole, strukturu) • Může být použita jako operand ve výrazu • Ve výsledném kódu pouze jednou • V rámci funkce je možné volat jinou funkci nebo funkční blok
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Deklarace funkce • •
FUNCTION Název_funkce VAR_INPUT deklarace proměnných END_VAR –
•
VAR_IN_OUT deklarace proměnných END_VAR –
•
definice jmen a typů statických lokálních proměnných (alokuje trvale místo v paměti PLC)
VAR_TEMP deklarace proměnných END_VAR –
• • •
definice jmen a typů vstupně-výstupních proměnných - při volání funkce se předává ukazatel na proměnnou, ne data
VAR deklarace proměnných END_VAR –
•
definice jmen a typů vstupních proměnných funkce
definice jmen a typů lokálních proměnných funkce bez paměti, místo v paměti PLC dynamicky alokuje a uvolňuje
VAR CONSTANT deklarace konstant END_VAR Tělo funkce v jazyku IL, ST, LD nebo FBD END_FUNCTION - závěrečné klíčové slovo
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Volání funkce • Jménem funkce a předávanými parametry v kulaté závorce • Počet parametrů a datové typy musí souhlasit s deklarací • Možnosti předávání parametrů – Výčet v přesném pořadí dle deklarace – Přiřazením k názvům proměnných
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Příklad definice a použití funkce
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Funkční blok (FB) • Může si „pamatovat“ hodnoty vnitřních proměnných • Může vracet více než jeden výsledek • Každé volání FB ve výsledném kódu alokuje vlastní prostor - vytváří instanci • V rámci funkčního bloku je možné volat funkci nebo jiný funkční blok
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Deklarace FB • •
FUNCTION_BLOCK Název_FB VAR_INPUT deklarace proměnných END_VAR –
•
VAR_OUTPUT –
•
definice jmen a typů statických lokálních proměnných (pamatuje si hodnotu z předchozího volání FB, alokuje trvale místo v paměti PLC)
VAR_TEMP deklarace proměnných END_VAR –
• • •
definice jmen a typů vstupně-výstupních proměnných - při volání FB se předává ukazatel na proměnnou, ne data
VAR deklarace proměnných END_VAR –
•
deklarace proměnných END_VAR definice jmen a typů výstupních proměnných funkce
VAR_IN_OUT deklarace proměnných END_VAR –
•
definice jmen a typů vstupních proměnných funkce
definice jmen a typů lokálních proměnných funkce bez paměti, místo v paměti PLC dynamicky alokuje a uvolňuje
VAR CONSTANT deklarace konstant END_VAR Tělo funkčního bloku v jazyku IL, ST, LD nebo FBD END_FUNCTION_BLOCK - závěrečné klíčové slovo
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Příklad definice a použití FB
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Program (PRG) • Je vykonáván v rámci zdrojů (Resources) • Může volat funkce a funkční bloky • Funkce a funkční bloky nemohou volat program
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Deklarace programu • •
PROGRAM Název_PRG VAR_INPUT deklarace proměnných END_VAR –
•
VAR_OUTPUT –
•
definice jmen a typů statických lokálních proměnných (pamatuje si hodnotu z předchozího volání FB, alokuje trvale místo v paměti PLC)
VAR_TEMP deklarace proměnných END_VAR –
• • •
definice jmen a typů vstupně-výstupních proměnných - při volání FB se předává ukazatel na proměnnou, ne data
VAR deklarace proměnných END_VAR –
•
deklarace proměnných END_VAR definice jmen a typů výstupních proměnných funkce
VAR_IN_OUT deklarace proměnných END_VAR –
•
definice jmen a typů vstupních proměnných funkce
definice jmen a typů lokálních proměnných funkce bez paměti, místo v paměti PLC dynamicky alokuje a uvolňuje
VAR CONSTANT deklarace konstant END_VAR Tělo programu v jazyku IL, ST, LD nebo FBD END_PROGRAM - závěrečné klíčové slovo
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Příklad definice a použití PRG
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Konfigurační prvky • Konfigurace (Configuration) – Označuje PLC systém, provádějící naprogramované POU
• Zdroj (Resource) – Označuje procesorový modul v PLC, který zajistí provádění konkrétního programu
• Úloha (Task) – Přiřazuje proces, v kterém bude POU prováděná – Spouštěna periodicky nebo hranou
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Příklad použití
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Identifikátory • Řetězce znaků, čísel a podtržení, označujících: – – – – –
jména konstant jména proměnných jména odvozených datových typů jména funkcí, funkčních bloků a programů jména úloh
• Začínají písmenem nebo podtržením, nesmí obsahovat mezery • Mohou obsahovat pouze znaky anglické abecedy • Nerozlišují se malá a velká písmena • Maximální délka 64 znaků • Nesmí obsahovat více podtržítek za sebou
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Literály • Slouží pro přímou prezentaci hodnot proměnných • Rozdělují se na: – numerické literály – řetězce znaků – časové literály
• U literálů časových příp.ke zdůraznění datového typu slouží znak #
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Numerický literál • Slouží k definici konstant v pevné nebo plovoucí řádové čárce: – – – – – – –
Integer literál: 145, INT#–10, 47_231_110 Real literál: –21.3, REAL#12.0, 1_123.452_1 Real literál s exponentem: 7.45E3, -4.78E-2 Literál o základu 2: 2#101011 Literál o základu 8: USINT#8#12 Literál o základu 16: 16#4FAB Bool literál: FALSE, TRUE, BOOL#0, BOOL#1
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Literály řetězce znaků • Uvozeny jednoduchou uvozovkou • Speciální znaky za $ – – – – – – – –
$$ $’ $L,$l $N,$n $P,$p $R,$r $T,$t $xy
Znak dolar Znak jednoduchý apostrof Znak Line feed (16#0A) Znak New line Znak New page Znak Carriage return (16#0D) Znak tabelátor (16#09) Znak, definovaný HEX prezentací čísla xy
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Časové literály • Obsahují informaci o: – Době trvání mezi 2 událostmi • T#, t#, TIME#, time# • D – dny, H – hodiny, M – minuty, S – sekundy, MS - milisekundy
– Absolutním čase • D# nebo DATE# - datum • TOD# nebo TIME_OF_DAY# - čas během dne • DT# nebo DATE_AND_TIME# - „absolutní“ čas
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Datové typy • Elementární • Rodové • Odvozené – Jednoduché – Typu pole – Typu struktura – Kombinace typu pole a struktura – Typu pointer
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Datové typy elementární BOOL
Boolean
1b
<0,1>
SINT
Short integer
8b
<–128,127>
INT
Integer
16 b
<–32 768,32767>
DINT
Double integer
32 b
<–2 147 483 648,2 147 483 647>
USINT
Unsigned short integer
8b
<0, 255>
UINT
Unsigned integer
16 b
<0, 65 535>
UDINT
Unsigned double integer
32 b
<0, 4294967295>
REAL
Real (Single precision)
32 b
<±1.18E-39, ±3.4E+38>
LREAL
Long real (Double precision)
64 b
<±2.2E-308, ±1.8E+308>
TIME
Duration
DATE
Date (only)
TIME_OF_DAY, TOD
Time of day (only)
DATE_AND_TIME, DT
Date and time of day
STRING
String
24d 20:31:23.647 Od 1.1.1970 00:00:00 24d 20:31:23.647 Od 1.1.1970 00:00:00 Max.255 znaků
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Rodové typy • Vyjadřují celou skupinu proměnných ANY ANY_BIT
ANY_NUM
BOOL
ANY_INT
ANY_REAL
ANY_DATE
TIME
DATE
STRING
BYTE
DATE_AND_TIME
WORD
TIME_OF_DAY
DWORD
INT
UINT
REAL
SINT
USINT
LREAL
DINT
UDINT
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Jednoduché odvozené typy • Z elementárních dat.typů • Výčtové typy TYPE TInt Tzacatek Tden END_TYPE VAR Znamka ZacatekSkoly Den END_VAR
: INT; : Time := T#7h00m; : (pracovni, volny, svatek);
: Tint; : Tzacatek; : Tden;
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Datové typy pole • Prvky mohou být elementární a odvozené • Pole – Jednorozměrná TYPE TPole1 : ARRAY[0..9] OF USINT; TPole2 : ARRAY[1..10] OF INT := [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; TPole3 : ARRAY[0..99] OF SINT := [ 50(10), 20, 49(30)]; END_TYPE
– Vícerozměrná (Mosaic max.4) TYPE TDvourozm Ttrojrozm END_TYPE
: ARRAY [1..4,1..2] OF UINT := [ 11, 12, 21, 22, 31, 32, 41, 42]; : ARRAY [1..2, 1..2, 1..2] OF INT := [ 111, 112, 121, 122, 211, 212, 221, 222];
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Datový typ struktura • Struktura může být definovaná z elementárních a odvozených typů, i hierarchicky TYPE Tcas: STRUCT Zacatek, Konec TVyuka: STRUCT Vyucujici Cas END_STRUCT; END_TYPE PROGRAM Rozvrh VAR ZLR : TVyuka; END_VAR ZLR.Vyucujici ZLR.Cas.Zacatek ZLR.Cas.Konec END_PROGRAM
: TIME;END_STRUCT; : STRING; : Tcas;
:= ‘Ja’; := T#8h50m; := T#10h25m;
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Kombinace typu struktura a pole • Struktury a pole je možné libovolně kombinovat TYPE Tcas: STRUCT Zacatek, Konec TVyuka: STRUCT Vyucujici Cas END_STRUCT; END_TYPE
: TIME;END_STRUCT; : STRING; : Tcas;
PROGRAM Rozvrh VAR ZLR : array [1..5] of TVyuka; END_VAR ZLR[1].Vyucujici := ‘Ja’; ZLR[3].Cas.Zacatek := T#8h50m; ZLR[5].Cas.Konec := T#12h15m; END_PROGRAM
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Proměnné • Měly by být deklarovány v každé POU • Obecná deklarace: Třída kvalifikátor jméno_prom : dat_typ := úvodní_hodnota; konec_deklarace Příklad: VAR CONSTANT Pravda : bool := TRUE; END_VAR
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Třídy proměnných • Globální • Lokální • Vstupní a výstupní proměnné
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Globální proměnné Jsou dostupné ze všech POU VAR_GLOBAL • Základní varianta • Pomocí klíč.slova AT umožňuje asociovat s konkrétním místem v paměti PLC, jinak překladač umístí automaticky a) BinarniVstup AT %X0.3 : bool; //ekvivalent #DEF BinarniVstup %X0.3 b) AT %Y1 : usint; //v POU je pak možné volat přímo %Y1
VAR_GLOBAL CONSTANT • Deklaruje konstanty
VAR_GLOBAL RETAIN • Deklaruje zálohované proměnné
VAR_EXTERNAL • Dovoluje využít proměnných, deklarovaných v mnemokódu nebo přímé odkazy na místo v paměti PLC
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Lokální proměnné Dostupné pouze v POU, ve které jsou deklarovány
VAR • proměnné se inicializují pouze při restartu systému, zůstávají trvale alokovány v paměti
VAR_TEMP • Proměnné se inicializují při každém volání POU
VAR_EXTERNAL • Dovoluje využít proměnných, deklarovaných v mnemokódu nebo přímé odkazy na místo v paměti PLC #REG BIT AHOJ VAR_EXTERNAL AHOJ : bool; AT %Y0.4 : bool; END_VAR %Y0.4 := AHOJ;
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Vstupní a výstupní proměnné Předávají data do a z POU VAR_INPUT • Předávají hodnotou data do POU • U binárních proměnných možné předávat hranu: – VZESTUPNA : bool R_EDGE;// „1“ pouze při „0“->„1“ – SESTUPNA : bool F_EDGE; // „1“ pouze při „1“->„0“
VAR_OUTPUT • Předávají hodnotou data z POU
VAR_IN_OUT • Předávají referencí data z a do POU
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Přehled použití tříd v POU Třída proměnné VAR_INPUT VAR_OUTPUT VAR_IN_OUT VAR_EXTERNAL VAR_GLOBAL VAR VAR_TEMP
PROGRAM
FUNCTION_BLOCK
FUNCTION
mimo POU
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Strukturovaný text - ST • Skládá se z jednotlivých příkazů (statements), které – Provádí výpočty (zpracování výrazů) a přiřazení – Řídí tok vykonávání programu – Volají a ukončují POU
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Výrazy • Výsledkem jejich vyhodnocení je hodnota, odpovídající příslušnému datovému typu • Skládá se z – Operátorů – Operandů • • • •
Literál Proměnná Volání funkce Jiný výraz
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Operátory Operátor
Operace
Priorita
()
závorky
1
**
umocňování
2
-
znaménko
3
NOT
negace
3
*, /
násobení, dělení
4
MOD
modulo
4
+,-
sčítání, odčítání
5
<, >, <= ,>=
porovnávání
6
=, <>
rovnost, nerovnost
7
&, AND
logické AND
8
XOR
logické exkluzivní OR
9
OR
logické OR
10
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Příkazy jazyka ST Příkaz :=
Popis Přiřazení Volání funkčního bloku Příkaz výběru
Příklad použití C:=A+B; JmenoFB(VSTUP:=10, VYSTUP=>C); IF %X1.0 THEN C:=1;ELSE C:=0;END_IF:
CASE
Příkaz výběru
CASE A OF 0: C := 1; 1: C := 10; ELSE C := 11; END_CASE;
FOR
Iterační příkaz s počáteční a koncovou hodnotou, FOR I := 0 TO 100 BY 5 DO C:=C+I;END_FOR; příp.inkrementem
WHILE
Iterační příkaz s podmínkou WHILE I > 100 DO I:=I+1;END_WHILE; na počátku
REPEAT
Iterační příkaz s podmínkou REPEAT I:=I+1;UNTIL I<100; END_REPEAT; na konci
EXIT
Předčasné ukončení iterace EXIT;
RETURN
Předčasné ukončení POU
IF
RETURN;
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Direktivy • Slouží k řízení překladu, vkládají se do {} – {PUBLIC} • označená proměnná je zveřejněna v souboru .PUB • VAR STOP {PUBLIC} AT %X1.3: bool;END_VAR
– {$ IF
} .... [{$ ELSE }....] {$ END_IF } • Definuje kód, který se podle výsledku výrazu bude/nebude při překladu překládat
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Direktivy – {$DEFINE <jméno>}{$UNDEF < jméno >} • Definují/ruší definici jména, které následně může řídit překlad direktivami $IFDEF/$IFNDEF a $IF:
– {$IFDEF < jméno>} .... [{ $ELSE }....] {$END_IF} – {$IFNDEF < jméno>} .... [{ $ELSE }....] {$END_IF} – DEFINED • Testuje platnost definice jména v direktivě {$IF}: {$IF DEFINED (FOXTROT)}…{$END_IF}
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Direktivy – {$ASM}{$END_ASM>} • Deklarují začátek a konec mnemokódu PLC, vloženého do POU dle IEC 61 131: C:=A+B; {ASM} LD %X0.0 WR %Y1.1 {END_ASM} A:=A+1;
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Direktivy – {ST_WARNING OFF}/{ST_WARNING ON} • Začátek a konec části programu, ve které budou ignorována varovná hlášení překladače
– {OFFSET_REG=xxx} /{END_OFFSET_REG} • Začátek a konec části programu, ve které bude překladač mapovat proměnné a instance od adresy xxx v paměti • Vypíná automatickou kontrolu překrytí proměnných!!! {OFFSET_REG=5000} B:usint;//mapuje proměnnou A do registru %R5001 {END_OFFSET_REG}
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Knihovny Knihovny funkcí a funkčních bloků • Standardní – Dle normy IEC 61 131, výrobce část nebo všechny implementuje do vývojového prostředí
• Rozšířené – Dodávané výrobcem s vývojovým prostředím pro specifické použití s konkrétním HW apod.
• Vytvořené uživatelem – Možnost vytvářet vlastní uživatelské fce a fb
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Knihovna numerických, aritmetických a logických fcí ABS SQRT LN LOG EXP SIN COS TAN ATAN ASIN ACOS
ADD MUL SUB DIV MOD EXPT MOVE
AND OR XOR NOT SHL SHR ROR ROL
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Funkce výběru a porovnávání SEL MAX MIN LIMIT
OUT:=SEL(bool, IN1, IN2); OUT:=MAX(IN1,IN2,…INn); OUT :=MIN(IN1,IN2,…INn); OUT:=LIMIT(Minim,IN,Maxim);//MIN(MAX(IN,Minim),Maxim)
GT GE EQ LE LT NE
OUT:=GT(IN1,IN2,..INn);//(IN1>IN2)&(IN2>IN3)&…&(INn-1)>INn)-klesající OUT:=GE(IN1,IN2,..INn);//(IN1>=IN2)&(IN2>=IN3)&…&(INn-1)>=INn)-monotónní dolů OUT:=EQ(IN1,IN2,..INn);//(IN1=IN2)&(IN2=IN3)&…&(INn-1)=INn) - rovnost OUT:=LE(IN1,IN2,..INn);//(IN1<=IN2)&(IN2<=IN3)&…&(INn-1)<=INn) – monotónní nahoru OUT:=LT(IN1,IN2,..INn);//(IN1IN2) - nerovnost
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Knihovna konverzí typu Konvertuje vstupní proměnnou z jednoho typu proměnné do jiného TRUNC – „ořezání“ ANY_REAL na ANY_INT Typ1_TO_Typ2 Příklady: REAL_TO_BOOL UDINT_TO_DATE TIME_TO_STRING REAL_TO_SINT
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Knihovna funkcí práce s řetězci – – – – – – – – – –
LEN – vrací délku řetězce LEFT – vrací X znaků řetězce zleva RIGHT – vrací X znaků řetězce zprava MID – vrací X znaků řetězce od pozice Y CONCAT – vrací spojení několika řetězců INSERT – vloží do řetězce od pozice X podřetězec DELETE – z řetězce vymaže X znaků od pozice Y REPLACE – nahradí v řetězci X znaků od pozice Y FIND – vrací pozici podřetězce v řetězci <,>,=,<> - porovnávání 2 řetězců, znak po znaku
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Knihovna StdLib •
Práce se signály – – – – – – – – – –
•
CTD – FB čítače dolů CTU – FB čítače nahoru CTUD – FB obousměrného čítače F_TRIG – FB vzest.hrany R_TRIG – FB sestupné hrany RS – FB klopného obvodu RS s preferencí R SR – FB klopného obvodu RS s preferencí S TON – FB časovače zpožděný ON TOF – FB časovače zpožděný OFF TP – FB tvarovače
Práce s datem a časem – – – – – – – – – –
ADD_TIME – fce součtu dvou proměnných TIME ADD_TOD_TIME - fce součtu proměnné TOD a TIME ADD_DT_TIME – fce součtu proměnné DT a TIME SUB_TIME – fce rozdílu dvou proměnných TIME SUB_DATE_DATE - fce rozdílu dvou proměnných DATE SUB_TOD_TIME – fce rozdílu TOD-TIME SUB_TOD_TOD – fce rozdílu dvou TOD SUB_DT_TIME - odečte od DT proměnnou TIME SUB_DT_DT - fce rozdílu dvou proměnných DATE_AND_TIME CONCAT_DATE_TOD – fce sečte TIME_OF_DAY s DATE, výsledkem DT
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Specifické knihovny Tecomat
Programování dle IEC 61 131 - ST Reflexe požadavků průmyslu na výuku v oblasti automatického řízení a měření
Zdroje •
http://www.tecomat.cz . [online]. [cit. 2012-06-14].