Programy pro programování různých PLC. Princip činnosti a základy programování PLC

Ovladač je ovládací zařízení. Skutečně funkční se stane pouze tehdy, když vytvoříte a spustíte program, který jej použije.

Z toho vyplývá hlavní úkol programovatelného logického automatu - provádění programu, který řídí proces.

Jaká sada programů je k dispozici pro PLC? V zásadě je možná jakákoliv sada. Hlavní věc je, že velikost volných zdrojů tohoto nástroje by vám neměla být překážkou. Vývojář dostane dostatek příležitostí pro psaní programů.

Co je potřeba k naprogramování ovladače? Nejprve potřebujete programátora, který by této problematice důkladně rozuměl. Zadruhé potřebujete samotný počítač a samozřejmě vývojový balíček.

Funkčnost vývojových nástrojů

Obvykle je vývojový balíček za příplatek. Ačkoli se v zásadě často setkáváme s tím, že tento balíček je již zpočátku součástí instalačního softwaru.

Jakou funkcionalitu nabízí vývojové prostředí?

  1. Velká sada knihoven, programových bloků, určitých postupů a hotových šablon.
  2. Nástroje pro kontrolu, testování a spouštění programu na počítači, který obchází řadič.
  3. Je také navržen nástroj pro automatizaci dokumentace vytvořeného programu v rámci přijatých standardů.

A na závěr je nutné poznamenat hlavní výhodu – je to podpora asi šesti programovacích jazyků. Jedinou nevýhodou je, že kompatibilita programu je implementována na nízké úrovni. Výrobci PLC nepřišli k unifikaci a každý vydává toto zařízení s vlastním softwarovým prostředím.

Typy programovacích jazyků pro PLC

  • jazyk LD

LD (Ladder) je vývojové prostředí, které je založeno na grafice. Svým způsobem jde o jakýsi reléový obvod. Vývojáři tohoto standardu věří, že použití tohoto typu softwarového prostředí značně usnadňuje přeškolení techniků reléové automatizace na PLC.

Mezi hlavní nevýhody tohoto programovacího jazyka patří neefektivnost při zpracování procesů s velkým počtem analogových proměnných, protože je vytvořen tak, aby reprezentoval diskrétní procesy.

  • jazyk FBD

FBD (Function Block Diagram) - Zde se také používá grafické programování. Obrazně řečeno, FBD definuje určitou multiplicitu funkčních bloků, které mají propojení (vstup a výstup).

Linková data jsou variabilní a přenášejí se mezi bloky. Každý blok samostatně může představovat určitou operaci (spouštěč, logické „nebo“ atd.). Proměnné jsou definovány pomocí specifických bloků a výstupní obvody mohou být propojeny s konkrétními výstupy regulátoru nebo s globálními proměnnými.

  • jazyk SFC

SFC (Sequential Function Chart) - lze použít s jazyky ST a IL, je také založen na grafu. Principem jeho konstrukce se blíží obrazu konečného automatu, tato podmínka jej odkazuje k nejvýkonnějším programovacím jazykům.

Technologické procesy, v tomto jazyce, jsou stavěny podle typu určitých kroků. Kroková struktura se skládá z vertikály, která jde shora dolů. Každý krok je specifická operace. Operaci můžete popsat nejen pomocí SFC, ale také pomocí ST a IL.

Jakmile je krok dokončen, následuje akce k převedení řízení na další krok. Přechod mezi kroky může být dvojího druhu. Pokud je v kroku splněna nějaká podmínka a dalším krokem je přechod na další krok, jedná se o podmíněný přechod. Pokud jsou však všechny podmínky v daném kroku plně splněny a teprve poté se provede přechod na další krok, jedná se o bezpodmínečný přechod.

  • jazyk ST

ST (Structured Text) odkazuje na jazyky na vysoké úrovni a má mnoho podobností s Pascalem a Basicem.

ST umožňuje interpretovat více než šestnáct typů dat a má schopnost pracovat s logickými operacemi, cyklickými výpočty atd.

Malým nedostatkem je chybějící grafické prostředí. Programy jsou prezentovány ve formě textu a tato podmínka komplikuje vývoj techniky.

  • jazyk IL

IL (Instruction List) – jazyk podobný Assembleru, obvykle se používá pro individuální kódování bloků. Výhodou je, že tyto bloky mají vysokou rychlost a nízké nároky na zdroje.

  • jazyk CFC

CFC (Continuous Flow Chart) – odkazuje na jazyky na vysoké úrovni. V zásadě jde o výslovné pokračování jazyka FBD.

Proces návrhu spočívá v použití připravených bloků a jejich umístění na obrazovku. Dále jsou nakonfigurovány a jsou umístěny spoje mezi nimi.

Každý blok je řízením určitého technologického procesu. Zde je hlavní zkreslení technologického procesu, matematika jde stranou.

Vezměme si jako příklad nejjednodušší úkol: lis je nutné zapnout 1 sekundu poté, co operátor současně podrží dvě tlačítka ve stisknutém stavu. Zajistíme tak obsazení obou rukou obsluhy a dáme mu čas na kontrolu připravenosti stroje. Nejjednodušším řešením je zapojit kontakty obou tlačítek do série a dát elektronické relé s časovačem. Pokud časovač umožňuje úpravu doby zpoždění, pak takové schéma poskytne určitou flexibilitu systému, ale ne příliš.

Jakékoli dodatečné podmínky, jako je požadavek na kontrolu sledu stisku tlačítek, nás dostanou do složité situace – budeme nuceni změnit obvod zavedením dalších relé. To není obtížný problém, za předpokladu, že taková potřeba nastane velmi zřídka.

Ale v konkurenčním výrobním prostředí je kritický čas uvedení na trh, a tak pokud jde o flexibilní automatizovanou výrobu, změny musí být provedeny rychle a levně.

Dalším problémem je nárůst složitosti řídicího systému s rozvojem výroby a vznikem dalších funkcí (komplikace algoritmu provozu).

Každý specialista na automatizaci také čelil problému sestavení řídicího systému pro zařízení v oblasti, která je mu neznámá: nedostatek jasného popisu problému, vznik nových podmínek při zavádění zařízení může znemožnit projekt úspěšně realizovat.

Bylo nutné vytvořit řídicí zařízení, jehož algoritmus činnosti by bylo možné změnit bez změny schématu zapojení řídicího systému, a v důsledku toho vznikla logická myšlenka nahradit řídicí systémy „tvrdou“ logikou provozu (soubor relé , regulátory, časovače atd.) s automaty s programově specifikovanou logikou práce. Tak se narodili programovatelné logické automaty (PLC). Poprvé byly PLC použity v USA k automatizaci montážních linek v automobilovém průmyslu (1969).

Vzhledem k tomu, že v definici „programovatelného logického automatu“ bylo hlavní věcí „programovatelný“, téměř okamžitě vyvstala otázka, jak naprogramovat PLC?

Algoritmické počítačové programovací jazyky té doby byly zaměřeny na řešení výpočetních problémů. Povolání programátora bylo považováno za extrémně vzácné a obtížné, v žádné produkci nebyli takoví specialisté. Ideální variantou by byl automatický překlad schémat zapojení reléových automatů do programů pro PLC.

Proč ne? Takže v PLC se objevil jazyk schémat relé-kontakt (RKS nebo LD v anglických zdrojích Ladder Diagram). Technolog mohl „překreslit“ schéma řízení na displej programovací stanice PLC. Schéma samozřejmě nebylo znázorněno graficky, ale pomocí konvenčních symbolů.

Výše popsaná úloha by mohla být naprogramována například takto:

Vlevo a vpravo v takovém programu vidíme vertikální napájecí kolejnice spojené horizontálními obvody. Obvody se mohou skládat z jejich kontaktů a některých doplňkových prvků (například časovače) zapojených paralelně nebo sériově. Vpravo je každý okruh zakončen vinutím relé. Kontakty tohoto relé mohou být zase přítomny v jiných obvodech. Je tedy možné sestavit poměrně složitý obvod podobný funkčnosti skutečnému reléovému obvodu.

První programovací stanice byla velmi objemná zařízení přepravovaná několika lidmi. Přesto PLC aktivně začala nahrazovat ještě objemnější a hlavně reléové automatizační skříně s „tvrdou“ logikou.

Fyzicky je PLC jeden nebo více bloků, které mají určitou sadu výstupů a vstupů pro připojení senzorů a akčních členů (viz obr. 1).

Logika jeho práce je popsána softwarem a vykonávána vestavěným mikroprocesorem. Díky tomu mohou zcela identické PLC vykonávat zcela odlišné funkce. Ke změně provozního algoritmu nejsou nutné žádné úpravy hardwaru.

Rýže. 1. Princip činnosti PLC

Vývoj elektroniky vedl k úžasné miniaturizaci PLC. Dnes existují miniaturní programovatelné regulátory vybavené malým displejem a vestavěnými programovacími možnostmi, takovým regulátorům se říká programovatelná relé. Typickými úkoly programovatelných relé jsou velmi jednoduché lokální systémy s až tuctem vstupů a několika výkonovými reléovými výstupy.

Napsat složitější program pomocí vestavěné konzole není snadné. Podobně můžeme snadno psát text SMS na klávesnici mobilního telefonu, ale problematické se jeví i zadávání několika stránek textu, nemluvě o velkých objemech. K tomu slouží osobní počítače (PC), které poskytují člověku mnohem pohodlnější pracovní podmínky.

Jedno moderní PLC může nahradit desítky regulátorů, stovky časovačů a tisíce relé. Pomocí PC není programování takového systému vůbec složité. Využití PC jako programovací stanice PLC je dnes dominantním řešením. To nejen zjednodušuje programování, ale také řeší problémy s archivací projektů, přípravou dokumentace, vizualizací a modelováním. Počítač poskytuje pohodlný univerzální nástroj jak pro programování nejjednodušších lokálních úloh na PLC, tak pro APCS.

Vezměte prosím na vědomí, že když mluvíme o programování PLC, stále se vracíme k tomu, jak tento proces učinit jednoduchým a přátelským pro člověka. Zdálo by se, že jednou naprogramované PLC bude fungovat roky a není příliš důležité, zda jeho program vypadá krásně, hlavní je, že funguje dobře.

Bohužel tomu tak není. Potřeba změny programu v PLC vzniká pravidelně a někdy i nečekaně. Proto by měla být psána tak, aby ji každý člověk, nejen její autor, rychle pochopil a pohotově provedl potřebná vylepšení. Tvrzení, že programy jsou napsány pro PLC, není zcela správné.

Všechny programy jsou napsány člověkem a jsou určeny ke čtení člověkem. Jakékoli programovací nástroje nakonec dávají instrukce mikroprocesoru v jeho strojových kódech. Nezáleží mu na tom, v jakém jazyce je program napsán.

Výše zmíněný byl vynalezen v USA v období reléové automatizace. Móda PLC přišla do Evropy o něco později, kdy již byly reléové skříně úspěšně nahrazeny skříněmi s logickými mikroobvody. Proto bylo potřeba vymyslet další programovací jazyky srozumitelné pro novou generaci inženýrů.

Takže v Německu se objevily jazyky jednoduchých textových instrukcí připomínajících assembler (IL). Ve Francii vznikly grafické a vysokoúrovňové diagramy pro popis fází a podmínek přechodů (Graphset, moderní SFC). Používaly se i jazyky používané pro počítačové programování (Pascal, Basic). Koncem sedmdesátých let se vyvinula mimořádně složitá situace.

Každý výrobce PLC (včetně SSSR) vyvinul svůj vlastní programovací jazyk, takže PLC od různých výrobců byly softwarově nekompatibilní a také se objevil problém nekompatibility hardwaru. Nahradit PLC produktem jiného výrobce se stalo obrovským problémem. Kupující PLC byl nucen používat produkty pouze jedné společnosti, nebo vynakládat energii na učení se různých jazyků a peníze na nákup příslušných nástrojů.

V důsledku toho byla v roce 1979 v rámci Mezinárodní elektrotechnické komise (IEC) vytvořena speciální skupina technických expertů na problémy PLC. Měla za úkol vyvinout standardní požadavky na hardware, software PLC, pravidla pro instalaci, testování, dokumentaci a komunikaci.

V roce 1982 byl publikován první návrh verze normy, který byl pojmenován IEC 1131. Vzhledem ke složitosti výsledného dokumentu bylo rozhodnuto jej rozdělit do několika částí, třetí část normy „PLC Programming Languages“ je tzv. věnované problematice programování.

Od roku 1997 přešla IEC na 5 digitálních označení, v současnosti je správný název pro mezinárodní verzi části normy věnované programovacím jazykům PLC IEC 61131-3. Pracovní skupina IEC učinila poměrně originální rozhodnutí. Z celé řady programovacích jazyků PLC, které existovaly v době vývoje standardu programovacího jazyka PLC, bylo identifikováno 5 jazyků, které byly nejrozšířenější.

Specifikace jazyků byly vylepšeny tak, aby bylo možné používat standardizovanou sadu prvků a datových typů v programech napsaných v kterémkoli z těchto jazyků. Tento přístup IEC byl více než jednou kritizován, ale čas prokázal správnost tohoto rozhodnutí.

Implementace tohoto přístupu umožnila zapojit do programování stejného PLC specialisty různých oblastí znalostí (a hlavně různé kvalifikace): specialisty na programování automatizace relé (a dokonce i elektrikáře) v LD, specialisty v oblasti polovodičové obvody a automatické řízení, pro které je jazyk FBD známý, programátoři se zkušenostmi s psaním programů pro počítače v jazyce symbolických instrukcí (odpovídá jazyku IL pro PLC), ve vyšších jazycích​​(jazyk ST), popř. technologové daleko od programování dostali vlastní programovací nástroj – jazyk SFC.

Zavedení programovacích systémů IEC sice neumožnilo zcela opustit služby profesionálních programátorů (takový cíl však stanoven nebyl), umožnilo však snížit požadavky na kvalifikaci a tím i náklady na odměny za PLC. programátoři. Standardizace jazyků umožnila (alespoň částečně) vyřešit problém závislosti uživatele PLC na konkrétním výrobci.

Všechna moderní PLC jsou vybavena programovacími nástroji IEC 61131-3, což zjednodušuje práci uživatelům regulátorů (můžete používat PLC různých firem bez nákladů na přeškolení) a zároveň odstraňuje řadu problémů výrobců PLC (můžete používat PLC komponenty od jiných výrobců).

Norma výrazně rozšířila možnosti na trhu práce pro specialistu na programování PLC. Stejně jako automechanik se standardní sadou nářadí může převzít opravu jakékoli součásti (kromě nestandardní) automobilu jakékoli společnosti, tak specialista, který studoval jazyky IEC 61131-3, si poradí s programem jakéhokoli moderního PLC. To umožnilo snížit závislost firmy na programovacím specialistovi PLC i specialistu na firmě.

Vedoucí pozici na trhu programovacích systémů IEC k dnešnímu dni zaujímá německá společnost 3S-Smart Software Solutions GmbH. Používá jej 190 společností po celém světě, většina z nich jsou předními výrobci zařízení a/nebo systémů průmyslové automatizace.

V Rusku jsou PLC s CoDeSys odborníkům dobře známé, rozsah produktů vyráběných pod kontrolou těchto PLC je obrovský.CoDeSys zahrnuje 5 specializovaných editorů pro každý ze standardních programovacích jazyků:

    Seznam pokynů (IL),

    Funkční bloková schémata (FBD),

    Ladder Diagrams (LD),

    strukturovaný text (ST),

    Sekvenční funkční diagramy (SFC).

Editory jsou podporovány velkým množstvím pomocných nástrojů, které zrychlují zadávání programů. Jedná se o asistenta zadávání, automatickou deklaraci proměnných, inteligentní korekci vstupu, barevné zvýraznění a syntaktické ovládání při zadávání, škálování, automatické umístění a připojení grafických prvků.

V jednom projektu můžete kombinovat programy napsané v několika jazycích IEC nebo použít jeden z nich. Nejsou zde žádné speciální jazykové požadavky. Je to čistě na osobních preferencích.

Nejoblíbenějším jazykem v Rusku je ST. Je to textový jazyk, který je poněkud převzatý z Pascalu. Druhým nejoblíbenějším grafickým jazykem je FBD, následovaný LD. Kromě nástrojů pro přípravu programů obsahuje CoDeSys vestavěný debugger, emulátor, nástroje pro vizualizaci a řízení projektů, PLC a síťové konfigurátory.

Dalším nečekaným nápadem, který společně vytvořili uživatelé CoDeSys, bylo dobrovolné sdružení výrobců PLC podporujících CoDeSys do neziskové organizace CoDeSys Automation Alliance (CAA). Podstatou myšlenky je učinit z výrobců produktů průmyslové automatizace, které podporují CoDeSys partnery (v rámci možností na konkurenčním trhu) a neutralizovat dopady konkurence mezi výrobci na uživatele PLC.

Namísto záměrného vytváření technických bariér, které uživatelům brání ve snadném používání produktů jiné společnosti, členové CAA záměrně podnikají kroky k zajištění kompatibility jejich produktů.

Uživatel si může být jistý, že jeho aplikační program CoDeSys bude fungovat v jakémkoli kontroléru jakékoli členské společnosti CAA. Uživatel si může být jistý, že nástroje, které používá (CoDeSys), byly testovány tisíci uživatelů po celém světě. Uživatel může vždy diskutovat o svých potížích a získat skutečnou pomoc od širokého okruhu kolegů, kteří mají zkušenosti s řešením podobných problémů.

Brokarev A.Zh., Petrov I.V. Společnost "PROLOG"

Úvod
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. Ale než se 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í své vlastní. Jazyky si nejsou vůbec podobné a při pozorování mý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é.

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 to 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 se operátorský panel dotazuje regulátoru neustále a zpoždění v odezvě PLC větší než 10 ms se již projevuje ve „zpomalení“ uživatelského rozhraní a se zpožděním 20 ms v hardwarové vyrovnávací paměti 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ř?
Vše velmi záleží na výrobci. Někdo vyrábí svou vestavěnou platformu na procesoru RISC (například domácí "Aries") - tento přístup je velmi populární. Beckhoff se vydal jinou cestou – jejich PLC má nainstalovaný Windows CE 5.0 (a pokud aktualizujete firmware z oficiálních stránek, tak 6.0), nebo Windows XP Embedded a úloha PLC běží jako služba. Docela zajímavý protiargument pro ty, kteří rádi mluví o nestabilitě Windows.
Ale to je „hlava“ regulátoru a stále potřebuje vstupy a výstupy pro komunikaci s vnějším světem. Jsou zde dva přístupy:
  1. Můžete dělat „všechno 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.

Takto vypadá přístup „vše v jedné krabici“. Na obrázku je Carel pCO3.


A tady je další možnost - hlava řady Beckhoff CX9000 (na fotografii 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ávisí na PLC. Pro ty, kteří se nesetkali s průmyslovými sítěmi EIA-485, Profibus, CAN a možná i docela známým Ethernetem, to může být neznámé. 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 ano nemají 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.
Pro profesionální programátory 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 Private, Public 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:
foo, bar: int; základ: skutečný; foo:= 2000; bar:= 2000; baz:= INT_TO_REAL(foo * bar);
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.

Jedním z klíčových účelů automatizace je sledování změny stavu objektu a schopnost řídit tento proces. Omezené procesy změn vedou ke zvýšení produktivity a efektivity. Strojové vidění a řízení pohybu pomáhají omezit změny a zvyšují flexibilitu dnešních automatizačních systémů. Nárůst flexibility a funkčnosti automatických řídicích systémů může zase posunout některé starší systémy na pokraj zpracovatelské kapacity.

PLC programovatelné logické automaty jsou nyní standardem v automatizačních systémech. K ceně nových technologií se často přidává možnost upgradovat hardware a/nebo další příležitosti k zavedení nových operačních systémů. Nicméně přidání zařízení pro řízení pohybu nebo uživatelských vstupních modulů do PLC programovatelného logického ovladače může mít také významný dopad na cenu celého zařízení.

Relativní náklady, škálovatelnost, funkčnost a implementace vlastních možností jsou požadavky na moderní průmyslové řídicí jednotky. Vzhledem k tomu, že požadavky na rychlost zpracování, paměť a výkon v poslední době výrazně vzrostly, může být PLC nadále hlavním prostředkem automatizace výrobních systémů?

Proces řízení

Ve své nejjednodušší podobě se řídicí proces skládá ze tří hlavních součástí – snímače, regulátoru a akčního členu. Snímač shromažďuje informace o ovládaném objektu a předává je ovladači, který přijatá data zpracovává a vydává řídicí signál akčnímu členu. Tato konstrukce se nazývá uzavřená smyčka nebo systém zpětné vazby.

Například sledování plynů a teploty v dusíkové peci může být důležité pro tepelné zpracování, zatímco údaje o vlhkosti v místnosti nebo vibracích nemusí mít s procesem tepelného zpracování vůbec nic společného. Přidání nejnovějších dat do automatického řídicího systému nepřinese absolutně žádný užitek, ale pouze to zkomplikuje a zvýší náklady. Můžeme dojít k závěru, že složitost se stává kritickou, protože snižuje náklady na návrh, programování uzlů, odstraňování problémů a také se vyhne instalaci součástí, které nejsou praktické.

Po sesbírání senzory jdou informace do ovladače, který hraje roli „mozku“. Bude zpracovávat přijaté informace na základě algoritmů a programů, které mu zadal programátor. Pokud se hodnota nevejde do limitů nastavených limitů, vyšle regulátor signál do akčního členu k nápravě chyby, a to pokračuje, dokud chyba nepřekročí povolené limity. Akční člen jsou svaly automatického řídicího systému (ACS). Je to on, kdo bude mít fyzický dopad na řízený systém. Akčními členy pro ACS mohou být různé elektrické pohony, hydraulické pohony, pneumatické pohony a další mechanismy.

„Kontrolor si je vědom toho, co se děje, a může činit rozhodnutí. PLC je nesporným lídrem v průmyslové automatizaci,“ říká Matteo Dariol, inženýr ve společnosti Bosch Rexroth. „Zkratka obsahuje „programovatelnou logiku“, protože na začátku elektronické revoluce v 60.–70. letech se řídicí zařízení začala budovat pomocí diskrétních elektronických součástek. Předtím vedla změna specifikace designu k přepracování a reengineeringu celé logiky ovládání spolu se změnou fyzických prvků ovládacích zařízení. S příchodem programovatelného logického automatu PLC je snaha změnit řídicí algoritmus téměř výhradně pouze změnou softwaru.“

Moderní PLC jsou poměrně spolehlivá zařízení a jejich programovací jazyky jsou standardizované. Prostředí pro vývoj softwaru pro programovatelné logické automaty zatím nemají společné jednotné standardy, protože všichni hlavní hráči na trhu elektronických součástek nabízejí svá vlastní jedinečná řešení. Programování a odstraňování problémů v PLC může být ještě snazší než v osobním počítači PC, který, jak se zdá, každý z nás velmi dobře zná. Programovatelný logický automat PLC má modulární strukturu a schopnost připojit různé moduly v závislosti na požadavcích projektu: další I/O porty, bezpečnostní moduly a specifické komunikační moduly, abychom jmenovali alespoň některé.

Modulární konstrukce dává programovatelným logickým automatům velkou výhodu – škálovatelnost. Existují další výhody, jako je cena, jednoduchost zařízení a pevnost konstrukce. Takové prvky ACS, jako jsou relé, je třeba pravidelně kontrolovat a vyměňovat a zde se objevuje další výhoda PLC - minimum pohyblivých mechanických částí. Existují příležitosti pro integraci se složitějšími systémy, jako je PC řadič.

Limity PLC

PLC má ve srovnání s osobním počítačem (PC) omezenou paměť, software a možnosti periferií. Řízení pohybu (například robotika nebo komplexní automatizovaný systém) vyžaduje obrovské množství vstupů/výstupů, což vyžaduje další řídicí moduly PLC nebo externí elektroniku. Je však třeba poznamenat, že počítač je schopen zpracovat mnohem více informací a rychleji, což může výrazně snížit fyzickou velikost a poskytnout potřebný výpočetní výkon pro implementaci systémů strojového vidění, řízení pohybu a poskytnout rychlé zpracování velkých dat. proudy. Neustálý nárůst zpracovávaných informací je spojen s postupným zaváděním průmyslového internetu věcí IIoT některými společnostmi do výrobních linek a průmyslových zařízení vyžadujících velký výpočetní výkon.

Výrobci originálních zařízení (OEM) jsou schopni zvýšit produktivitu zařízení tím, že umožňují strojům provádět více operací současně. Extrémně intenzivní AND/OR výpočty kritických procesů běžících ve stejnou dobu mohou přetížit programovatelný logický automat. Stroje mohou využívat více výpočetních platforem ke zkrácení doby zpracování kritických procesů. Obvykle zahrnují jeden nebo více pohybových ovladačů a jeden nebo více dohlížecích procesorů, které podporují rozhraní operátora pro programování, informace o provozu stroje, sběr dat a podpůrné funkce. Použití více procesorů je však dražší. Tento problém by mohl pomoci vyřešit nový software zacílený na platformy PC…

Počítač není tak spolehlivý a obtížně přežije v průmyslových prostředích, jako je prach a vlhkost. Používání PC se složitějším softwarem nebo více softwarovými možnostmi trvá mnohem déle, než se zaškolí personál údržby. Vylepšený software může vyžadovat, aby programátor provedl údržbu, opravy a aktualizace. Software PLC může být základní, ale má své vlastní osvědčené standardní jazyky, které mohou zajistit dlouhou životnost zařízení navzdory jeho rychlosti a lineární povaze.

PLC obvykle používají standardní sadu programovacích jazyků (IEC 61131-3), včetně diagramů LAD. Schémata LAD jsou sestavena analogicky s elektrickými obvody, což značně zjednodušuje školení personálu, údržbu a opravy. Ve většině případů je docela možné se obejít bez programátora. Dalším jazykem z normy IEC 61131-3 je strukturovaný text, který je podobný jazyku „vysoké úrovně“. Použití jiných nestandardních jazyků vysoké úrovně, jako je C++ nebo Visual Basic, však může být u PLC obtížné. Teprve nedávno nové softwarové nástroje umožnily uživatelům komunikovat s PLC jako s běžným PC.

Sériový program PLC skenuje všechny instrukce v každém cyklu. Cyklus skenování trvá přibližně 10 ms nebo o něco déle. Po dokončení všech pokynů program přejde k dalšímu skenování. Pokud se instrukce neprovede v určeném čase, způsobí to chybové hlášení a provádění programu je ukončeno. Tento hard-time software může omezit trvání programu a jakékoli vstupní signály pod 100 Hz.

Pokud je například nutné zpracovat signál ze snímače otáček s nominální rychlostí 1200 ot./min (frekvence signálu 1200/60 = 200 Hz), mikrokontrolér na bázi PLC nemůže správně měřit rychlost pomocí tohoto vstupu. Na integrované obvody je nutné integrovat speciální modul s dekodérem nebo čítačem, který převádí signál ze snímače na běžně zpracovávaný mikrokontrolér. Takové moduly převodníků se často používají v mnoha systémech. Za zmínku také stojí potřeba výstupních modulů, například ovládajících elektromagnet s frekvencí PWM 10 kHz. Pro ovládání takového zařízení pomocí PLC je nutný výstupní modul s PWM generátorem. Přidání takových modulů zvyšuje náklady na systém 2-3krát.

Příští generace PLC

Nový systém se nazývá programovatelný automatizační řadič (PAC) schopný řešit některé problémy PLC. Někteří odborníci tvrdí, že programovatelný automatizační ovladač (PCA) je komerčnější název, ale není to tak úplně pravda. Bohužel mezi jejich definicemi existují určité rozdíly a z technologického hlediska je poměrně obtížné mezi nimi najít zásadní rozdíly.

PCA obvykle obsahují funkce PLC. Obě jsou digitální zařízení, ale PCD poskytují rozšířené možnosti programování a často mají pokročilejší funkce, paměť a možnosti periferií. PCA nabízí složitější architektonické systémy, když je potřeba větší I/O konektivita. Navíc má obvykle vestavěné funkce pro přenos dat z paměti na USB disk a často je zde také možnost přímé interakce s databázemi.

Další softwarové funkce zní dobře, ale stojí za zmínku, že ne všechny PCD mohou podporovat standardní jazyky IEC 61131-3, což může vést k dalším problémům s programováním a údržbou.

Existují různé modely těchto zařízení. PCA může nabízet modely zaměřené na systémy strojového vidění nebo jiné navržené pro řízení více procesů současně. Volba modelu či technologie musí zohledňovat jak požadavky budoucnosti (modernizace a rozšíření výroby), tak normy (např. bezpečnost). Plánování může prodloužit životnost řídicí jednotky splněním budoucích potřeb, ale také položit základy pro průmyslovou IIoT a decentralizované řízení.

PLC jsou stále aktuální, nicméně vývoj systémů strojového vidění, dynamických robotických procesů a řízení pohybu, touha po větší průmyslové automatizaci s využitím IIoT vyžaduje podstatně více výpočetního výkonu nebo paměti z programovatelného logického automatu, který není schopen poskytnout . Decentralizovaná technologie může pomoci rozšířit starší řadu tím, že nabídne produkty jako SoC a FPGA, které zpracovávají informace přímo na samotném senzoru. To znamená, že přidání složitého procesu do stávající linky nemusí nutně vyžadovat instalaci drahého PCA, ale bude vyžadovat skupinu inteligentních senzorů schopných samostatně ukládat a zpracovávat svá naměřená data.

Je možné použít obě možnosti?

Další matoucí diskuse o PLC a PCA je, že je možné postavit řídicí systém bez kteréhokoli z nich. Síť inteligentních senzorů a softwaru lze zkombinovat, aby se eliminovaly nebo více decentralizovaly programovatelné řídicí jednotky v rámci závodu. SoC jsou jednou z technologií, které mohou proces decentralizovat. Nezapomeňte však, že příliš mnoho protokolů na jednom SoC může vést ke zvýšení počtu kontrolních cyklů potřebných ke kontrole procesu nebo jeho části, což způsobí režim podobný přetížení programovatelného logického automatu.

Kromě toho existuje řada technologií, které umožňují PLC, decentralizačním technologiím, PLC a PLC spolupracovat za účelem maximalizace efektivity podniku. K určení, které technologie mohou být zapotřebí, je třeba učinit několik základních kroků.

„Nejprve musíte pochopit, jaké faktory jsou důležité pro úspěšný provoz a míru zastarávání, kterou zařízení nebo linka snese,“ říká Julie Robinson, marketingová manažerka Rockwell Automation. „Jakmile jsou rizika identifikována, uživatelé musí vyvinout strategii ke zmírnění a konečnému odstranění tohoto rizika a naplánovat první upgrade buňky. Některé faktory ovlivňující tyto změny zahrnují:

  • Přizpůsobení budoucích výrobních potřeb nebo zlepšení současného výkonu;
  • Soulad s nejnovějšími bezpečnostními požadavky a regulačními dokumenty;
  • Zvýšení flexibility výrobních systémů pro efektivní rozšíření výroby nebo modernizace zařízení;
  • Zlepšení efektivity využití majetku snížením prostojů;
  • Zlepšení výrobních bezpečnostních opatření a bezpečnosti zařízení;

Uživatelé také potřebují pochopit, jaké změny byly provedeny na zařízení během několika let provozu závodu nebo továrny, což by mělo být zobrazeno na schématech a výkresech.

Přesná dokumentace staršího hardwaru bude při integraci nového hardwaru dlouhou cestu. A pokud je decentralizovaná platforma již integrována, pak se dokumentace stává ještě důležitější. Decentralizované ovladače vykazovaly méně času při instalaci nového zařízení. V tradičním centralizovaném systému se musí technici nebo pracovníci údržby připojit k PLC, aby detekovali problémy a v případě potřeby přeskočili řídicí program. Dobře navržený systém by měl být snadno ovladatelný, udržovatelný a také škálovatelný.

Aby se specialisté mohli připojit k decentralizovanému systému, nemusí fyzicky chodit „kolem zařízení“. K odstranění tohoto problému se společnosti zabývající se údržbou zařízení snaží propojit několik systémů, které jsou technologicky kompatibilní. Často to znamená integraci starých systémů s novými technologiemi a softwarem.

V současné době chce velmi malé procento investovat do modernizace provozního vybavení, pokud není beznadějně zastaralé. Navíc rozhodnutí o budoucích modernizacích jsou stanovena v návrhu zařízení a často se na návrhu různých zařízení podílí více než jedna společnost a v budoucnu mohou při upgradech nastat konflikty.

Před výběrem nejlepší technologie pro vaše zařízení je důležité pochopit, že technologie musí být kompatibilní s vašimi cíli nejen nyní, ale i v budoucnu, a nabízet požadovanou funkčnost bez zbytečné složitosti. Pro mnoho společností je obtížné a v některých případech i nesmyslné udržet si odborníky v každém oboru, proto v poslední době začíná nabírat na síle průmyslový internet věcí (IIoT).

Termíny a definice

Rozdíl mezi PLC a PCA může proniknout i do jiných technologií. Například systémy na čipu (SoC), System-on-a-Chip (SoC), vestavěné počítače (embedded PC) a programovatelné hradlové pole (FPGA) nabízejí některé technologie, které mohou nahradit nebo rozšířit možnosti programovatelných logických automatů. .. Pro některé technologie však zatím neexistují ustálené definice a vědci se přou o jejich správnější popis. Pokusíme se ale uvést některé základní definice.

PLC Programmable Logic Controller

Jedná se o digitální počítač určený k automatizaci průmyslových systémů. Byl speciálně navržen pro provoz v náročných prostředích, jako jsou teplotní rozsahy, tlaky, elektrický šum, vibrace a další drsná průmyslová prostředí. Má nejdůležitější vlastnost, která ho ve skutečnosti přivedla k takové popularitě - tvrdý systém v reálném čase.

Režim reálného času

Mnoho lidí chápe real-time jako provedení úkolu „co nejdříve“. Ale není. Systém reálného času zaručuje, že všechny vstupy, výstupy a výpočetní procesy budou zpracovány v určité pevně stanovené lhůtě, v odborné literatuře často označované jako deadline (z anglického deadline - deadline). V tvrdých systémech v reálném čase se nedodržení termínů rovná selhání systému. Měkký systém reálného času zase umožňuje mírné překročení termínů, ale pouze tehdy, když to vede k přijatelnému snížení kvality systému. Například videokonference. Mírné zpoždění zvuku nebo obrazu nepovede ke katastrofickým následkům.

Při kompilaci programu PLC vypočítává, zda jsou k dispozici potřebné zdroje pro provádění uživatelských instrukcí, a poté přistoupí k dokončení úlohy ve správný čas.

Programovatelný automat PCA

Jedná se o digitální počítač, který obsahuje funkce PLC. Programovatelný automatizační ovladač je relativně nedávný koncept, který se objevil na počátku 21. století. Ve většině případů je PCA vývojem programovatelného logického ovladače. PLC je mostem mezi elektrickou automatizací založenou na relé a elektromechanickou programovatelnou automatizací, kde je kladen důraz na softwarové operace (definice daná před 40 lety).

Soft Real Time System (softPLC)

Jak již bylo zmíněno výše, soft real-time systém nezaručuje včasné dokončení úkolu. Proto se nepoužívají pro systémy řízení pohybu. Místo toho jsou softPLC upřednostňovány pro komunikaci mezi závody, rozhraní člověk-stroj, dohledové řízení a systémy sběru dat (SCADA). Je možné, že některé PCA budou SoftPLC.

Vestavěné počítače

Vestavěný průmyslový počítač není počítač pro všeobecné použití. Je navržen a optimalizován pro aplikaci jednoho uživatele. Všechny jeho součásti jsou zpravidla umístěny na stejné desce, včetně mikrokontrolérů nebo mikroprocesorů, I / O sběrnic, paměti a dalších vlastních mikroobvodů. Zařízení dokonce obsahuje software nebo firmware (firmware se obvykle nachází v ROM nebo paměti pouze pro čtení). Vestavěné počítače jsou skutečně průsečíkem mezi hardwarem a softwarem, protože mezi těmito dvěma částmi existuje úzký vztah – jedna bez druhé nemůže fungovat. Projekty vestavěných počítačů mohou reagovat na potřeby tvrdého nebo měkkého reálného času.

Ve výrobě je prováděn technologickým personálem, proto obecně uznávané programovací jazyky pro mikroprocesory a osobní počítače nejsou vhodné pro programování průmyslových regulátorů, protože vyžadují speciální dovednosti a znalosti personálu. Zapojení inženýrských společností třetích stran do programování často vede k přilnutí koncového uživatele ke konkrétnímu dodavateli. Programování proto vyžaduje srozumitelnější, jednodušší a vizuální programovací jazyky, které jsou otevřené pro obecné použití. V roce 1979 byla v rámci Mezinárodní elektrotechnické komise (IEC nebo anglická zkratka IEC) vytvořena speciální skupina technických expertů pro otázky zahrnující hardware, instalaci, testování, dokumentaci a komunikaci. Výsledkem práce této komise bylo v roce 1982 vydání normy IEC 1131. Současné vydání normy (které se od roku 1997 nazývá IEC 61131) obsahuje 8 oddílů:

  1. Obecná informace.
  2. Požadavky na vybavení a zkoušky.
  3. Programovací jazyky.
  4. Uživatelské příručky.
  5. Specifikace zprávy.
  6. Polní sítě.
  7. Programování s fuzzy logikou.
  8. Směrnice pro aplikaci a implementaci jazyků PLC.

Oddíl 3 této normy IEC (IEC 61131-3) upravuje použití pěti standardních programovacích jazyků PLC (průmyslového regulátoru): Jazyk funkčních bloků (FBD), jazyk žebříkové logiky (LD), jazyk sekvenčního diagramu funkcí (SFC), jazyk instrukcí (IL) a Structured Text Language (ST). Volba těchto jazyků je způsobena jednoduchostí a přehledností reprezentace řídicích algoritmů s jejich pomocí. Zavedení normy IEC 61131 dalo základ pro vytvoření jednotné školy pro školení specialistů v oblasti programování PLC. Po příchodu standardu bylo také možné vytvářet knihovny nezávislé na hardwaru.

Stručný popis standardních programovacích jazyků pro průmyslové regulátory (PLC)

Ladder Language (LD)

Jazyk žebříkové logiky se používá k popisu logických výrazů různé úrovně složitosti pomocí elektromechanických prvků (relé a kontakty). V jazyce reléové logiky se nejsnáze a přehledně implementují logické operace jako AND, OR, NOT. Programovací jazyk LD také umožňuje provádění podmíněných skoků mezi programovými bloky.

Jazyk sekvenčního funkčního diagramu (SFC).

Implementuje sekvenci procedurálních kroků a podmíněných skoků. Každý krok provádí specifickou akci naprogramovanou uživatelem. Přechod mezi kroky se provádí po splnění logických podmínek přiřazených těmto podmíněným přechodům.

jazyk výuky (IL)

Textový jazyk nízké úrovně. Princip programování, příkazy a struktura psaní příkazů je stejná jako v jazycích symbolických instrukcí. Jazyk instrukce (IL) je standardizovaný a nezávisí na použité hardwarové platformě. Každá instrukce může obsahovat čtyři pole oddělená mezerami nebo tabulátory. Struktura příkazů v instrukčním jazyce je následující:

<Метка> : <Оператор> + <Модификатор> <Операнд> <Комментарий>

Štítek, modifikátor a komentář na řádku s instrukcemi jsou volitelné a volitelné. Operátor musí být v řetězci vždy přítomen, ale operand může někdy chybět. Štítek je symbolický název (adresa) nějaké oblasti paměti, která ukládá číslo řádku označeného štítkem v seznamu příkazů. Za štítkem musí následovat dvojtečka. Spolu s návěštími se používají podmíněné (prováděné při splnění určitých podmínek) a nepodmíněné (vždy prováděné) skokové příkazy (respektive příkazy JMPC nebo JMP). Přechody je třeba používat dostatečně opatrně, aby neskončily s nekonečnou smyčkou. Operátor je přímá instrukce, která provádí konkrétní akci na operandu. Společně s operátorem může existovat modifikátor, který je určen k převedení operátoru do požadované podoby. Modifikátor N tedy invertuje operand před provedením samotné instrukce a modifikátor C přidá kontrolu obsahu akumulátoru a provede operátor pouze v případě, že hodnota v akumulátoru je pravdivá (true).

Jazyk strukturovaného textu (ST)

Jazyk strukturovaného textu je textový programovací jazyk na vysoké úrovni pro vytváření flexibilních postupů zpracování dat. Tento jazyk je svou strukturou podobný Pascalu. Jazyk strukturovaného textu (ST) je založen na výrazech, z nichž každý musí končit středníkem. Operátor ":=" se používá k přiřazení hodnot proměnným. K popisu matematických výrazů se používají běžné symboly: +, *, /, (,),<, <=, >=, > atd. Pořadí vyhodnocení výrazů je stejné jako v algebře - akce se provádějí zleva doprava. Nejprve se provedou operace uzavřené v závorkách, poté operace násobení nebo dělení a teprve poté - sčítání nebo odčítání. Pro zvýšení funkčnosti jazyka strukturovaného textu poskytuje výběrové příkazy (IF ... THEN ... ELSE ... ENDIF), příkazy s více možnostmi (CASE ... OF ... ELSE ... ENDCASE) , smyčku příkazy ( WHILE ... DO ... ENDWHILE, REPEAT ... UNTIL ... ENDREPEAT nebo FOR ... TO ... BY ... DO ... ENDFOR) .

Na konci článku je vhodné zmínit vlastnosti programování průmyslových regulátorů (PLC). Při programování PLC je třeba vždy pamatovat na to, že provádění programů v průmyslovém regulátoru se provádí cyklicky a doba provádění jednoho cyklu může být pevná nebo asynchronní (nový cyklus začíná ihned po skončení předchozího cyklu). Algoritmus provádění programu je následující. V prvním kroku PLC obdrží informaci o stavu řídicího objektu potřebnou pro zpracování - načte se vstupní proměnné (vstupy analogových a diskrétních vstupních modulů). Dále se provádí přímé zpracování přijatých informací - je spuštěn hlavní program PLC. V důsledku zpracování informací se tvoří řídicí příkazy, které jsou v dalším kroku přenášeny na výstupy průmyslového regulátoru - procedura aktualizace výstupních proměnných.



Související články: