Princip činnosti a základy programování PLC

Před příchodem polovodičových logických obvodů byl vývoj logických řídicích systémů založen na elektromechanických relé. Dodnes nejsou relé svým určením zastaralá, ale přesto je v některých svých dřívějších funkcích nahrazuje regulátor.

V moderním průmyslu existuje velké množství různých systémů a procesů, které vyžadují automatizaci, ale nyní jsou takové systémy zřídka navrženy z relé. Moderní výrobní procesy vyžadují zařízení, které je naprogramováno k provádění různých logických funkcí.

Koncem 1960. let vyvinula americká společnost Bedford Associates počítačové zařízení s názvem MODICON (Modular Digital Controller). Později se název zařízení stal názvem divize společnosti, která jej navrhla, vyrobila a prodala.

Jiné společnosti vyvinuly své vlastní verze tohoto zařízení a nakonec se stalo známým jako PLC nebo programovatelný logický kontrolér. Cílem programovatelného regulátoru schopného simulovat činnost velkého množství relé bylo nahradit elektromechanická relé logickými prvky.

Princip činnosti a základy programování PLC

PLC má sadu vstupních svorek, které lze použít ke sledování stavu senzorů a spínačů. Existují také výstupní svorky, které poskytují “vysoký” nebo “nízký” signál pro indikátory napájení, solenoidové ventily, stykače, malé motory a další samomonitorovací zařízení.

Programování PLC je snadné, protože jejich programovací jazyk připomíná reléovou logiku. Takže průměrný průmyslový elektrikář nebo elektrotechnik, který je zvyklý číst schémata žebříkové logiky, se bude cítit pohodlně naprogramovat PLC pro provádění stejných funkcí.

Signálové připojení a standardní programování se mezi různými modely PLC mírně liší, ale jsou dostatečně podobné, aby umožnily “obecný” úvod do programování této jednotky.

Následující obrázek ukazuje jednoduché PLC, respektive jak by mohlo vypadat zepředu. Dvě šroubové svorky, které zajišťují připojení pro vnitřní obvody PLC do 120 VAC, jsou označeny L1 a L2.

Šest šroubových svorek umístěných na levé straně poskytuje připojení pro vstupní zařízení. Každá svorka představuje jiný vstupní kanál (X). Šroubová svorka (“společná” přípojka) umístěná v levém dolním rohu je obvykle připojena k L2 (neutrál) zdroje proudu 120 VAC.

Princip činnosti a základy programování PLC

Uvnitř skříně PLC, spojující každou vstupní svorku se společnou svorkou, je optoizolátor zařízení (LED), který poskytuje elektricky izolovaný „vysoký“ signál do obvodu počítače (fototranzistor interpretuje světlo LED), když je mezi napětím 120 V AC přiveden odpovídající vstupní svorku a společnou svorku. LED na přední straně PLC umožňuje vidět, který vstup je pod napětím:

Princip činnosti a základy programování PLC

Výstupní signály jsou generovány obvody počítače PLC aktivací spínacího zařízení (tranzistor, tyristor nebo dokonce elektromechanické relé) a připojením svorky Source (pravý dolní roh) k libovolnému výstupu označenému Y. Zdrojový terminál je obvykle spojen s L1. Stejně jako každý vstup je i každý aktivovaný výstup označen LED:

Princip činnosti a základy programování PLC

PLC se tak může připojit k jakémukoli zařízení, jako jsou spínače a elektromagnety.

Základy programování PLC

Moderní logika řídicího systému je instalována v PLC pomocí počítačového programu. Tento program určuje, které výstupy jsou pod napětím a za jakých vstupních podmínek. Přestože samotný program připomíná logické schéma relé, uvnitř PLC nepracují žádné spínací kontakty ani cívky relé, které by vytvářely spojení mezi vstupem a výstupem. Tyto kontakty a cívky jsou imaginární. Program je napsán a prohlížen pomocí osobního počítače připojeného k programovacímu portu PLC.

READ
Obklad fasády kovovými kazetami - technologie montáže kovových kazet

Zvažte následující obvod a program PLC:

Princip činnosti a základy programování PLC

Pokud není tlačítkový spínač aktivován (nestisknutý), není na vstup X1 vysílán žádný signál. V souladu s programem, který ukazuje „otevřený“ vstup X1, nebude signál odeslán na výstup Y1. Výstup Y1 tedy zůstane bez napětí a indikátor k němu připojený zhasne.

Pokud je stisknutý tlačítkový spínač, bude signál odeslán na vstup X1. Všechny kontakty X1 v programu převezmou aktivovaný stav, jako by to byly kontakty relé aktivované přivedením napětí na cívku relé s názvem X1. V tomto případě se otevřený kontakt X1 “sepne” a vyšle signál do cívky Y1. Když je cívka Y1 pod napětím, výstup Y1 se rozsvítí s připojenou žárovkou.

Princip činnosti a základy programování PLC

Mělo by být zřejmé, že kontakt X1 a cívka Y1 jsou spojeny vodiči a “signál”, který se objeví na monitoru počítače, je virtuální. Neexistují jako skutečné elektrické komponenty. Jsou přítomny pouze v počítačovém programu – kusu softwaru – a pouze připomínají to, co se děje v reléovém obvodu.

Stejně důležité je pochopit, že počítač použitý k zápisu a úpravě programu není pro další použití PLC potřeba. Po stažení programu do programovatelného automatu lze počítač vypnout a PLC bude provádět příkazy programu samo. Abychom pochopili vztah mezi skutečnými podmínkami (sepnutí spínače a stavy lampy) a stavy programu (signály přes virtuální kontakty a virtuální cívky), do obrázku jsme zařadili PC monitor.

Skutečná síla a všestrannost PLC se ukáže, když chceme změnit chování řídicího systému. Vzhledem k tomu, že PLC je programovatelné zařízení, můžeme měnit zadané příkazy, aniž bychom museli překonfigurovat komponenty k němu připojené. Předpokládejme, že se rozhodneme přeprogramovat funkci spínače-světla v opačném směru: stisknutím tlačítka světlo vypnete a jeho uvolněním jej zapnete.

Řešením takového problému v reálných podmínkách je, že spínač, „otevřený“ za normálních podmínek, je nahrazen „sepnutým“. Jeho softwarovým řešením je změna programu tak, že kontakt X1 je za normálních podmínek „sepnut“ a nikoli „rozpojen“.

Na následujícím obrázku uvidíte již upravený program s neaktivovaným přepínačem:

Princip činnosti a základy programování PLC

A zde je spínač aktivován:

Princip činnosti a základy programování PLC

Jednou z výhod implementace logického řízení v softwaru, na rozdíl od hardwarového řízení, je to, že vstupní signály lze použít tolikrát, kolikrát je potřeba. Zvažte například obvod a program navržený tak, aby rozsvítil žárovku, pokud jsou současně aktivovány alespoň dva ze tří spínačů:

Princip činnosti a základy programování PLC

Sestavení podobného obvodu pomocí relé by za normálních podmínek vyžadovalo tři relé se dvěma otevřenými kontakty, z nichž každý musí být použit. S použitím PLC však můžeme bez přidání dalšího hardwaru naprogramovat pro každý vstup “X” tolik kontaktů, kolik bychom chtěli (každý vstup a výstup by neměl zabírat více než 1 bit v digitální paměti PLC) a volat je tolikrát, kolikrát je potřeba.

READ
Původní dřevěné schodiště z kulatiny

Navíc, protože každý výstup PLC zabírá ve své paměti maximálně jeden bit, můžeme kontakty naprogramovat nastavením výstupu Y do neaktivního stavu. Vezměme si například schéma motoru s řídicím systémem start a stop:

Princip činnosti a základy programování PLC

Spínač připojený ke vstupu X1 slouží jako tlačítko “Start”, zatímco spínač připojený ke vstupu X2 slouží jako tlačítko “Stop”. Další kontakt, pojmenovaný Y1, stejně jako těsnění v kontaktu, umožňuje stykači motoru zůstat pod napětím, i když je uvolněno spouštěcí tlačítko. Jak to uděláte, můžete vidět, jak se kontakt X2, za normálních podmínek „uzavřený“, objeví v barevném bloku, což znamená, že je v „sepnutém“ („vodivém“) stavu.

Pokud stisknete tlačítko “Start”, “zavřený” kontakt X1 propustí proud a pošle 120 VAC do stykače motoru. Paralelní kontakt Y1 se také „zavře“, čímž se obvod dokončí:

Princip činnosti a základy programování PLC

Pokud nyní stiskneme tlačítko “Start”, kontakt X1 přejde do stavu “otevřeno”, ale motor bude pokračovat v chodu, protože sepnutý kontakt Y1 bude stále udržovat cívku pod napětím:

Princip činnosti a základy programování PLC

Chcete-li zastavit motor, musíte rychle stisknout tlačítko “Stop”, které přivede napětí na vstup X1 a “otevřený” kontakt, což povede k ukončení napájení cívky Y1:

Princip činnosti a základy programování PLC

Když stisknete tlačítko “Stop”, vstup X1 zůstal bez napětí, čímž se kontakt X1 vrátí do normálního “sepnutého” stavu. Motor se za žádných okolností znovu nerozběhne, dokud znovu nestisknete tlačítko start, protože se ztratil tisk na kontaktu Y1:

Princip činnosti a základy programování PLC

Model řídicích zařízení PLC odolný proti poruchám je velmi důležitý, stejně jako u elektromechanických reléových řídicích zařízení. Vždy je nutné počítat s vlivem chybně „rozepnutého“ kontaktu na chod systému. Takže například v našem případě, pokud je kontakt X2 chybně „otevřený“, nebude žádný způsob, jak zastavit motor!

Řešením tohoto problému je přeprogramovat pin X2 uvnitř PLC a skutečně stisknout tlačítko Stop:

Princip činnosti a základy programování PLC

Pokud není stisknuto tlačítko “Stop”, vstup PLC X2 je pod napětím, tzn. kontakt X2 je “sepnut”. To umožňuje motoru nastartovat, když je X1 pod napětím, a pokračovat v chodu, když tlačítko Start uvolníte. Když stisknete tlačítko “Stop”, kontakt X2 přejde do stavu “otevřeno” a motor se zastaví. Můžete tedy vidět, že mezi tímto a předchozím modelem není žádný funkční rozdíl.

Pokud však byl vstup X2 chybně “otevřen”, lze vstup X2 zastavit stisknutím tlačítka “Stop”. V důsledku toho se motor okamžitě vypne. Tento model je bezpečnější než předchozí, kde stisknutí tlačítka „Stop“ znemožní zastavení motoru.

Kromě vstupů (X) a výstupů (Y) má PLC možnost použití „vnitřních kontaktů a cívek. Používají se stejným způsobem jako mezilehlá relé používaná ve standardních reléových obvodech.

READ
Jednotrubkový otopný systém s nuceným oběhem - popis, montáž, schémata!

Abyste pochopili, jak fungují „vnitřní“ obvody a kontakty, zvažte následující obvod a program, navržený na principu tří vstupů logické funkce AND:

Princip činnosti a základy programování PLC

V tomto obvodu lampa svítí, dokud není stisknuto některé z tlačítek. Chcete-li lampu vypnout, stiskněte všechna tři tlačítka:

Princip činnosti a základy programování PLC

Tento článek o programovatelných logických automatech ilustruje pouze malý výběr jejich možností. Jak může PLC počítač vykonávat další pokročilé funkce s mnohem větší přesností a spolehlivostí než při použití elektromechanických logických zařízení. Většina PLC má více než šest vstupů a výstupů. Následující obrázek ukazuje jedno z PLC Allen-Bradley:

Princip činnosti a základy programování PLC

S moduly, z nichž každý má 16 vstupů a výstupů, má toto PLC schopnost ovládat tucet zařízení. PLC umístěné v rozvaděči zabírá málo místa (elektromechanická relé, která plní stejné funkce, by vyžadovala mnohem více volného místa).

Princip činnosti a základy programování PLC

Jednou z výhod PLC, které jednoduše nelze duplikovat elektromechanickým relé, je vzdálené monitorování a ovládání prostřednictvím počítačových digitálních sítí. Protože PLC není nic jiného než vyhrazený digitální počítač, může snadno „mluvit“ s jinými počítači. Na následující fotografii je graficky znázorněn proces plnění kapalinou (čerpací stanice komunálních čistíren odpadních vod) řízený PLC. Samotná stanice se přitom nachází několik kilometrů od monitoru počítače.

Překlad z angličtiny – Julia Surta.

strukturovaný text

Představujeme knihu Structured Text (ST) IEC 61131-3. Autor — Sergej Romanov

Kniha “Learning Structured Text IEC 61131-3”: Odkaz na knihu

Doufám, že vám tento článek pomohl. Podívejte se také na další články z kategorie Elektrická energie doma a v práci » Automatizační zařízení

Dobrý den, milí obyvatelé Habru!
Po přečtení příspěvku o programování PLC Siemens řady S7 jsem se dostal do vyhledávání Habr a byl jsem velmi překvapen, že téma průmyslové automatizace obecně a programování PLC zvláště je pokryto velmi, velmi špatně. Dovolím si podělit se o své zkušenosti v této oblasti, popisující základní principy programování PLC, zejména těch vyrobených společností Beckhoff.

Pracuji v oblasti automatizace budov. Stalo se tak, že naše systémy stavíme především na bázi Beckhoff PLC. Tato volba byla učiněna především proto, že tyto regulátory jsou volně programovatelné v plném slova smyslu. Co to znamená? Vezměte si například ovladač TAC Xenta a zkuste jej vyměnit s externím zařízením přes RS232 pomocí vašeho vlastního protokolu, na úrovni „byte odesláno – byte přijato“. Nebude to fungovat, tyto řadiče nevědí jak – používejte pouze ty protokoly, které do nich vložil vývojář. Ale Beckhoff může. Než se ale pustíme do takových divočin, podívejme se na vývojové prostředí? V jakém jazyce budeme psát?

Norma IEC 61131-3

Průmyslové PLC jsou programovány v jazycích IEC 61131-3. Těchto jazyků je celkem 5, někteří výrobci přidávají vlastní. Jazyky si nejsou vůbec podobné a při pozorování svých kolegů mohu předpokládat, že výběr toho či onoho jazyka souvisí především s tím, co člověk dělal, než přišel do tohoto odvětví.

  1. IL, seznam pokynů Podobné jako assembler. Nikoho jsem neviděl používat, ale mám podezření, že to ocení kodéři ze staré školy, kteří děrovali štítky zpaměti.
  2. LD, žebříkový diagram. Vizuální jazyk pro ty, kteří se podíleli na vývoji reléových automatizačních obvodů.
  3. ST, strukturovaný text. Ze všeho nejvíc připomíná „klasické“ programovací jazyky, trochu podobné Pascalu. Proto to oceňují ti, kteří se před PLC zabývali programováním v jiných jazycích a platformách, zejména já.
  4. FBD, funkční blokové schéma. Jakési blokové schéma, milujeme především technology, kteří se rozhodnou jít do programování, pro jejich přehlednost.
  5. SFC, sekvenční funkční schéma. Grafický jazyk, víc neřeknu. Nikdy jsem to neviděl použité.
READ
Pravidla pro stavbu základů domu

Z ne všech podporovaných jazyků stojí za zmínku jazyk CFC (kontinuální vývojový diagram), Beckhoff jej podporuje. Jedná se o další vývoj jazyka FBD, jedním z nejvýraznějších rozdílů je podle mého názoru podpora explicitní zpětné vazby v obvodech. Proč je to potřeba? Například takový generátor krátkých pulzů bude fungovat na CFC, ale ne na FBD.

Blok TON je standardní blok, časovač zpoždění zapnutí. Operační logika: výstup Q se stane TRUE, když je vstup IN TRUE alespoň po dobu PT.
Pravděpodobně nejoblíbenějším vývojovým prostředím PLC je CoDeSys. Mnoho výrobců to bere jako základ a buď pro něj vytvoří knihovnu, aby fungovalo s jejich PLC, nebo si dotvoří prostředí pro sebe.

Jak funguje PLC?

Program PLC běží cyklicky. Doba cyklu může být od jednotek milisekund do jednotek sekund, v závislosti na úkolech přiřazených tomuto PLC. Většina PLC umožňuje nastavit dobu cyklu pro návrháře programu, ale některé modely to neumožňují. Mnoho PLC, zejména Beckhoff, umožňuje vytvořit více než jednu cyklicky prováděnou úlohu v jednom programu a nastavit pro tyto úlohy prioritu. Co nám dává tuto příležitost?
Představte si situaci: PLC ovládá ventilační jednotku a ovládací panel je k ní připojen přes RS232. Teplota v místnostech se nemění rychle a nemá smysl spouštět algoritmus řízení ventilace častěji než jednou za 50 – 100 ms. Na druhou stranu, operátorský panel se dotazuje regulátor neustále a zpoždění v odezvě PLC větší než 10 ms se již projevuje „zpomalením“ uživatelského rozhraní a se zpožděním 20 ms hardwarovou vyrovnávací pamětí COM port přeteče. Přítomnost několika úloh nám umožňuje tento problém krásně vyřešit: nechte „rychlou“ úlohu pracovat s portem COM a je volána každé 2 ms a „pomalá“ implementuje logiku provozu ventilace a je volána každých 50 ms. Vše funguje dobře, ovládací panel nezpomaluje, uživatel je spokojen.

A co mají tyto žlázy uvnitř?
  1. Můžete dělat „vše v jedné krabici“ – hlavu, určitou sadu vstupů / výstupů, několik možností konfigurace – tady máme více vstupů, tady je jich méně, tady je hlava výkonnější, tady slabší. Stejně tak například Carel a mnoho dalších. U malého projektu se tento přístup může nějakým způsobem ospravedlnit.
  2. Osobně se mi ale zdá, že jiný přístup poskytuje větší flexibilitu. Hlava je samostatná a přes sběrnici je k ní připojen typový “ocas” I/O modulů. Instalujeme moduly, které potřebujeme a v množství, které potřebujeme. Dělají to například Beckhoff a Siemens.
READ
Potřebujete koberce do kuchyně?

obraz

Další možností je ale hlava Beckhoff řady CX9000 (na fotce vlevo) se sadou I/O modulů.

Mimo jiné je na hlavě stále určitá sběrnice, která umožňuje připojit PLC k síti a často také měnit jeho program přes stejnou síť. Jaký druh sítě to bude, záleží na PLC. Ti, kteří se nesetkali s průmyslovými sítěmi EIA-485, Profibus, CAN a možná i docela známým Ethernetem, to možná nezná. Prostřednictvím této sítě, zvané fieldbus, je PLC připojeno k vyšší úrovni – například ke SCADA systému. Na fotce výše jsou jasně vidět 2 konektory 8P8C na Beckhoffově hlavě – to je Ethernet a Carel má (špatně, opravdu) vlevo nahoře 2 konektory 6P4C – takhle udělali RS-485. Toto rozhraní bohužel nemá obecně uznávaný konektor.

Takže stejně, jak pro to napsat programy?

Obecně se nejedná o téma článku, ale celé knihy. Ale řeknu vám, co jsem viděl z vlastní zkušenosti, a budiž to moucha.
Profesionálním programátorům bude ovládání PLC v mnoha ohledech připadat jako degradace. OOP? Nemáme je, existují pouze struktury, výčty a druh třídy nazývaný „funkční blok“. Co je Soukromé, Veřejné a tak dále, můžete také rovnou zapomenout – nepřijde vám to vhod. Z libovolného místa ve vašem programu máte přístup k jakémukoli jinému místu.
Dynamická alokace paměti? My je vůbec nemáme. Nejste si jisti, kolik dat vám bude zasláno? Přidělte vyrovnávací paměť s rezervou a zapomeňte na tuto paměť – nebudete ji moci uvolnit. Nebo ukažte zázraky rychlosti a zpracujte data za chodu, pokud se vám podaří dodržet zadanou dobu cyklu.
Výjimky? Co jsi. viděl jsem jeden zázrak, který pevně visel při provádění konstrukce formuláře:

Je jasné, že přetečení nevejde foo * bar do 16 bitů, ale proč potom viset? Navíc nic jiného než reset napájení nepomáhá.
Vývojové prostředí? Ne každý má CoDeSys, mnozí chtějí být originální a napsat něco vlastního. Jedno z těchto prostředí s vlastním zápisem se zhroutilo s chybou běhu při pokusu zapsat číslo 86400 do 16bitového INT. A říkáte zpracování výjimek na PLC. Ne vždy to jde normálně ve vývojovém prostředí udělat.

ALE! Ale pro milovníky té jemné čáry, která odděluje hardware od softwaru, je hovorový software opravdu velmi zajímavým odvětvím IT.

Doufám, že vám tato malá recenze pomůže. Pokud má habrasociety o toto téma zájem, pak vám řeknu více o PLC.

Leave a Reply

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: