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.