Programi za programiranje različnih PLC-jev. Princip delovanja in osnove programiranja PLC

Krmilnik je krmilna naprava. Zares funkcionalen postane šele, ko ustvarite in zaženete program za njegovo uporabo.

To pomeni glavno nalogo programabilnega logičnega krmilnika - izvajanje programa, ki upravlja proces.

Kateri nabor programov je na voljo za PLC? Načeloma je možen vsak sklop. Glavna stvar je, da vam velikost brezplačnih virov tega orodja ne bi smela biti ovira. Razvijalec dobi veliko možnosti za pisanje programov.

Kaj je potrebno za programiranje krmilnika? Prvič, potrebujete programerja, ki bi to vprašanje temeljito razumel. Drugič, potrebujete sam računalnik in seveda razvojni paket.

Funkcionalnost razvojnih orodij

Običajno je za razvojni paket potrebno doplačilo. Čeprav se načeloma pogosto ugotovi, da je ta paket že na začetku vključen v namestitveno programsko opremo.

Kakšno funkcionalnost ponuja razvojno okolje?

  1. Velik nabor knjižnic, programskih blokov, določenih postopkov in že pripravljenih predlog.
  2. Orodja za preverjanje, testiranje in zagon programa na računalniku, ki obide krmilnik.
  3. Predlagano je tudi orodje za avtomatizacijo dokumentacije izdelanega programa v okviru sprejetih standardov.

In končno, je treba omeniti glavno prednost - to je podpora za približno šest programskih jezikov. Edina pomanjkljivost je, da je združljivost programov izvedena na nizki ravni. Proizvajalci PLC-jev niso prišli do poenotenja in vsak izdaja to napravo s svojim lastnim programskim okoljem.

Vrste programskih jezikov za PLC-je

  • LD jezik

LD (Ladder) je razvojno okolje, ki temelji na grafiki. Na nek način je to neke vrste relejno vezje. Razvijalci tega standarda verjamejo, da uporaba tovrstnega programskega okolja močno olajša prekvalifikacijo inženirjev relejne avtomatizacije na PLC.

Glavne pomanjkljivosti tega programskega jezika so neučinkovitost pri obdelavi procesov z velikim številom analognih spremenljivk, saj je zgrajen tako, da predstavlja diskretne procese.

  • FBD jezik

FBD (Function Block Diagram) – tukaj se uporablja tudi grafično programiranje. Slikovito rečeno, FBD definira določeno množico funkcionalnih blokov, ki imajo medsebojne povezave (vhod in izhod).

Podatki povezave so spremenljivi in ​​se prenašajo med bloki. Vsak blok posebej lahko predstavlja določeno operacijo (sprožilec, logični "ali" itd.). Spremenljivke so definirane s posebnimi bloki, izhodna vezja pa so lahko povezana s posebnimi izhodi krmilnika ali povezana z globalnimi spremenljivkami.

  • SFC jezik

SFC (Sequential Function Chart) - lahko se uporablja z jeziki ST in IL, temelji tudi na grafih. Načelo njegove konstrukcije je blizu podobi končnega avtomata, ta pogoj ga nanaša na najmočnejše programske jezike.

Tehnološki procesi so v tem jeziku zgrajeni glede na vrsto določenih korakov. Struktura stopnic je sestavljena iz navpičnice, ki sega od zgoraj navzdol. Vsak korak je posebna operacija. Operacijo lahko opišete ne samo s pomočjo SFC, ampak tudi s pomočjo ST in IL.

Takoj, ko je korak zaključen, sledi dejanje za prenos nadzora na naslednji korak. Prehod med koraki je lahko dveh vrst. Če je v koraku izpolnjen nek pogoj in je naslednji korak prehod na naslednji korak, potem je to pogojni prehod. Če pa so vsi pogoji na določenem koraku v celoti izpolnjeni in šele potem se izvede prehod na naslednji korak, potem je to brezpogojen prehod.

  • ST jezik

ST (Structured Text) se nanaša na jezike visoke ravni in ima veliko podobnosti s Pascalom in Basic.

ST vam omogoča interpretacijo več kot šestnajstih vrst podatkov in ima možnost dela z logičnimi operacijami, cikličnimi izračuni itd.

Majhna pomanjkljivost je pomanjkanje grafičnega okolja. Programi so predstavljeni v obliki besedila in ta pogoj otežuje razvoj tehnologije.

  • IL jezik

IL (Seznam navodil) - jezik, podoben Assemblerju, ki se običajno uporablja za posamezno kodiranje blokov. Prednost je, da imajo ti bloki visoko hitrost in nizke zahteve po virih.

  • CFC jezik

CFC (Continuous Flow Chart) - nanaša se na jezike visoke ravni. Načeloma je to eksplicitno nadaljevanje jezika FBD.

Postopek oblikovanja je sestavljen iz uporabe že pripravljenih blokov in njihove postavitve na zaslon. Nato se konfigurirajo in postavijo povezave med njimi.

Vsak blok je nadzor določenega tehnološkega procesa. Tukaj je glavna pristranskost tehnološkega procesa, matematika gre mimo.

Vzemimo za primer najpreprostejšo nalogo: pritisniti je treba 1 sekundo po tem, ko operater hkrati drži dva gumba v pritisnjenem stanju. Na ta način zagotovimo, da sta obe roki upravljavca zasedeni in mu damo čas, da preveri pripravljenost stroja. Najpreprostejša rešitev je, da zaporedno povežete kontakte obeh gumbov in postavite elektronski rele s časovnikom. Če časovnik omogoča prilagajanje časa zakasnitve, bo takšna shema zagotovila nekaj fleksibilnosti sistema, vendar ne preveč.

Morebitni dodatni pogoji, kot je zahteva po nadzoru zaporedja pritiskov gumbov, nas bodo spravili v težko situacijo - prisiljeni bomo spremeniti vezje z uvedbo dodatnih relejev. To ni težka težava, če se taka potreba pojavi izjemno redko.

Toda v konkurenčnem proizvodnem okolju je čas do trženja ključnega pomena, zato je treba, ko gre za fleksibilno avtomatizirano proizvodnjo, prehode izvesti hitro in stroškovno učinkovito.

Dodatna težava je vse večja kompleksnost krmilnega sistema z razvojem proizvodnje in pojavom dodatnih funkcij (zapletenost algoritma delovanja).

Vsak specialist za avtomatizacijo se je soočil tudi s problemom izgradnje nadzornega sistema za opremo na predmetnem področju, ki mu ni znano: pomanjkanje jasne izjave o problemu, pojav novih pogojev ob uvajanju opreme lahko onemogočajo uspešno izpeljati projekt.

Treba je bilo izdelati krmilno napravo, katere algoritem delovanja je bilo mogoče spremeniti brez spreminjanja sheme ožičenja krmilnega sistema, in posledično se je pojavila logična ideja, da se krmilni sistemi zamenjajo s "trdo" logiko delovanja (nabor relejev , regulatorji, časovniki itd.) z avtomati s programsko določeno logiko dela. Tako so se rodili programirljivi logični krmilniki (PLC). PLC-ji so bili prvič uporabljeni v ZDA za avtomatizacijo montažnih linij v avtomobilski industriji (1969).

Ker je bila v definiciji "programabilnega logičnega krmilnika" glavna stvar "programabilna", se je skoraj takoj pojavilo vprašanje, kako programirati PLC?

Algoritemski računalniški programski jeziki tistega časa so bili osredotočeni na reševanje računskih problemov. Poklic programerja je veljal za izjemno redkega in težavnega, v nobeni proizvodnji ni bilo takšnih strokovnjakov. Idealna možnost bi bil avtomatski prevod diagramov vezij relejnih avtomatov v programe za PLC.

Zakaj ne? Tako se je pojavil PLC jezik diagramov relejnih kontaktov (RKS ali LD v angleških virih Ladder Diagram). Tehnolog je lahko "prerisal" krmilno shemo na prikazovalniku programske postaje PLC. Seveda shema ni bila upodobljena grafično, temveč s konvencionalnimi simboli.

Na primer, zgoraj opisano nalogo bi lahko programirali takole:

Na levi in ​​desni strani v takem programu vidimo navpične napajalne tirnice, povezane z vodoravnimi vezji. Vezja so lahko sestavljena iz njihovih kontaktov in nekaterih dodatnih elementov (na primer časovnika), povezanih vzporedno ali zaporedno. Na desni se vsako vezje konča z navitjem releja. Kontakti tega releja so lahko prisotni v drugih vezjih. Tako je mogoče sestaviti precej zapleteno vezje, ki je po funkcionalnosti podobno pravemu relejnemu vezju.

Prve programske postaje so bile zelo obsežne naprave, ki jih je prevažalo več ljudi. Kljub temu so PLC-ji aktivno začeli nadomeščati še bolj obsežne in, kar je najpomembneje, omare za relejno avtomatizacijo s "trdo" logiko.

Fizično je PLC en ali več blokov, ki imajo določen nabor izhodov in vhodov za povezovanje senzorjev in aktuatorjev (glej sliko 1).

Logika njegovega dela je opisana s programsko opremo in izvedena z vgrajenim mikroprocesorjem. Posledično lahko popolnoma enaki PLC-ji opravljajo popolnoma različne funkcije. Za spremembo algoritma delovanja niso potrebne nobene spremembe strojne opreme.

riž. 1. Načelo delovanja PLC

Razvoj elektronike je pripeljal do neverjetne miniaturizacije PLC-ja. Danes obstajajo miniaturni programirljivi krmilniki, opremljeni z majhnim zaslonom in vgrajenimi zmogljivostmi programiranja, takšni krmilniki se imenujejo programabilni releji. Tipične naloge programabilnih relejev so zelo preprosti lokalni sistemi z do ducatom vhodov in več izhodi močnostnih relejev.

Z vgrajeno konzolo ni lahko napisati bolj zapletenega programa. Podobno lahko enostavno vtipkamo SMS besedilo na tipkovnico mobilnega telefona, vendar se zdi problematično celo vnos več strani besedila, da ne omenjamo velikih količin. Za to obstajajo osebni računalniki (PC), ki zagotavljajo veliko bolj udobne delovne pogoje za osebo.

En sodoben PLC lahko nadomesti na desetine krmilnikov, na stotine časovnikov in na tisoče relejev. Z uporabo osebnega računalnika programiranje takšnega sistema sploh ni težko. Uporaba osebnega računalnika kot programske postaje PLC je danes prevladujoča rešitev. To ne samo poenostavlja programiranje, ampak rešuje tudi probleme arhiviranja projektov, priprave dokumentacije, vizualizacije in modeliranja. Računalnik ponuja priročno univerzalno orodje tako za programiranje najpreprostejših lokalnih nalog na PLC-ju kot tudi za APCS.

Upoštevajte, da se pri programiranju PLC vedno znova vračamo k temu, kako narediti ta postopek preprost in človeku prijazen. Zdi se, da bo enkrat programiran PLC deloval leta in ni zelo pomembno, ali je njegov program videti lep, glavno je, da dobro deluje.

Žal temu ni tako. Potreba po spremembi programa v PLC-ju se pojavlja redno in včasih nepričakovano. Zato mora biti napisana tako, da jo lahko vsaka oseba, in ne le njen avtor, hitro razume in nemudoma izvede potrebne izboljšave. Reči, da so programi napisani za PLC, ni povsem pravilno.

Vse programe je napisal človek in so namenjeni branju s strani človeka. Vsako programsko orodje na koncu daje navodila mikroprocesorju v njegovih strojnih kodah. Zanj je vseeno, v katerem jeziku je program napisan.

Zgoraj omenjeni je bil izumljen v ZDA v obdobju avtomatizacije relejev. Moda za PLC-je je prišla v Evropo nekoliko kasneje, ko so relejne omare že uspešno nadomestile omare z logičnimi mikrovezji. Zato je bilo treba izumiti druge programske jezike, ki bi bili razumljivi novi generaciji inženirjev.

Tako so se v Nemčiji pojavili jeziki preprostih besedilnih navodil, ki so podobni asembleru (IL). V Franciji so nastali grafični in visokonivojski diagrami za opis stopenj in pogojev prehodov (Graphset, moderni SFC). Uporabljeni so bili tudi jeziki, ki se uporabljajo za računalniško programiranje (Pascal, Basic). V poznih sedemdesetih se je razvila izjemno težka situacija.

Vsak proizvajalec PLC-jev (vključno z ZSSR) je razvil svoj lasten programski jezik, zato so bili PLC-ji različnih proizvajalcev programsko nezdružljivi, pojavil pa se je tudi problem nezdružljivosti strojne opreme. Zamenjava PLC-ja z izdelkom drugega proizvajalca je postala velika težava. Kupec PLC-ja je bil prisiljen uporabljati izdelke samo enega podjetja ali pa porabiti energijo za učenje različnih jezikov in denar za nakup ustreznih orodij.

Kot rezultat, je bila leta 1979 v okviru Mednarodne elektrotehnične komisije (IEC) ustanovljena posebna skupina tehničnih strokovnjakov za probleme PLC. Zadolžena je bila za razvoj standardnih zahtev za strojno, programsko opremo PLC, pravila za namestitev, testiranje, dokumentacijo in komunikacije.

Leta 1982 je bil objavljen prvi osnutek različice standarda, ki je bil poimenovan IEC 1131. Zaradi kompleksnosti nastalega dokumenta je bilo odločeno, da ga razdelimo na več delov, tretji del standarda »Programski jeziki PLC« je posvečen programskim vprašanjem.

Od leta 1997 je IEC prešel na 5 digitalnih oznak, trenutno je pravilno ime za mednarodno različico dela standarda, namenjenega programskim jezikom PLC, IEC 61131-3. Delovna skupina IEC je sprejela precej izvirno odločitev. Iz celotne raznolikosti programskih jezikov PLC, ki so obstajali v času razvoja standarda programskega jezika PLC, je bilo identificiranih 5 jezikov, ki so bili najbolj razširjeni.

Jezikovne specifikacije so bile izboljšane, tako da je mogoče uporabiti standardiziran nabor elementov in podatkovnih tipov v programih, napisanih v katerem koli od teh jezikov. Ta pristop IEC je bil večkrat kritiziran, vendar je čas pokazal pravilnost te odločitve.

Izvedba tega pristopa je omogočila vključitev strokovnjakov z različnih področij znanja (in, kar je najpomembneje, različnih kvalifikacij) v programiranje istega PLC-ja: strokovnjake za programiranje relejev (in celo električarje) v LD, strokovnjake s področja polprevodnikov vezja in avtomatsko krmiljenje, ki jim je jezik FBD znan, programerji z izkušnjami pri pisanju programov za računalnike v zbirnem jeziku (ustreza jeziku IL za PLC), v jezikih visoke ravni (ST jezik), celo tehnologi daleč od programiranja prejela lastno programsko orodje - jezik SFC.

Čeprav uvedba programskih sistemov IEC ni omogočila popolne opustitve storitev profesionalnih programerjev (vendar tak cilj ni bil zastavljen), je pa omogočila zmanjšanje zahtev po kvalifikacijah in s tem tudi stroškov plačila za PLC programerji. Standardizacija jezikov je omogočila (vsaj delno) rešitev problema odvisnosti uporabnika PLC-ja od določenega proizvajalca.

Vsi sodobni PLC so opremljeni s programskimi orodji IEC 61131-3, ki uporabnikom krmilnikov poenostavljajo delo (lahko uporabljate PLC različnih podjetij brez stroškov prekvalifikacije) in hkrati odpravlja številne težave za proizvajalce PLC (lahko uporabite PLC). komponente drugih proizvajalcev).

Standard je znatno razširil možnosti na trgu dela za specialista za programiranje PLC. Tako kot lahko avtomehanik s standardnim naborom orodij prevzame popravilo katere koli komponente (razen nestandardne) avtomobila katerega koli podjetja, bo tako strokovnjak, ki je študiral jezike IEC 61131-3, lahko ugotovil iz programa katerega koli sodobnega PLC-ja. To je omogočilo zmanjšanje odvisnosti podjetja od strokovnjaka za programiranje PLC in specialista od podjetja.

Do danes vodilni položaj na trgu programskih sistemov IEC zaseda nemško podjetje 3S-Smart Software Solutions GmbH. Uporablja ga 190 podjetij po vsem svetu, večina teh podjetij je vodilnih proizvajalcev opreme in/ali sistemov industrijske avtomatizacije.

V Rusiji so PLC-ji s CoDeSys strokovnjakom dobro poznani, nabor izdelkov, proizvedenih pod nadzorom teh PLC-jev, je ogromen. CoDeSys vključuje 5 specializiranih urejevalnikov za vsak od standardnih programskih jezikov:

    Seznam navodil (IL),

    funkcionalni blok diagrami (FBD),

    lestveni diagrami (LD),

    strukturirano besedilo (ST),

    Zaporedni funkcijski grafikoni (SFC).

Urejevalnike podpira veliko število pomožnih orodij, ki pospešujejo vnos programov. To so pomočnik pri vnosu, avtomatska deklaracija spremenljivk, inteligentni popravek vnosa, poudarjanje barv in skladenjski nadzor med vnosom, skaliranje, avtomatska postavitev in povezovanje grafičnih elementov.

V enem projektu lahko kombinirate programe, napisane v več jezikih IEC, ali uporabite enega od njih. Ni posebnih jezikovnih zahtev. To je čisto odvisno od osebnih preferenc.

Najbolj priljubljen jezik v Rusiji je ST. Je besedilni jezik, ki je nekoliko prilagojen Pascalu. Drugi najbolj priljubljen grafični jezik je FBD, sledi LD. Poleg orodij za pripravo programa CoDeSys vključuje vgrajeni razhroščevalnik, emulator, orodja za vizualizacijo in upravljanje projektov, PLC in omrežne konfiguratorje.

Druga nepričakovana ideja, ki so jo skupaj oblikovali uporabniki CoDeSys, je bilo prostovoljno združenje proizvajalcev PLC-jev, ki podpirajo CoDeSys, v neprofitno organizacijo CoDeSys Automation Alliance (CAA). Bistvo ideje je narediti proizvajalce izdelkov za industrijsko avtomatizacijo, ki podpirajo partnerje CoDeSys (kolikor je to mogoče na konkurenčnem trgu) in nevtralizirajo učinke konkurence med proizvajalci na uporabnike PLC-jev.

Namesto namerno ustvarjanja tehničnih ovir, ki uporabnikom preprečujejo enostavno uporabo izdelkov drugega podjetja, člani CAA namerno sprejemajo ukrepe za zagotovitev združljivosti njihovih izdelkov.

Uporabnik je lahko prepričan, da bo njegov aplikacijski program CoDeSys deloval v katerem koli krmilniku katerega koli podjetja člana CAA. Uporabnik je lahko prepričan, da je orodja, ki jih uporablja (CoDeSys), testiralo na tisoče uporabnikov po vsem svetu. Uporabnik lahko vedno razpravlja o svojih težavah in dobi pravo pomoč pri široki paleti kolegov, ki imajo izkušnje pri reševanju podobnih problemov.

Brokarev A.Zh., Petrov I.V. Podjetje "PROLOG"

Uvod
Delam na področju avtomatizacije zgradb. Tako se je zgodilo, da svoje sisteme v glavnem gradimo na osnovi Beckhoffovih PLC-jev. Ta izbira je bila narejena predvsem zato, ker so ti krmilniki prosto programirljivi v polnem pomenu besede. Kaj to pomeni? Vzemite na primer krmilnik TAC Xenta in ga poskusite zamenjati z zunanjo napravo prek RS232 z uporabo lastnega protokola na ravni »bajt poslan - prejet bajt«. Ne bo šlo, ti krmilniki ne vedo, kako - uporabljajte samo tiste protokole, ki jih je razvijalec položil vanje. Toda Beckhoff lahko. Toda preden se podamo v takšne divjine, poglejmo razvojno okolje? V katerem jeziku bomo pisali?
standard IEC 61131-3
Industrijski PLC-ji so programirani v jezikih IEC 61131-3. Teh jezikov je skupno 5, nekateri proizvajalci dodajo svoje. Jeziki si med seboj sploh niso podobni in ob opazovanju mojih kolegov lahko domnevam, da je izbira enega ali drugega jezika povezana predvsem s tem, kaj je človek počel, preden je prišel v to industrijo.
  1. IL, seznam navodil Podobno kot montažer. Nisem videl, da bi ga kdo uporabljal, vendar sumim, da bodo starinski koderji, ki so luknjali kartice iz spomina, to cenili.
  2. LD, lestveni diagram. Vizualni jezik za tiste, ki so sodelovali pri razvoju relejnih avtomatizacijskih vezij.
  3. ST, strukturirano besedilo. Predvsem je podoben "klasičnim" programskim jezikom, ki so nekoliko podobni Pascalu. Zato ga cenijo tisti, ki so se pred PLC-jem ukvarjali s programiranjem v drugih jezikih in platformah, zlasti jaz.
  4. FBD, funkcionalni blok diagram. Nekakšen blokovni diagram, ljubimo predvsem tehnologe, ki se odločijo za programiranje, zaradi njihove prepoznavnosti.
  5. SFC, sekvenčna funkcijska shema. Grafični jezik, ne bom rekel nič več. Nikoli ga nisem videl rabljenega.

Od ne vseh podprtih jezikov velja omeniti jezik CFC (neprekinjeni diagram poteka), Beckhoff ga podpira. To je nadaljnji razvoj jezika FBD, ena najpomembnejših razlik je po mojem mnenju podpora eksplicitnim povratnim informacijam v vezjih. Zakaj je to potrebno? Na primer, takšen generator kratkih impulzov bo deloval na CFC, ne pa na FBD.

Blok TON je standardni blok, časovnik zakasnitve vklopa. Logika delovanja: izhod Q postane TRUE, ko je vhod IN TRUE vsaj za čas PT.
Verjetno najbolj priljubljeno razvojno okolje PLC je CoDeSys. Številni proizvajalci ga vzamejo za osnovo in bodisi ustvarijo knjižnico za delo z njihovim PLC-jem, bodisi sami dokončajo okolje.

Kako deluje PLC?
Program PLC teče ciklično. Čas cikla je lahko od enot milisekund do enot sekund, odvisno od nalog, dodeljenih temu PLC-ju. Večina PLC-jev vam omogoča, da nastavite čas cikla za načrtovalca programa, nekateri modeli pa ne. Številni PLC-ji, zlasti Beckhoff, vam omogočajo, da ustvarite več kot eno ciklično izvajano nalogo v enem programu in nastavite prednost za te naloge. Kaj nam daje to priložnost?
Predstavljajte si situacijo: PLC krmili prezračevalno enoto, nadzorna plošča pa je nanjo povezana preko RS232. Temperatura v prostorih se ne spreminja hitro, zato ni smiselno izvajati algoritma za nadzor prezračevanja pogosteje kot enkrat na 50 - 100 ms. Po drugi strani pa nadzorna plošča nenehno anketira krmilnik in zamuda pri odzivu PLC-ja več kot 10 ms se že izraža v »upočasnitvi« uporabniškega vmesnika, z zamikom 20 ms pa strojni medpomnilnik vrata COM bodo preplavljena. Prisotnost več nalog nam omogoča, da lepo rešimo to težavo: naj "hitra" naloga deluje z vrati COM in se kliče vsaki 2 ms, "počasna" pa izvaja logiko delovanja prezračevanja in se kliče vsakih 50 ms. Vse deluje dobro, nadzorna plošča se ne upočasnjuje, uporabnik je zadovoljen.
In kaj imajo te žleze v notranjosti?
Vse je zelo odvisno od proizvajalca. Nekdo naredi svojo vgrajeno platformo na procesorju RISC (na primer domači "Oven") - ta pristop je zelo priljubljen. Beckhoff je ubral drugačno pot - njihov PLC ima nameščen Windows CE 5.0 (in če posodobiš vdelano programsko opremo z uradne strani, potem 6.0) ali Windows XP Embedded, naloga PLC pa deluje kot storitev. Precej zanimiv protiargument za tiste, ki radi govorijo o nestabilnosti sistema Windows.
Toda to je "glava" krmilnika in še vedno potrebuje vhode in izhode za komunikacijo z zunanjim svetom. Tukaj sta dva pristopa:
  1. Naredite lahko "vse v enem polju" - glava, določen nabor vhodov / izhodov, več možnosti konfiguracije - tukaj imamo več vhodov, tukaj jih je manj, tukaj je glava močnejša, tukaj je šibkejša. Tako, na primer, Carel in mnogi drugi. Pri majhnem projektu se lahko ta pristop na nek način upraviči.
  2. A osebno se mi zdi, da drugačen pristop daje več fleksibilnosti. Glava je ločena in nanjo je preko vodila povezan tipkarski "rep" V/I modulov. Vgradimo module, ki jih potrebujemo in v količini, ki jo potrebujemo. To na primer počneta Beckhoff in Siemens.

Tako je videti pristop "vse v eni škatli". Na sliki je Carel pCO3.


In tukaj je še ena možnost - glava serije Beckhoff CX9000 (na levi na fotografiji) z nizom V/I modulov.

Med drugim je na glavi še vedno določeno vodilo, ki omogoča povezovanje PLC-ja v omrežje, pogosto pa tudi spreminjanje njegovega programa prek istega omrežja. Kakšno omrežje bo, je odvisno od PLC-ja. Morda ne poznajo tisti, ki se še niso srečali z industrijskimi omrežji EIA-485, Profibus, CAN in morda precej znanim Ethernetom. Preko tega omrežja, imenovanega fieldbus, je PLC povezan z zgornjim nivojem – na primer s sistemom SCADA. Na zgornji fotografiji sta dobro vidna 2 konektorja 8P8C na Beckhoffovi glavi - to je Ethernet, Carel pa ima (slabo, res) 2 6P4C konektorja zgoraj levo - tako so naredili RS-485. Ta vmesnik na žalost ima nimajo splošno sprejetega konektorja.

Torej, vseeno, kako napisati programe zanj?
Na splošno to ni tema članka, ampak cele knjige. Povedal pa vam bom, kaj sem videl iz osebnih izkušenj, in naj bo to muha v mazilu.
Za profesionalne programerje se bo obvladovanje PLC-ja v mnogih pogledih zdelo kot degradacija. OOP? Nimamo jih, obstajajo samo strukture, enumeracije in nekakšen razred, imenovan "funkcijski blok". Kaj je zasebno, javno in tako naprej, lahko tudi takoj pozabite – ne bo prav. Od koder koli v vašem programu lahko dostopate do katerega koli drugega mesta.
Dinamična dodelitev pomnilnika? Mi jih sploh nimamo. Niste prepričani, koliko podatkov vam bo poslano? Dodelite medpomnilnik z robom in pozabite na ta pomnilnik – ne boste ga mogli sprostiti. Ali pa pokažite čudeže hitrosti in obdelujte podatke sproti, če vam uspe izpolniti določen čas cikla.
izjeme? Kaj si ... Videl sem en čudež, ki je tesno visel, ko sem izvajal konstrukcijo obrazca:
foo, bar: int; osnova: prava; foo:= 2000; bar:= 2000; baz:= INT_TO_REAL(foo * bar);
Jasno je, da prelivanje ne ustreza foo * baru v 16 bitov, a zakaj potem obesiti? Poleg tega nič razen ponastavitve napajanja ne pomaga.
Razvojno okolje? Nimajo vsi CoDeSys, mnogi želijo biti izvirni in napisati nekaj svojega. Eno od teh samopisnih okolij se je zrušilo z napako med izvajanjem, ko je poskušal zapisati številko 86400 v 16-bitni INT. In pravite obravnavo izjem na PLC-ju. V razvojnem okolju tega ni vedno mogoče normalno.

AMPAK! Toda za ljubitelje te tanke meje, ki ločuje strojno in programsko opremo, je pogovorna programska oprema res zelo zanimiva veja IT.

Upam, da je ta majhen pregled koristen. Če habrasociety zanima ta tema, vam bom povedal več o PLC-ju.

Eden ključnih namenov avtomatizacije je spremljanje spremembe stanja objekta in sposobnost nadzora tega procesa. Zmanjšani procesi sprememb vodijo do povečane produktivnosti in učinkovitosti. Strojni vid in nadzor gibanja pomagata zmanjšati spremembe in dodati prilagodljivost današnjim sistemom za avtomatizacijo. Povečanje fleksibilnosti in funkcionalnosti avtomatskih krmilnih sistemov pa lahko nekatere starejše sisteme potisne na rob zmogljivosti obdelave.

PLC programirljivi logični krmilniki so zdaj norma v sistemih za avtomatizacijo. K stroškom novih tehnologij je pogosto dodana možnost nadgradnje strojne opreme in/ali dodatne priložnosti za uvedbo novih operacijskih sistemov. Vendar pa lahko dodajanje naprav za nadzor gibanja ali uporabniških vhodnih modulov v PLC programabilni logični krmilnik prav tako pomembno vpliva na stroške celotne opreme.

Relativni stroški, razširljivost, funkcionalnost in implementacija možnosti po meri so zahteve za sodobne industrijske krmilnike. Ker so se zahteve po hitrosti obdelave, pomnilniku in moči v zadnjem času znatno povečale, ali lahko PLC ostane glavno sredstvo za avtomatizacijo proizvodnih sistemov?

Proces upravljanja

V najpreprostejši obliki je krmilni proces sestavljen iz treh glavnih komponent - senzorja, krmilnika in aktuatorja. Senzor zbira informacije o nadzorovanem objektu in jih posreduje krmilniku, ki obdeluje prejete podatke in izda krmilni signal aktuatorju. Ta zasnova se imenuje zaprta zanka ali sistem povratnih informacij.

Na primer, spremljanje plinov in temperature v dušikovi peči je lahko pomembno za toplotno obdelavo, medtem ko podatki o vlažnosti ali vibracijah v prostoru morda nimajo nobene zveze s postopkom toplotne obdelave. Dodajanje najnovejših podatkov v sistem samodejnega krmiljenja ne bo prineslo nobene koristi, ampak bo le zapletlo in povečalo stroške. Sklepamo lahko, da postane kompleksnost kritična, saj zmanjša stroške oblikovanja, programiranja vozlišč, odpravljanja težav in se tudi izogne ​​namestitvi komponent, ki niso praktične uporabe.

Po zbiranju s senzorji informacije gredo v krmilnik, ki igra vlogo "možganov". Prejete informacije bo obdelal na podlagi algoritmov in programov, ki mu jih je dal programer. Če se vrednost ne ujema z mejami nastavljenih mej, bo krmilnik poslal signal aktuatorju za odpravo napake in to se bo nadaljevalo, dokler napaka ne preide v dovoljene meje. Pogon so mišice avtomatskega krmilnega sistema (ACS). Prav on bo imel fizični vpliv na nadzorovani sistem. Aktuatorji za ACS so lahko različni električni pogoni, hidravlični pogoni, pnevmatski pogoni in drugi mehanizmi.

»Upravljavec se zaveda, kaj se dogaja in lahko sprejema odločitve. PLC je nesporno vodilni v industrijski avtomatizaciji,« pravi Matteo Dariol, inženir pri Bosch Rexrothu. "Okrajšava vsebuje "programabilno logiko", saj so se na začetku elektronske revolucije v šestdesetih in sedemdesetih letih prejšnjega stoletja začele graditi krmilne naprave z uporabo diskretnih elektronskih komponent. Pred tem je sprememba projektne specifikacije povzročila preoblikovanje in reinženiring celotne krmilne logike skupaj s spremembo fizičnih elementov krmilnih naprav. S prihodom PLC programirljivega logičnega krmilnika je prizadevanje za spremembo krmilnega algoritma skoraj v celoti samo sprememba programske opreme.

Sodobni PLC-ji so precej zanesljive naprave, njihovi programski jeziki pa so standardizirani. Okolja za razvoj programske opreme za programirljive logične krmilnike še nimajo skupnih enotnih standardov, saj vsi večji akterji na trgu elektronskih komponent ponujajo svoje edinstvene rešitve. Programiranje in odpravljanje težav v PLC-ju je lahko celo lažje kot v osebnem računalniku, kar se zdi, da vsak od nas zelo dobro pozna. Programabilni logični krmilnik PLC ima modularno strukturo in možnost povezave različnih modulov glede na zahteve projekta: dodatna V/I vrata, varnostni moduli in posebni komunikacijski moduli, če naštejemo le nekaj.

Modularna zasnova daje programirljivim logičnim krmilnikom veliko prednost – razširljivost. Obstajajo tudi druge prednosti, kot so stroški, preprostost naprave in konstrukcijska trdnost. Takšne elemente ACS, kot so releji, je treba redno pregledovati in zamenjati, tu pa se pojavi še ena prednost PLC - najmanj premikajočih se mehanskih delov. Obstajajo možnosti za integracijo z bolj zapletenimi sistemi, kot je računalniški krmilnik.

Omejitve PLC

PLC ima omejene zmogljivosti pomnilnika, programske opreme in periferne opreme v primerjavi z osebnim računalnikom (PC). Nadzor gibanja (na primer robotika ali kompleksen avtomatiziran sistem) zahteva ogromno število vhodov/izhodov, ki zahtevajo dodatne krmilne module PLC ali zunanjo elektroniko. Vendar je treba omeniti, da je računalnik sposoben obdelati veliko več informacij in hitreje, kar lahko znatno zmanjša fizično velikost in zagotovi potrebno procesorsko moč za implementacijo sistemov strojnega vida, nadzor gibanja in zagotavlja hitro obdelavo velikih podatkov. tokovi. Nenehna rast obdelanih informacij je povezana s postopnim uvajanjem industrijskega interneta stvari IIoT s strani nekaterih podjetij v proizvodne linije in industrijske objekte, ki zahtevajo veliko računalniško moč.

Proizvajalci originalne opreme (OEM) lahko povečajo produktivnost opreme tako, da strojem omogočijo, da izvajajo več operacij hkrati. Izjemno intenzivni izračuni IN/ALI kritičnih procesov, ki tečejo hkrati, lahko preobremenijo programirljivi logični krmilnik. Stroji lahko uporabljajo več računalniških platform za skrajšanje časa obdelave kritičnih procesov. Običajno vključujejo enega ali več krmilnikov gibanja in enega ali več nadzornih procesorjev, ki podpirajo uporabniški vmesnik za programiranje, informacije o delovanju stroja, zbiranje podatkov in podporne funkcije. Vendar je uporaba več procesorjev dražja. Nova programska oprema, ki cilja na platforme osebnih računalnikov, bi lahko pomagala rešiti to težavo ...

Računalnik ni tako zanesljiv in težko preživet v industrijskih okoljih, kot sta prah in vlaga. Uporaba osebnega računalnika z bolj zapleteno programsko opremo ali več programskimi možnostmi traja veliko dlje za usposabljanje vzdrževalca. Izboljšana programska oprema lahko zahteva od programerja vzdrževanje, popravila in posodobitve. Programska oprema PLC je lahko osnovna, vendar ima svoje časovno priznane standardne jezike, ki lahko zagotovijo dolgo življenjsko dobo naprave kljub njeni hitrosti in linearni naravi.

PLC-ji običajno uporabljajo industrijski standardni nabor programskih jezikov (IEC 61131-3), vključno z diagrami LAD. LAD diagrami so zgrajeni po analogiji z električnimi vezji, kar močno poenostavi usposabljanje osebja, vzdrževanje in popravila. V večini primerov je povsem mogoče brez programerja. Drugi jezik iz standarda IEC 61131-3 je strukturirano besedilo, ki je podobno jeziku "visoke ravni". Vendar pa je uporaba drugih nestandardnih jezikov visoke ravni, kot sta C++ ali Visual Basic, lahko težavna s PLC-jem. Šele pred kratkim so nova programska orodja uporabnikom omogočila komunikacijo s PLC-jem, kot da bi bil običajen osebni računalnik.

Serijski program PLC skenira vsa navodila v vsakem ciklu. Cikel skeniranja traja približno 10 ms ali malo več. Ko so vsa navodila zaključena, program nadaljuje z naslednjim skeniranjem. Če se navodilo ne izvede v določenem času, to povzroči sporočilo o napaki in izvajanje programa se konča. Ta programska oprema lahko omeji trajanje programa in vse vhodne signale pod 100 Hz.

Na primer, če je treba obdelati signal iz senzorja hitrosti z nazivno hitrostjo 1200 vrt/min (frekvenca signala 1200/60 = 200 Hz), mikrokrmilnik, ki temelji na PLC, ne more pravilno izmeriti hitrosti s tem vhodom. Na integriranih vezjih je treba integrirati poseben modul z dekoderjem ali števcem, ki pretvarja signal iz senzorja v normalno obdelan mikrokrmilnik. Takšni pretvorniški moduli se pogosto uporabljajo v številnih sistemih. Omeniti velja tudi potrebo po izhodnih modulih, na primer za krmiljenje solenoida s frekvenco PWM 10 kHz. Za krmiljenje takšne naprave s PLC-jem je potreben izhodni modul z PWM generatorjem. Dodajanje takšnih modulov poveča stroške sistema za 2-3 krat.

Naslednja generacija PLC

Nov sistem se imenuje programabilni avtomatski krmilnik (PAC), ki lahko reši nekatere težave s PLC. Nekateri strokovnjaki trdijo, da je programirljivi krmilnik avtomatizacije (PCA) bolj komercialno ime, vendar to ni povsem res. Žal je med njihovimi definicijami nekaj razlik, s tehnološkega vidika pa je med njimi precej težko najti temeljne razlike.

PCA običajno vključujejo funkcionalnost PLC. Obe sta digitalni napravi, vendar PCD-ji nudijo izboljšane možnosti programiranja in imajo pogosto naprednejšo funkcionalnost, pomnilnik in periferne zmogljivosti. PCA ponuja bolj zapletene arhitekturne sisteme, ko je potrebna večja povezljivost V/I. Poleg tega ima običajno vgrajene zmogljivosti za prenos podatkov iz pomnilnika na pogon USB, pogosto pa obstaja tudi možnost neposredne interakcije z bazami podatkov.

Dodatne funkcije programske opreme zvenijo dobro, vendar je treba omeniti, da vsi PCD-ji ne podpirajo standardnih jezikov IEC 61131-3, kar lahko povzroči dodatne težave pri programiranju in vzdrževanju.

Obstajajo različni modeli teh naprav. PCA lahko ponuja modele, osredotočene na sisteme strojnega vida ali druge, ki so zasnovani za nadzor več procesov hkrati. Pri izbiri modela oziroma tehnologije je treba upoštevati tako zahteve prihodnosti (posodobitev in širitev proizvodnje) kot standarde (npr. varnost). Načrtovanje lahko podaljša življenjsko dobo krmilnika z izpolnjevanjem prihodnjih potreb, hkrati pa postavi temelje za industrijski IIoT in decentraliziran nadzor.

PLC-ji so še vedno aktualni, vendar razvoj sistemov strojnega vida, dinamičnih robotskih procesov in nadzora gibanja, želja po večji industrijski avtomatizaciji z uporabo IIoT, zahtevajo bistveno več procesorske moči ali pomnilnika od programabilnega logičnega krmilnika, ki ga ne more zagotoviti. . Decentralizirana tehnologija lahko pomaga razširiti zapuščeno ponudbo s ponudbo izdelkov, kot so SoC in FPGA, ki obdelujejo informacije neposredno na samem senzorju. To pomeni, da za dodajanje zapletenega procesa obstoječi liniji morda ni nujno potrebna namestitev dragega PCA, ampak bo potrebna skupina inteligentnih senzorjev, ki lahko neodvisno shranjujejo in obdelujejo svoje meritvene podatke.

Ali je možno uporabiti obe možnosti?

Razprava o PLC-jih in PCA-jih še dodatno zmede dejstvo, da je mogoče zgraditi nadzorni sistem brez katerega koli od njih. Omrežje pametnih senzorjev in programske opreme je mogoče združiti, da odpravite ali bolj decentralizirate programabilne krmilnike v celotni tovarni. SoC so ena od tehnologij, ki lahko decentralizirajo proces. Vendar ne pozabite, da lahko preveč protokolov na enem SoC-ju povzroči povečanje števila kontrolnih ciklov, potrebnih za preverjanje procesa ali njegovega dela, kar bo povzročilo način, podoben preobremenitvi programabilnega logičnega krmilnika.

Poleg tega obstajajo številne tehnologije, ki omogočajo, da PLC-ji, decentralizacijske tehnologije, PLC-ji in PLC-ji delujejo skupaj, da bi povečali učinkovitost podjetja. Za določitev, katere tehnologije so morda potrebne, je treba sprejeti več osnovnih korakov.

»Najprej morate razumeti, kateri dejavniki so pomembni za uspešno poslovanje in stopnjo zastarelosti, ki jo naprava ali linija lahko prenaša,« pravi Julie Robinson, vodja trženja pri Rockwell Automation. »Ko so tveganja ugotovljena, morajo uporabniki razviti strategijo za ublažitev in končno odpravo tega tveganja ter načrtovati prvo nadgradnjo celice. Nekateri dejavniki, ki vplivajo na te spremembe, vključujejo:

  • Usklajevanje prihodnjih proizvodnih potreb ali izboljšanje trenutne uspešnosti;
  • Skladnost z najnovejšimi varnostnimi zahtevami in regulativnimi dokumenti;
  • Povečanje fleksibilnosti proizvodnih sistemov za učinkovito širitev proizvodnje ali nadgradnje opreme;
  • Izboljšanje učinkovitosti uporabe sredstev z zmanjšanjem izpadov;
  • Izboljšanje proizvodnih varnostnih ukrepov in varnosti opreme;

Uporabniki morajo tudi razumeti, kakšne spremembe so bile narejene na opremi v več letih delovanja obrata ali tovarne, kar naj bo prikazano na diagramih in risbah.

Natančna dokumentacija stare strojne opreme bo veliko pripomogla k integraciji nove strojne opreme. In če je decentralizirana platforma že integrirana, potem postane dokumentacija še pomembnejša. Decentralizirani krmilniki so pokazali manj časa pri nameščanju nove opreme. V tradicionalnem centraliziranem sistemu se morajo inženirji ali vzdrževalno osebje povezati s PLC, da odkrijejo težave in po potrebi preskočijo nadzorni program. Dobro zasnovan sistem mora biti enostaven za upravljanje, vzdrževanje in tudi razširljiv.

Za povezavo z decentraliziranim sistemom strokovnjakom ni treba fizično hoditi "okoli naprave". Da bi odpravili to težavo, podjetja za vzdrževanje opreme poskušajo povezati več sistemov, ki so tehnološko združljivi. Pogosto to pomeni integracijo starih sistemov z novimi tehnologijami in programsko opremo.

Trenutno zelo majhen odstotek želi vlagati v posodobitev delujoče opreme, razen če je brezupno zastarela. Poleg tega so odločitve o prihodnjih nadgradnjah določene pri načrtovanju opreme, pri načrtovanju različne opreme pogosto sodeluje več podjetij, v prihodnosti pa lahko pri nadgradnjah pride do konfliktov.

Preden izberete najboljšo tehnologijo za vašo opremo, je pomembno razumeti, da mora biti tehnologija združljiva z vašimi cilji ne le zdaj, ampak tudi v prihodnosti in nuditi zahtevano funkcionalnost brez nepotrebne kompleksnosti. Za mnoga podjetja je težko in v nekaterih primerih nesmiselno obdržati strokovnjake na vseh področjih, zato se je industrijski internet stvari (IIoT) v zadnjem času začel krepiti.

Pogoji in definicije

Razlika med PLC in PCA lahko prežema tudi druge tehnologije. Na primer, sistemi na čipu (SoC), sistem na čipu (SoC), vgrajeni računalniki (vgrajeni osebni računalniki) in polje programirljivi niz vrat (FPGA) ponujajo nekatere tehnologije, ki lahko nadomestijo ali razširijo zmogljivosti programirljivih logičnih krmilnikov. .. Vendar pa za nekatere tehnologije še ni dobro uveljavljenih definicij in znanstveniki se prepirajo o njihovem pravilnejšem opisu. Poskušali pa bomo dati nekaj osnovnih definicij.

PLC programirljivi logični krmilnik

Je digitalni računalnik, zasnovan za avtomatizacijo industrijskih sistemov. Zasnovan je bil posebej za delovanje v težkih okoljih, kot so temperaturna območja, tlaki, električni hrup, vibracije in druga težka industrijska okolja. Ima najpomembnejšo lastnost, ki ga je pravzaprav pripeljala do takšne priljubljenosti - trdi sistem v realnem času.

Način v realnem času

Mnogi ljudje realni čas razumejo kot izvedbo naloge »čim prej«. Ampak ni. Sistem v realnem času zagotavlja, da bodo vsi vhodi, izhodi in računski procesi obdelani v določenem določenem časovnem obdobju, ki se v tehnični literaturi pogosto imenuje rok (iz angleškega termina – rok). V trdih sistemih v realnem času je kršitev rokov enaka okvari sistema. Po drugi strani pa mehki sistem v realnem času omogoča rahlo prekoračitev rokov, vendar le takrat, ko to vodi do sprejemljivega znižanja kakovosti sistema. Na primer, videokonference. Rahla zamuda pri zvoku ali videu ne bo povzročila katastrofalnih posledic.

Ko sestavlja program PLC, izračuna, ali obstajajo potrebni viri za izvajanje uporabniških navodil, in nato nadaljuje z dokončanjem naloge ob pravem času.

Programabilni avtomatski krmilnik PCA

To je digitalni računalnik, ki vključuje funkcionalnost PLC. Programabilni krmilnik avtomatizacije je relativno nov koncept, ki se je pojavil v zgodnjih 2000-ih. V večini primerov je PCA evolucija programabilnega logičnega krmilnika. PLC je most med električno avtomatizacijo na osnovi releja in elektromehansko programirljivo avtomatizacijo, kjer je poudarek na operaciji programske opreme (definicija je bila dana pred 40 leti).

Mehki sistem v realnem času (softPLC)

Kot je navedeno zgoraj, mehki sistem v realnem času ne zagotavlja pravočasnega zaključka naloge. Zato se ne uporabljajo za sisteme za nadzor gibanja. Namesto tega so softPLC-ji prednostni za komunikacije med obratom in trgovino, vmesnike človek-stroj, sisteme nadzornega nadzora in pridobivanja podatkov (SCADA). Nekateri PCA so lahko SoftPLC.

Vgrajeni osebni računalniki

Vgrajeni industrijski računalnik ni računalnik splošnega namena. Zasnovan in optimiziran je za eno uporabniško aplikacijo. Vse njegove komponente so praviloma nameščene na isti plošči, vključno z mikrokrmilniki ali mikroprocesorji, V/I vodili, pomnilnikom in drugimi mikrovezji po meri. Naprava vključuje celo programsko ali vdelano programsko opremo (vdelana programska oprema je običajno v ROM-u ali pomnilniku samo za branje). Vgrajeni osebni računalniki so v resnici stičišče med strojno in programsko opremo, saj obstaja tesna povezava med obema deloma – eden brez drugega ne more delovati. Projekti vgrajenih osebnih računalnikov se lahko odzovejo na potrebe trdega ali mehkega v realnem času.

V proizvodnji ga izvaja tehnološko osebje, zato splošno sprejeti programski jeziki za mikroprocesorje in osebne računalnike niso primerni za programiranje industrijskih krmilnikov, saj zahtevajo posebne veščine in znanja osebja. Vključitev tretjih inženirskih podjetij v programiranje pogosto vodi do navezanosti končnega uporabnika na določenega izvajalca. Zato programiranje zahteva bolj razumljive, preproste in vizualne programske jezike, ki so odprti za splošno uporabo. Leta 1979 je bila v okviru Mednarodne elektrotehnične komisije (IEC ali angleška okrajšava IEC) ustanovljena posebna skupina tehničnih strokovnjakov za vprašanja, ki vključujejo strojno opremo, namestitev, testiranje, dokumentacijo in komunikacije. Rezultat dela te komisije je bila izdaja standarda IEC 1131 leta 1982. Trenutna izdaja standarda (ki se od leta 1997 imenuje IEC 61131) vključuje 8 razdelkov:

  1. Splošne informacije.
  2. Zahteve za opremo in teste.
  3. Programski jeziki.
  4. Uporabniški priročniki.
  5. Specifikacija sporočila.
  6. Terenska omrežja.
  7. Programiranje z mehko logiko.
  8. Smernice za uporabo in implementacijo jezikov PLC.

Oddelek 3 tega standarda IEC (IEC 61131-3) ureja uporabo petih standardnih programskih jezikov PLC (industrijski krmilnik): jezik funkcijskega bloka (FBD), jezik lestvene logike (LD), jezik zaporednih funkcijskih diagramov (SFC), jezik navodil (IL) in jezik strukturiranega besedila (ST). Izbira teh jezikov je posledica preprostosti in jasnosti predstavitve krmilnih algoritmov z njihovo pomočjo. Uvedba standarda IEC 61131 je bila osnova za oblikovanje enotne šole za usposabljanje strokovnjakov s področja programiranja PLC. Prav tako je po pojavu standarda postalo mogoče ustvariti strojno neodvisne knjižnice.

Kratek opis standardnih programskih jezikov za industrijske krmilnike (PLC)

Jezik lestvice (LD)

Jezik lestvene logike se uporablja za opisovanje logičnih izrazov različnih stopenj kompleksnosti z uporabo elektromehanskih elementov (relejev in kontaktov). V jeziku relejne logike se logične operacije, kot so IN, ALI, NE, najlažje in najenostavneje izvajajo. Programski jezik LD omogoča tudi izvajanje pogojnih skokov med programskimi bloki.

Jezik zaporednih funkcijskih diagramov (SFC).

Izvaja zaporedje postopkovnih korakov in pogojnih skokov. Vsak korak izvaja določeno dejanje, ki ga programira uporabnik. Prehod med koraki se izvede po izpolnitvi logičnih pogojev, dodeljenih tem pogojnim prehodom.

Jezik navodil (IL)

Jezik besedila na nizki ravni. Načelo programiranja, ukazov in struktura pisanja ukazov je enaka kot v montažnih jezikih. Jezik navodil (IL) je standardiziran in ni odvisen od uporabljene strojne platforme. Vsako navodilo lahko vsebuje štiri polja, ločena s presledki ali tabulatorji. Struktura ukazov v jeziku navodil je naslednja:

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

Oznaka, modifikator in komentar v vrstici z navodili so neobvezni in neobvezni. Operater mora biti vedno prisoten v nizu, vendar je operand včasih lahko odsoten. Oznaka je simbolno ime (naslov) nekega pomnilniškega področja, ki shranjuje številko vrstice, označene z oznako, na seznamu ukazov. Oznaki mora slediti dvopičje. Skupaj z oznakami se uporabljajo pogojni (izvedeni, ko so izpolnjeni določeni pogoji) in brezpogojni (vedno izvedeni) ukazi za skok (oziroma stavki JMPC ali JMP). Prehode je treba uporabljati dovolj previdno, da se ne konča z neskončno zanko. Operater je neposredno ukaz, ki izvede določeno dejanje nad operandom. Skupaj z operaterjem lahko obstaja modifikator, ki je zasnovan za pretvorbo operaterja v zahtevano obliko. Torej modifikator N obrne operand pred izvedbo samega ukaza, modifikator C pa doda preverjanje vsebine akumulatorja in izvede operator samo, če je vrednost v akumulatorju resnična (true).

Jezik strukturiranega besedila (ST)

Jezik strukturiranega besedila je besedilni programski jezik na visoki ravni za ustvarjanje prilagodljivih postopkov obdelave podatkov. Ta jezik je po strukturi podoben Pascalu. Jezik strukturiranega besedila (ST) temelji na izrazih, od katerih se mora vsak končati s podpičjem. Operater ":=" se uporablja za dodelitev vrednosti spremenljivkam. Za opis matematičnih izrazov se uporabljajo običajni simboli: +, *, /, (,),<, <=, >=, > itd. Vrstni red vrednotenja izrazov je enak kot v algebri - dejanja se izvajajo od leve proti desni. Najprej se izvedejo operacije v oklepajih, nato operacije množenja ali deljenja in šele nato - seštevanje ali odštevanje. Za povečanje funkcionalnosti jezika strukturiranega besedila zagotavlja izbirne stavke (IF ... THEN ... ELSE ... ENDIF) , izjave z več izbiro (CASE ... OF ... ELSE ... ENDCASE), zanko izjave ( WHILE ... DO ... ENDWHILE, REPEAT ... DO ... ENDREPEAT ali ZA ... DO ... BY ... DO ... ENDFOR) .

Na koncu članka je vredno omeniti značilnosti programiranja industrijskih krmilnikov (PLC). Pri programiranju PLC-ja je treba vedno upoštevati, da se izvajanje programov v industrijskem krmilniku izvaja ciklično, čas izvajanja enega cikla pa je lahko fiksen ali asinhroni (nov cikel se začne takoj po koncu prejšnjega cikla). Algoritem izvajanja programa je naslednji. V prvem koraku PLC prejme informacije o stanju krmilnega objekta, ki je potreben za obdelavo – preberejo se vhodne spremenljivke (vhodi analognih in diskretnih vhodnih modulov). Nadalje se izvede neposredna obdelava prejetih informacij - izvede se glavni program PLC. Kot rezultat obdelave informacij se oblikujejo krmilni ukazi, ki se v naslednjem koraku prenesejo na izhode industrijskega krmilnika - postopek za posodabljanje izhodnih spremenljivk.



Povezani članki: