kategória: Domáca automatizácia, Programovateľné ovládače
Počet zobrazení: 28074
Komentáre k článku: 0

Jazyk funkčnej blokovej schémy (FBD) a jeho aplikácia

 

Jedným z populárnych programovacích jazykov PLC - programovateľné logické radiče, je grafický jazyk funkčných blokových diagramov FBD - Function Block Diagram. Tento jazyk, spolu s inými jazykmi IEC 61131-3, ako napríklad logický jazyk rebríka (LD), používa vo svojej architektúre akýsi elektronický obvod.

Program napísaný v tomto jazyku pre ovládač pozostáva z určitého zoznamu obvodov, ktoré sa vykonávajú jeden po druhom zhora nadol. Okrem toho existuje možnosť priradiť štítky jednotlivým reťazcom, v tomto prípade budú k dispozícii pokyny na prechod na štítok, aby sa zmenila postupnosť vykonania reťazcov a vytvorili podmienky a cykly.

Jazyk schémy funkčných blokov (FBD)

Program napísaný v grafickom jazyku FBD je teda súbor funkčných blokov navzájom prepojených, ktorých výstupy a vstupy sú spojené pomocou komunikačných liniek. Komunikačné linky odrážajú určité programové premenné, prostredníctvom ktorých sa údaje vymieňajú z jedného bloku na druhý.

Samostatný blok nesie špecifickú funkciu (logický „a“, „nie“, počítadlo atď.), Zatiaľ čo jeden blok môže mať niekoľko výstupov a vstupov. Na začiatku sú hodnoty premenných stanovené konštantami alebo zo špeciálnych vstupov a ich výstupy sú ďalej spojené s inými programovými premennými alebo s výstupmi PLC.

Obrázok ukazuje príklad programu napísaného v jazyku funkčnej blokovej schémy FBD. Ako vidíte, tento obrázok programu veľmi jasne odráža algoritmus, vďaka ktorému je tento jazyk celkom jednoduchý a vhodný na vývoj softvéru pre PLC.

Pri programovaní v jazyku FBD sa používajú štandardné bloky z knižníc aj bloky napísané v FBD alebo v iných jazykoch normy IEC 61131-3. Blok je programový prvok, druh podprogramu, funkčný blok alebo funkcia (logická „NOT“, „OR“, „AND“, časovač, počítadlo, spúšť, matematická operácia, spracovanie analógového signálu atď.).

Z týchto blokov sú graficky zostavené výrazy, ktoré tvoria reťazce: nasledujúci blok je spojený s výstupom jedného bloku, potom ďalšieho bloku, a tak sa vytvárajú reťazce. V priebehu obvodu poradie vykonávania blokov zodpovedá poradiu ich pripojenia a výsledok vykonávania obvodu je buď privedený na výstup PLC alebo zapísaný do nejakej vnútornej premennej.

Funkčné bloky

Zoberme si časť programu napísanú v jazyku FBD: Vynásobte 4, potom vydelte A a výsledok napíšte do premennej výsledok. V pseudokódu bude vyzerať takto: výsledok: = B * 4 / A. Je tiež možné pridať do blokov špeciálne riadiace vstupy EN a ENO na ovládanie volaní jednotlivých blokov: logická nula použitá na vstup EN zakáže vyvolanie tohto bloku a výstup ENO ho bude hlásiť v prípade chyby, a tým preruší vykonávanie obvodu až do konca. ,


Ako vidíte, jazyk FBD je mimoriadne vizuálny, pohodlný, a preto sa ho ľahko učia aj aplikační špecialisti, ktorí nemajú špeciálne vzdelanie v oblasti informatiky. Kód sa vykonáva postupne, štruktúra príkazov vo vnútri kódu je jednoduchá, preto sa program vysiela veľmi rýchlo a úloha sa vykonáva spoľahlivo.

Programovací jazyk FBD

Existujú rôzne úpravy programovacieho jazyka FBD, ktoré sa vyznačujú prítomnosťou určitých obmedzení alebo rozšírení.

Napríklad existuje variant FBC, ktorý umožňuje použitie čistých funkcií iba s jedným výstupom bez stredných premenných - modifikácia funkčného programovania.

Alebo modifikáciu CFC (Continuous Function Chart), ktorá vám umožňuje nastaviť poradie vykonávania grafu nielen podľa postupného reťazca, ale podľa uváženia vývojára softvéru. S CFC získa vývojár väčšiu slobodu, hoci kód je dlhší.

Pozri tiež túto tému:Programovacie jazyky PLC a automatizačná softvérová platforma CoDeSys

Pozri tiež na electro-sk.tomathouse.com:

  • LD Ladder Language a jeho aplikácia
  • Programovacie jazyky PLC a automatizačná softvérová platforma CoDeSys
  • Schémy štartovania motora v rebríčku rebríkov jazyka LD pre PLC
  • Príklad modernizácie elektrického obvodu nákladného výťahu pomocou ...
  • Video kurz o práci s ovládačom Aries PLC110 v prostredí CODESYS2.3

  •