Programování dle normy IEC Strukturovaný text (ST)

Podobné dokumenty
Knihovny pro programování PLC Tecomat podle IEC

Knihovna EpsnetLib TXV první vydání září 2012 změny vyhrazeny

Knihovna XmlLib TXV druhé vydání říjen 2012 změny vyhrazeny

Knihovna XmlLib TXV první vydání prosinec 2010 změny vyhrazeny

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Programování PLC Tecomat podle normy IEC TXV osmé vydání březen 2006 změny vyhrazeny

1 Seznámení s prostředím MOSAIC

Programování PLC podle normy IEC v prostředí Mosaic

Knihovna ConvertLib TXV první vydání září 2013 změny vyhrazeny

Programovací jazyk Pascal

Úvod do programovacích jazyků (Java)

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Knihovna DataBoxLib TXV první vydání prosinec 2010 změny vyhrazeny

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Knihovna WebGraphLib

Knihovna XmlLibEx TXV druhé vydání prosinec 2013 změny vyhrazeny

Průvodní zpráva k projektu

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

TECHNICKÁ UNIVERZITA V LIBERCI

Algoritmizace a programování

Knihovna GalaxyLib TXV druhé vydání srpen 2012 změny vyhrazeny

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

5 Přehled operátorů, příkazy, přetypování

Osnova přednášky. Informační a řídicí systémy I. Programování PLC I. IEC Norma IEC Doporučená literatura

Knihovna DMX512lib Komunikace protokolem DMX512. TXV prvé vydání srpen 2010 změny vyhrazeny

Osnova přednášky. Informační a řídicí systémy I. Programování PLC II. IEC Program ve strukturovaném textu. Strukturovaný text (ST)

Knihovna SolarMonitorLib

Paměť počítače. alg2 1

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Jazyk C# a platforma.net

Zápis programu v jazyce C#

Sada 1 - Základy programování

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

NPRG030 Programování I, 2018/19 1 / :25:37

Osnova přednášky. Informační a řídicí systémy I. Programování PLC III. IEC Schémata z funkčních bloků (FBD)

Souhrn Apendixu A doporučení VHDL

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Algoritmizace a programování

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

ADT/ADS = abstraktní datové typy / struktury

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Algoritmizace a programování

Knihovna DebugComLib

PŘETĚŽOVÁNÍ OPERÁTORŮ

LabView jako programovací jazyk II

LEKCE 6. Operátory. V této lekci najdete:

dovolují dělení velkých úloh na menší = dekompozice

Knihovna pro GSM TXV šesté vydání Prosinec 2010 změny vyhrazeny

Algoritmizace prostorových úloh

Programování v jazyce JavaScript

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Knihovna FlashLib TXV první vydání listopad 2009 změny vyhrazeny

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Sada 1 - Základy programování

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

Opakování programování

Úvod do programovacích jazyků (Java)

Programování v C++ 1, 1. cvičení

Programování dle normy IEC

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Algoritmizace a programování

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Knihovna MeteoGiom3000Lib TXV první vydání Prosinec 2010 změny vyhrazeny

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Knihovna EnergyLib TXV čtvrté vydání červen 2012 změny vyhrazeny

Skripty základy VB, vestavěné objekty, příklady

typová konverze typová inference

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Knihovna EnergyLib TXV páté vydání červen 2012 změny vyhrazeny

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Knihovna LightsLib TXV první vydání prosinec 2011 změny vyhrazeny

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

Programování v C++, 2. cvičení

Datové typy strana 29

Jazyk C++, některá rozšíření oproti C

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Knihovna TecoRouteLib

Ukazka knihy z internetoveho knihkupectvi

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

NPRG030 Programování I, 2016/17 1 / :58:13

Programovací jazyk C++ Hodina 1

PREPROCESOR POKRAČOVÁNÍ

Transkript:

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, který je spolufinancován Evropským sociálním fondem a státním rozpočtem ČR

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

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

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

FUNCTION Název_funkce Deklarace funkce VAR_INPUT deklarace proměnných END_VAR definice jmen a typů vstupních proměnných funkce VAR_IN_OUT 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ů 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ů 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

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

Příklad definice a použití funkce

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

FUNCTION_BLOCK Název_FB Deklarace FB VAR_INPUT deklarace proměnných END_VAR definice jmen a typů vstupních proměnných funkce VAR_OUTPUT 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ě-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 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ů 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

Příklad definice a použití FB

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

PROGRAM Název_PRG Deklarace programu VAR_INPUT deklarace proměnných END_VAR definice jmen a typů vstupních proměnných funkce VAR_OUTPUT 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ě-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 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ů 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

Příklad definice a použití PRG

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

Příklad použití

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

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 #

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

Literályřetězce znaků Uvozeny jednoduchou uvozovkou Speciální znaky za $ $$ Znak dolar $ Znak jednoduchý apostrof $L,$l Znak Line feed (16#0A) $N,$n Znak New line $P,$p Znak New page $R,$r Znak Carriage return (16#0D) $T,$t Znak tabelátor (16#09) $xy Znak, definovaný HEX prezentací čísla xy

Č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

Datové typy Elementární Rodové Odvozené Jednoduché Typu pole Typu struktura Kombinace typu pole a struktura Typu pointer

Datové typy elementární BOOL Boolean 1 b <0,1> SINT Short integer 8 b < 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 8 b <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 24d 20:31:23.647 DATE Date (only) Od 1.1.1970 00:00:00 TIME_OF_DAY, TOD Time of day (only) 24d 20:31:23.647 DATE_AND_TIME, DT Date and time of day Od 1.1.1970 00:00:00 STRING String Max.255 znaků

Rodové typy Vyjadřují celou skupinu proměnných ANY ANY_BIT ANY_NUM ANY_DATE TIME BOOL ANY_INT ANY_REAL DATE STRING BYTE WORD DWORD INT UINT REAL SINT USINT LREAL DINT UDINT DATE_AND_TIME TIME_OF_DAY

Jednoduché odvozené typy Z elementárních dat.typů Výčtové typy TYPE TInt : INT; Tzacatek : Time := T#7h00m; Tden : (pracovni, volny, svatek); END_TYPE VAR Znamka : Tint; ZacatekSkoly : Tzacatek; Den : Tden; END_VAR

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 : ARRAY [1..4,1..2] OF UINT := [ 11, 12, 21, 22, 31, 32, 41, 42]; Ttrojrozm : ARRAY [1..2, 1..2, 1..2] OF INT := [ 111, 112, 121, 122, 211, 212, 221, 222]; END_TYPE

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 : TIME;END_STRUCT; : STRING; : Tcas; PROGRAM Rozvrh VAR ZLR : TVyuka; END_VAR ZLR.Vyucujici ZLR.Cas.Zacatek ZLR.Cas.Konec END_PROGRAM := Ja ; := T#8h50m; := T#10h25m;

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

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 Pravda : bool END_VAR CONSTANT := TRUE;

Globální Třídy proměnných Lokální Vstupní a výstupní proměnné

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

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 AT END_VAR : bool; %Y0.4 : bool; %Y0.4 := AHOJ;

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

Přehled použití tříd v POU Třída proměnné PROGRAM FUNCTION_BLOCK FUNCTION mimo POU VAR_INPUT VAR_OUTPUT VAR_IN_OUT VAR_EXTERNAL VAR_GLOBAL VAR VAR_TEMP

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

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

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

Příkazy jazyka ST Příkaz Popis Příklad použití := Přiřazení C:=A+B; Volání funkčního bloku JmenoFB(VSTUP:=10, VYSTUP=>C); IF Příkaz výběru 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 WHILE REPEAT Iterační příkaz s počáteční a koncovou hodnotou, příp.inkrementem Iterační příkaz s podmínkou na počátku Iterační příkaz s podmínkou na konci FOR I := 0 TO 100 BY 5 DO C:=C+I;END_FOR; WHILE I > 100 DO I:=I+1;END_WHILE; REPEAT I:=I+1;UNTIL I<100; END_REPEAT; EXIT Předčasné ukončení iterace EXIT; RETURN Předčasné ukončení POU RETURN;

Direktivy Slouží k řízení překladu, vkládají se do {} {PUBLIC} označená proměnná je zveřejněna ejn na v souboru.pub VAR STOP {PUBLIC} AT %X1.3: bool;end_var {$ IF <výraz>}... [{$ ELSE }...] {$ END_IF } Definuje kód, který se podle výsledku výrazu bude/nebude při překladu překládat

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}

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 WR %X0.0 %Y1.1 {END_ASM} A:=A+1;

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}

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

Knihovna numerických, aritmetických a logických fcí ABS ADD AND SQRT MUL OR LN SUB XOR LOG DIV NOT EXP MOD SHL SIN EXPT SHR COS MOVE ROR TAN ATAN ASIN ACOS ROL

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);//(IN1<IN2)&(IN2<IN3)& &(INn-1)<INn) - rostoucí OUT:=NE(IN1,IN2);//(IN1<>IN2) - nerovnost

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

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

Práce se signály Knihovna StdLib 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

Specifické knihovny Tecomat

Zdroje http://www.tecomat.cz. [online]. [cit. 2012-06-14].