Jedinica 6 / 9

Industrijska automatizacija i PLC programiranje

Dobici:

  • Sposobnost izrade ljestvičaste logike i struktura strukturiranog teksta (ST) kao nacrta pomoću umjetne inteligencije
  • Sposobnost konfiguriranja sigurnosnih krugova, blokada i automata stanja uz pomoć umjetne inteligencije
  • Sposobnost provjere logike PLC-a generirane umjetnom inteligencijom prema I/O mapi i sigurnosnim zahtjevima

Naziv pouzdanosti u tvorničkom polju je PLC (Programmable Logic Controller). Transportne trake, robotske ćelije, linije za punjenje, preše; sve kontrolira PLC-ovi. PLC programiranje je svijet drugačiji od softvera za stolna računala: Ladder Logic (LD) je vizualni jezik koji oponaša relejnu logiku, dok je Structured Text (ST) tekstualni jezik sličan Pascalu; oba su definirana u standardu IEC 61131-3. U ovakvom okruženju nije najvažnija funkcionalnost nego sigurnost; jer logička pogreška može zatvoriti prešu u krivo vrijeme, ugrožavajući operatera. AI pomaže u generiranju ljestvica i ST nacrta, izgradnji strojeva stanja i dokumentiranju logike. Međutim, sigurnosni krugovi, blokade i završna provjera odgovornost su inženjera i ne mogu se delegirati AI-u. U ovoj jedinici pokrivamo kako konstruirati i provjeriti PLC logiku pomoću umjetne inteligencije.

Logika rada PLC-a: Ciklus skeniranja

PLC ne samo jednom pokrene kod i gotovo je; Obavlja kontinuirani ciklus skeniranja. U svakoj petlji: (1) čita sve ulaze, (2) izvršava logiku od vrha prema dolje, (3) ažurira sve izlaze. Ovaj ciklus traje milisekunde i beskonačno se ponavlja. Ovo ponašanje ima kritične posljedice pri pisanju PLC logike:

  • Izlazi se ažuriraju na kraju petlje; Ako dodijelite vrijednost izlazu na više od jednog mjesta unutar petlje, zadnja dodjela pobjeđuje.
  • Logika radi od nule u svakom ciklusu; tako da se zasun ili varijable stanja koriste za "pamćenje" stanja.
  • Brzi događaji mogu biti propušteni ako se vrijeme skeniranja produži; kritične događaje hvata hardverski prekid ili brzi brojač.
Savjet: Kada pišete PLC logiku u AI ​​kažite "uzmite u obzir ponašanje petlje skeniranja, nema proturječnih dodjela istom izlazu, koristite zasun/stroj za stanje". AI ponekad razmišlja poput logike radne površine i preskače ponašanje skeniranja.

Ljestvičasta logika i strukturirani tekst

Ista logika se može napisati na oba jezika. Jednostavan primjer: motor se pokreće kada se pritisne gumb za pokretanje, zaustavlja se i samozaključava kada se pritisne gumb za zaustavljanje.

LJESTVE (tekstualni prikaz): Start Stop Engine---| |------|/|-------------( )--- | Motor |---| |------+ (kontakt motora se sam održava -> brtvljenje) Objašnjenje: Kada se pritisne Start, motor je pod naponom; Motor održava struju kroz vlastiti kontakt (brtvljenje). Kada se pritisne Stop (NC), lanac se reže.

(* Ista logika kao STRUKTURIRANI TEKST *) IF Start AND NOT Stop THEN Engine := TRUE;END_IF;IF Stop THEN Engine := FALSE; (* Stop uvijek ima prioritet *)END_IF; (* Napomena: gumb Stop fizički je spojen na NC (normalno zatvoren); tako da ako kabel pukne, Stop=FALSE i sustav se prebacuje na sigurnu stranu. *)

Ovdje je kritičan sigurnosni detalj: gumb za zaustavljanje je fizički spojen normalno zatvoren (NC). Dakle, u slučaju prekida kabela ili kvara na kontaktu, signal se prekida i sustav ide u "stop" smjer (fail-safe). Ako je spojen NO (normalno otvoren), graničnik neće raditi ako kabel pukne—opasna tiha greška. Čak i ako se AI kod čini logički točnim, odluka o fizičkom povezivanju ovisi o inženjeru.

Sigurnost: E-Stop, Lockout i Fail-Safe

Sigurnost u industrijskoj automatizaciji nije problem koji se može "rješiti softverom"; To je slojevita suradnja hardvera i softvera. Osnovna načela:

princip

Značenje

Primjena

bez greške

Neuspjeh bi trebao voditi na sigurnu stranu

NC kontakt, kvar=stop

Redundancija

Kritična funkcija dvokanalnog

Dva kontakta, unakrsno praćenje

Isprepletenost

Spriječite opasnu situaciju

Stroj ne radi kada su vrata otvorena

e-stop

Neovisno zaustavljanje u nuždi

Na hardverskoj razini, neovisno o PLC-u

Kritična točka: E-stop nije prepušten samo softveru. Zaustavljanje u nuždi povezano sa sigurnošću često se također prekida na hardverskoj razini pomoću sigurnosnih releja ili sigurnosnog PLC-a; standardni PLC softver dodatni je sloj povrh ovoga. ISO 13849 (sigurnost strojeva) i IEC 62061 daju okvir za ove dizajne.

Oprez: Nemojte pretpostavljati da je AI-generirana logika za zaustavljanje ili zaključavanje "dovoljna softvera". Sigurnosne funkcije dizajnirane su prema relevantnim standardima (ISO 13849 PL, IEC 62061 SIL), uključuju hardverski sloj i verificirane su procjenom rizika. Ova procjena odgovornost je inženjera i organizacije; AI može proizvesti samo nacrte i popise za provjeru.

Državni strojevi

Složena logika automatizacije organizirana je s automatom stanja, a ne neurednim if-else: sustav pronalazi određena stanja (Idle, Start, Running, Stopping, Error) i nastavlja kroz definirane prijelaze. Ova je struktura čitljiva i provjerljiva.

(* Jednostavan stroj stanja benzinske postaje *) CASE Slučaj OF 0: (* BOSTA *) IF StartButton AND CoverClosed THEN Case := 10; END_IF; 10: (* FILL *) Ventil := TRUE; IF LevelFull THEN Valve := FALSE; Status := 20; END_IF; AKO NIJE Poklopac Zatvoren ONDA Ventil := FALSE; Status := 90; END_IF; (* sigurnost *) 20: (* DRAIN *) PURGE := TRUE; IF LevelEmpty THEN Empty := FALSE; Status := 0; END_IF; 90: (* POGREŠKA *) Ventil := FALSE; Prazno := FALSE; (* svi aktuatori su sigurni *) IF ResetButton THEN Status := 0; END_IF;END_CASE;

U ovoj su strukturi sigurnosni prijelazi (idi u stanje pogreške ako se poklopac otvori, zatvori sve aktuatore) jasno uključeni u svaku situaciju. AI brzo generira kostur stroja stanja; Ali koji će sigurnosni incident proizaći iz koje situacije dolazi iz vaše analize rizika.

Slab upit / Jak upit

SLABO: "Pisanje PLC koda za transportnu traku." (Nema I/O, nema sigurnosti, nejasan jezik. Nije moguće napraviti nacrt na terenu.) JAK: "Napišite kontrolu transportne trake sa strukturiranim tekstom prema IEC 61131-3. Ulazi: Start (NO), Stop (NC), PhotocellProductVar (NO), CoverOpen (NC sigurnost). Izlazi: ConveyorMotor, WarningLamp. Koristite stanje stroja (Idle, Running, Error) Stop uvijek ima prednost, idite na Error kada je poklopac otvoren i ugasite motor.

Mini torbica

Inženjer automatizacije Tolga traži ST kod od AI-ja za liniju za pakiranje. AI proizvodi kod koji izgleda radi, ali kada ga Tolga provjeri s I/O mapom, pronalazi dva problema. Prvo: AI je gumb Stop tretirao NE (normalno otvoren) logikom; Tolga pretvara ovo u NC fail-safe logiku, jer ako kabel pukne, linija mora stati. Drugo: zaključavanje, u kojem se stroj mora zaustaviti kada je zaštitni poklopac otvoren, provjerava se samo pri pokretanju, a ne tijekom rada; Tolga ga ispravlja tako da se provjerava u svakom ciklusu skeniranja. Također potvrđuje da stvarni E-stop nije prepušten softveru, već se također prekida u hardveru sa sigurnosnim relejem. AI je brzo dao svoj logički kostur; No inženjerska provjera osigurala je tri sigurnosne odluke: sigurnosno spajanje, trajno zaključavanje i hardversko E-stop.

Uobičajene greške

  • Spajanje tipke Stop/E-stop na NO i gubitak sigurnog ponašanja u slučaju prekida kabela.
  • Provjera blokade (poklopac, svjetlosna zavjesa) samo pri pokretanju i preskakanje u radu.
  • Prepuštanje sigurnosne funkcije u potpunosti softveru i zanemarivanje hardverskog sloja.
  • Zaboravljanje ponašanja petlje skeniranja i stvaranje proturječnih dodjela istom izlazu.
  • Učiniti složenu logiku neprovjerljivom pisanjem s neurednim if-else umjesto stroja stanja.
  • Prihvaćanje AI-jeva tumačenja sigurnosnog standarda bez provjere službenim tekstom.

Ukratko

  • PLC radi s kontinuiranim ciklusom skeniranja; Izlazi se ažuriraju na kraju petlje.
  • Ljestvice i strukturirani tekst izražavaju istu logiku na dva različita IEC 61131-3 jezika.
  • Spojeni su gumbi Stop/E-stop NC i fail-safe; neuspjeh bi trebao voditi na sigurnu stranu.
  • Blokade se provjeravaju u svakom ciklusu skeniranja; Uključuje sigurnosni hardverski sloj.
  • Stroj stanja čini složenu logiku čitljivom i provjerljivom.
  • Procjena sigurnosti (ISO 13849/IEC 62061) odgovornost je inženjera; AI generira nacrt.

Zadatak aplikacije

Odaberite jednostavan scenarij automatizacije (npr. pokretanje/zaustavljanje motora sa samozaključavanjem, dvopoložajni aktuator ili mala benzinska postaja). Zapišite svoj I/O popis i sigurnosne zahtjeve (koji je gumb NC, koji je međusobno blokiran). Neka AI generira stroj stanja strukturiranog teksta s ovim kontekstom. Zatim provjerite izlaz za sigurnost: (1) osigurava li Stop siguran izlaz iz svakog stanja, (2) provjerava li se međusobno blokiranje u svakom ciklusu skeniranja, (3) idu li svi aktuatori u sigurno stanje u slučaju pogreške? Zabilježite sve sigurnosne nedostatke i ispravke koje pronađete.