Osnova přednášky. Informační a řídicí systémy I. Programování PLC IV. IEC Role ostatních jazyků. Role jazyka SFC.

Podobné dokumenty
Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

Osnova přednášky. Univerzita Jana Evangelisty Purkyně Základy automatizace Vlastnosti regulátorů

Knihovna pro modelování procesů TXV čtvrté vydání září 2012 změny vyhrazeny

Knihovna ServoLib Řízení servopohonu bez zpětné vazby. TXV první vydání březen 2009 změny vyhrazeny

Řídicí systém pro každého

Obsah DÍL 1. Předmluva 11

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

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

Programování. řídících systémů v reálném čase. Střední odborná škola a Střední odborné učiliště - - Centrum Odborné přípravy Sezimovo Ústí

SEKVENČNÍ LOGICKÉ OBVODY

Program a životní cyklus programu

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

Řídící systémy hydraulických procesů. Cíl: seznámení s možnostmi řízení, regulace a vizualizace procesu.

Úloha 5 Řízení teplovzdušného modelu TVM pomocí PC a mikropočítačové jednotky CTRL

Stručný postup k použití programu PL7 Junior (programování TSX Micro)

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

REG10 návod k instalaci a použití 2.část Univerzální časovač a čítač AVC/ 02

Algoritmizace- úvod. Ing. Tomáš Otáhal

Obr. 1 Činnost omezovače amplitudy

Algoritmizace. 1. Úvod. Algoritmus

Bezpečnost chemických výrob N111001

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra měřicí a řídicí techniky. Samonastavitelné regulátory v prostředí PLC

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

Projekt realizovaný na SPŠ Nové Město nad Metují. s finanční podporou v Operačním programu Vzdělávání pro konkurenceschopnost Královéhradeckého kraje

Prostředky automatického řízení Úloha č.5 Zapojení PLC do hvězdy

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

První kroky s METEL IEC IDE

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

APOSYS 10. Kompaktní mikroprocesorový regulátor APOSYS 10. MAHRLO s.r.o. Ľudmily Podjavorinskej 535/ Stará Turá

Práce s PID regulátorem regulace výšky hladiny v nádrži

Programování II. Modularita 2017/18

Algoritmizace a programování

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Robustnost regulátorů PI a PID

Kompaktní mikroprocesorový regulátor MRS 04

Průvodce programováním AMiNi-E jazykem STL Dipl. Ing. Pavel Votrubec

PROTOKOL O LABORATORNÍM CVIČENÍ - AUTOMATIZACE

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

A TECHNICKÉ VLASTNOSTI

6 Příkazy řízení toku

Automatizační technika. Regulační obvod. Obsah

VŘS PŘISTÁVÁNÍ RAKETY V GRAVITAČNÍM POLI ZEMĚ

Úvod. Programovací paradigmata

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

OVLÁDÁNÍ FAN COIL JEDNOTKY 02

Profilová část maturitní zkoušky 2015/2016

Pro tvorbu samostatně spustitelných aplikací je k dispozici Matlab library.

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - "uvažovat" jako počítač

POČÍTAČOVÉ ŘÍZENÍ TECHNOLOGICKÝCH PROCESŮ

IMOTION Stručný přehled

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

LOGICKÉ ŘÍZENÍ. Matematický základ logického řízení

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

Regulátory I N G. M A R T I N H L I N O V S K Ý, P H D.

PROGRAMOVATELNÝ TERMOSTAT CT Citherm 6.0 Návod k obsluze

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

PROSTŘEDKY AUTOMATICKÉHO ŘÍZENÍ

2. Systémová analýza SA návrhová část projektu = příručka projektu - systémový přístup k analýze problémů, nejdůležitější etapa projektu - podrobné st

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

UNIVERZÁLNÍ PID REGULÁTORY

Číslicové multimetry. základním blokem je stejnosměrný číslicový voltmetr

IB111 Úvod do programování skrze Python Přednáška 13

18A - PRINCIPY ČÍSLICOVÝCH MĚŘICÍCH PŘÍSTROJŮ Voltmetry, A/D převodníky - principy, vlastnosti, Kmitoměry, čítače, fázoměry, Q- metry

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Profilová část maturitní zkoušky 2015/2016

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

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

JUMO mtron T Měřicí, regulační a automatizační systém

Fuzzy regulátory Mamdaniho a Takagi-Sugenova typu. Návrh fuzzy regulátorů: F-I-A-D v regulátorech Mamdaniho typu. Fuzzifikace. Inference. Viz. obr.

Knihovna WebGraphLib

Praktické úlohy- programování PLC

Profilová část maturitní zkoušky 2014/2015

2. Základní teorie regulace / Regulace ve vytápění

D C A C. Otázka 1. Kolik z následujících matic je singulární? A. 0 B. 1 C. 2 D. 3

LZ77 KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU LZ77. Příručka uživatele a programátora

Knihovna XBMCLib TXV druhé vydání květen 2014 změny vyhrazeny

Analýza a zpracování digitálního obrazu

Pohled do nitra mikroprocesoru Josef Horálek

Binární data. Číslicový systém. Binární data. Klávesnice Snímače polohy, dotykové displeje, myš Digitalizovaná data odvozená z analogového signálu

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

Laboratorní úloha č.8 MĚŘENÍ STATICKÝCH A DYNAMICKÝCH CHARAKTERISTIK

AUTOMATIZACE Úvod do programování PLC

Srovnání PID regulace a anisochronního řízení na PLC Tecomat Foxtrot

Základy logického řízení

2. lekce Algoritmus, cyklus Miroslav Jílek

Nejjednodušší, tzv. bang-bang regulace

Symbolický název Velik. Adresa Význam Jednotky

Řídící systém směšovacího ventilu automatického kotle

Překladač a jeho struktura

Firmware řídící jednotky stejnosměrného generátoru

Řízení modelu letadla pomocí PLC Mitsubishi

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

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Programovatelná řídící jednotka REG10. návod k instalaci a použití 2.část Regulátor předehřevu teplé vody VKK

5. STRUKTURA PLC PROGRAMU

Přerušovací systém s prioritním řetězem

Transkript:

Osnova přednášky Informační a řídicí systémy I. Programování PLC IV. IEC 61131-3 Pavel Balda ZČU v Plzni, FAV, KKY Podrobně o SFC Role SFC a ostatních jazyků Vzájemně výlučné podmínky přechodu Přesný význam kvalifikátorů akcí Příklady funkčních bloků Implementace uvedená v normě IEC 61131-3, jen jako informativní (tj. nepovinná, nenormativní) Analogické bloky z ŘS REX 2 Role jazyka SFC SFC je považován za nejdůležitější z 5 jazyků normy IEC 61131-3 pro klíčové fáze vývoje softwaru pro PLC. Základními vlastnostmi jsou: Vysoká vyjadřovací schopnost. SFC má stejné vyjadřovací schopnosti jako stavové diagramy a je příbuzný Petriho sítím. Grafický formalismus. Umožňuje snadné naučení se práce se SFC, lze jej kombinovat s LD a FBD. Je vhodný pro reprezentaci procesu na různě detailních úrovních Podpora počáteční fáze návrhu. Umožňuje přesnou analýzu i v případě, že mnoho požadavků není ještě definováno nebo známo návrháři. Tím výrazně snižuje pravděpodobnost nedorozumění mezi zákazníkem, návrhářem a programátorem Podpora detailního návrhu. Počáteční návrh lze specifikovat a doplňovat tak, jak získává návrhář další informace. V akcích lze používat vnořená schémata v SFC Přirozené spojení s dalšími jazyky. V podmínkách a akcích lze využít ostatní jazyky nejvhodnější k danému účelu Podpora rozdělení kódu na menší úseky (fragmenation). Jednotlivé úseky kódu mohou běžet s různými periodami vzorkování a tím zmenšit celkové zatížení PLC. 3 Role ostatních jazyků Role ostatních jazyků je značně subjektivní dle zvyklostí jednotlivých uživatelů Strukturovaný text (ST) Vyšší programovací jazyk blízký Pascalu (a C), vhodný doplněk k SFC pro kódování podmínek a akcí Seznam instrukcí (IL) jazyk blízký assembleru, proto by měl mít větší výkonnost než ST, avšak dnes s rostoucím výkonem procesorů ztrácí tato výhoda na významu, neboť kód je mnohem méně přehledný Schéma složené z funkčních bloků (FBD) Analogické elektrickým schématům, nejlepší a nejpřehlednější prostředek pro konfiguraci regulačních algoritmů Liniová (kontaktní) schémata (LD) historický prostředek vývoje řídicích systémů logického typu. Dosud podporován mnoha výrobci, neumožňuje však všechny konstrukce, jako např. ST Doporučení: SFC pro dekompozici složitých řídicích algoritmů a v kombinaci s ST pro úlohy logického typu FBD pro analogovou regulaci, v kombinaci se SFC lze volit různé režimy provozu 4 1

Vzájemně výlučné podmínky přechodu Kvalifikátory akcí v SFC (opakování) Jednotlivé podmínky přechodu by se neměly překrývat (měly by být vzájemně výlučné, exklusivní), viz obr. a V případě, že se překrývají (obr. b), musí být určena priorita (pa,, pd v obr.) vyhodnocování číslo uvedené u podmínky přechodu (menší hodnota odpovídá vyšší prioritě) Pokud se podmínky překrývají (obr. b) a priorita není uvedena, měla by být hlášena chyba Problém je v tom, že poslední případ je řešen na různých platformách různě nekompatibilita!!! Proto je nejlepší podmínky konstruovat exklusivně, je to však mírně na úkor rychlosti! Sa Sb pa Txa pb Txb pc Txc pd Txd Sc Sd a) Txa Txd Txb Txc b) Txa Txd Txb Txc 5 Kvalif. žádný N R S L D P SD DS SL P1 P0 Definice Non-stored (null quailier) Non-stored overriding Reset Set (Stored) time Limited time Delayed Pulse Stored and time Delayed Delayed and Stored Stored and time Limited Pulse (rising edge) Pulse (falling edge) Chování akce Jako kvalifikátor N Provádíse, když je daný krok aktivní Ukončuje provádění akcí s kvalifikátorem S, SD, SL Akce se provádí, dokud není dosažen stav v němž má kval. R Akce se provádí po dobu zadanou parametrem v kvalifikátoru Akce se spustí za čas daný parametrem v kvalifikátoru Provede se, když je daný krok aktivován Po uplynutí zadaného zpoždění spouštíakci jako při S Akce se začne provádět, trvá-li daný stav alespoň zadaný čas Akce se provádí jako při S, ale jen do uplynutí zadaného času Akce se provede pouze jednou po náběžné hraně pulsu Akce se provede pouze jednou po sestupné hraně pulsu 6 Akce s kvalifikátorem N Non-stored Akce, prováděná, když je daný krok aktivní Akce s kvalifikátory S-R Set-Reset Akce se spouští vstupem do kroku, v němž je s kvalifikátorem S, ukončuje se v kroku s kvalifikátorem R N Ax Vx S Ax Vx Aktivita kroku 7 8 2

Akce s kvalifikátorem L Time Limited Akce se provádí od vstupu do kroku po dobu zadanou v kvalifikátoru L Akce s kvalifikátorem D Delayed Akce se začne provádět po vstupu do kroku se zpožděním zadaným v kvalifikátoru D L Ax Vx t# D Ax Vx t# Aktivita kroku Aktivita kroku 9 10 Akce s kvalifikátorem P Pulse Akce se provede jednorázově při vstupu do kroku Akce s kvalifikátory SD-R Akce se začne provádět se zadaným zpožděním po vstupu do kroku, v němž je s kvalifikátorem SD, ukončí se vstupem do kroku k kvalifikátorem R Aktivita kroku P Ax Vx SD Ax Vx t# 11 12 3

Akce s kvalifikátory DS-R Akce se začne provádět v kroku, v němž je s kvalifikátorem DS se zadaným zpožděním, ukončí se vstupem do kroku k kvalifikátorem R Akce s kvalifikátory SL-R Akce se začne provádět v kroku, v němž je s kvalifikátorem SL po dobu danou parametrem nebo než se dosáhne kroku s kvalifikátorem R DS Ax Vx t# SL Ax Vx t# 13 14 Příklady funkčních bloků (nenormativní) Ukazují možnosti implementace trochu složitějších FB Jména ani implementace ani nejsou povinné, jen informativní Příklady FB: DELAY zpoždění o N vzorků AVERAGE klouzavý průměr z N vzorků INTEGRAL integrátor signálu v čase DERIVATIVE diference vztažená k času PID PID regulátor 15 DELAY zpoždění signálu o N vzorků FUNCTION_BLOCK DELAY (* N-vzorkové zpoždění *) RUN : ; (* 1=run, 0=reset *) XIN : ; INT N : INT ; (* 0<=N<128 nebo výrobcem *) (* určená maximální hodnota *) DELAY RUN XOUT XIN N VAR_OUTPUT XOUT : ; (* Zpožděný výstup *) VAR X : ARRAY [0..127] OF ; (* Fronta FIFO s N vzorky *) I, IXIN, IXOUT : INT := 0; (* Chyba, když je RUN nastaven hned *) IF RUN THEN (* při prvním průchodu *) IXIN := MOD(IXIN + 1, 128) ; X[IXIN] := XIN ; IXOUT := MOD(IXOUT + 1, 128) ; XOUT := X[IXOUT]; ELSE XOUT := XIN ; IXIN := N ; IXOUT := 0; FOR I := 0 TO N DO X[I] := XIN; END_FOR; 16 4

AVERAGE klouzavý průměr z N vzorků INTEGRAL integrátor signálu v čase AVERAGE FUNCTION_BLOCK AVERAGE (* Klouzavý průměr z N vzorků *) RUN XOUT XIN RUN : ; (* 1=run, 0=reset *) XIN : ; INT N N : INT ; (* 0<=N<128 nebo výrobcem *) (* určená maximální hodnota *) VAR_OUTPUT XOUT : ; (* Zprůměrovaný výstup *) VAR SUM : := 0.0; (* Sčítací proměnná *) FIFO : DELAY ; (* Fronta FIFO s N vzorky *) SUM := SUM - FIFO.XOUT ; FIFO (RUN := RUN, XIN := XIN, N := N) ; SUM := SUM + FIFO.XOUT ; IF RUN THEN XOUT := SUM/N ; ELSE SUM := N*XIN ; XOUT := XIN ; 17 FUNCTION_BLOCK INTEGRAL (* Integrace v čase *) RUN : ; (* 1=integruj, 0=drž *) R1 : ; (* prioritní reset *) XIN : ; (* vstupní proměnná *) X0 : ; (* počáteční hodnota *) CYCLE : TIME;(* perioda vzorkování *) VAR_OUTPUT Q : ; (* negace R1 *) XOUT : ; (* Integrovaný výstup *) Q := NOT R1 ; IF R1 THEN XOUT := X0 ; ELSIF RUN THEN XOUT := XOUT + XIN * TIME_TO_(CYCLE); TIME INTEGRAL RUN Q R1 XIN XOUT X0 CYCLE 18 DERIVATIVE aproximace derivace PID PID regulátor FUNCTION_BLOCK DERIVATIVE (* Diferenciace v čase *) RUN : ; (* 0 = reset *) XIN : ; (* diferencovaný vstup *) CYCLE : TIME;(* perioda vzorkování *) VAR_OUTPUT XOUT : ; (* Diferencovaný výstup *) VAR X1, X2, X3 : ; TIME IF RUN THEN XOUT := (3.0 * (XIN - X3) + X1 - X2) / (10.0 * TIME_TO_(CYCLE)) ; X3 := X2 ; X2 := X1 ; X1 := XIN ; ELSE XOUT := 0.0; X1 := XIN ; X2 := XIN ; X3 := XIN ; DERIVATIVE RUN XIN XOUT CYCLE 19 FUNCTION_BLOCK PID PID AUTO : ; (* 0-man, 1 auto *) AUTO PV : ; (* řízená veličina *) PV XOUT SP : ; (* požadovaná hodnota *) X0 : ; (* výstup v ručním režimu *) SP KP : ; (* Proporcionální zesílení *) X0 TR : ; (* integrační čas. konstanta *) TD : ; (* derivační čas. konstanta *) KP CYCLE : TIME ; (* perioda vzorkování *) TR VAR_OUTPUT XOUT : ; TD VAR TIME CYCLE ERROR : ; (* PV - SP *) ITERM : INTEGRAL ; (* FB pro integrační část *) DTERM : DERIVATIVE ; (* FB pro derivační část *) ERROR := PV - SP ; (*** Přizpůsobení ITERM, aby XOUT := X0 když AUTO = 0 ***) ITERM (RUN := AUTO, R1 := NOT AUTO, XIN := ERROR, X0 := TR * (X0 - ERROR), CYCLE := CYCLE) ; DTERM (RUN := AUTO, XIN := ERROR, CYCLE := CYCLE) ; XOUT := KP * (ERROR + ITERM.XOUT/TR + DTERM.XOUT*TD) ; 20 5

Příklady FB zhodnocení Obdobné příklady v ŘS REX 1/2 FB v běžných PLC + Jednoduché algoritmy + Možnost vytváření vlastních FB a jejich knihoven s využitím existujících Často nejsou ošetřeny mezní stavy, např. v PID regulátoru unášení integrační složky Ručníošetření mezních stavů je pracné Nedostatky uvedených příkladů Krátké buffery (DELAY, AVERAGE), lze snadno zvětšit, je-li dost paměti DELAY: chyba při prvním průchodu, je-li nastaven příznak RUN AVERAGE: není vyřešena kumulace chyb INTEGRAL: příliš hrubá aproximace obdélníkovým pravidlem DERIVATIVE: odhad derivace je příliš závislý na šumu v signálu (použití 4 bodové formule) PID: neřeší standardní požadavky, např. bezrázové přepínání, unášení integrační složky, apod. 21 Bloky z knihovny FB RexLib (dostupná z www.rexcontrols.cz) Autorem většiny bloků je prof. Schlegel DEL, DELM, VDEL -bloky pro zpoždění Podstatně delší buffer, v současné implementaci až 10000 vzorků AVG klouzavý průměr z až 10000 vzorků Odstranění kumulace chyb INTE řízený integrátor, SINT jednoduchý integrátor Integrace se provádí lichoběžníkovou metodou DER derivace, filtrace, predikce z n+1 vzorků metodou nejmenších čtverců V případě velkého šumu lze zvětšovat hodnotu n PIDU, PIDUI, PIDMA, PIDAT, PIDGS různé varianty PID regulátorů Regulátory PIDMA a PIDAT jsou vybaveny vestavěnými algoritmy pro automatický návrh parametrů (autotunery) Detaily viz: Funkční bloky systému REX Referenční příručka. REX Controls, Plzeň, leden 2007. Dostupná na internetu 22 Obdobné příklady v ŘS REX 2/2 Bloky z knihovny AnalLib Bloky z knihovny RegLib 23 6