Câștiguri:
- Abilitatea de a produce logica scară și structuri de text structurat (ST) ca schițe cu AI
- Abilitatea de a configura circuite de siguranță, interblocări și mașini de stare cu ajutorul AI
- Abilitatea de a verifica logica PLC generată de AI în raport cu harta I/O și cerințele de siguranță
Denumirea fiabilității în domeniul fabricii este PLC (controller logic programabil). Transportoare, celule robot, linii de umplere, prese; toate controlate de PLC-uri. Programarea PLC este o lume diferită de software-ul desktop: Ladder Logic (LD) este un limbaj vizual care imită logica releului, în timp ce Structured Text (ST) este un limbaj textual asemănător Pascal; ambele sunt definite în standardul IEC 61131-3. În acest mediu, cel mai important lucru nu este funcționalitatea, ci siguranța; deoarece o eroare de logică poate opri o presa la momentul nepotrivit, punând în pericol un operator. AI ajută la generarea de schițe de scară și ST, construirea mașinilor de stare și documentarea logicii. Cu toate acestea, circuitele de siguranță, blocajele și verificarea finală sunt responsabilitatea inginerului și nu pot fi delegate AI. În această unitate, vom acoperi cum să construim și să verificăm logica PLC cu AI.
Logica de lucru a PLC: ciclu de scanare
PLC nu rulează codul doar o dată și este gata; Efectuează un ciclu de scanare continuu. În fiecare buclă: (1) citește toate intrările, (2) execută logica de sus în jos, (3) actualizează toate ieșirile. Acest ciclu durează milisecunde și se repetă la nesfârșit. Acest comportament are consecințe critice atunci când scrieți logica PLC:
- Ieșirile sunt actualizate la sfârșitul buclei; Dacă atribuiți o valoare unei ieșiri în mai multe locuri din buclă, ultima atribuire câștigă.
- Logica funcționează de la zero în fiecare ciclu; astfel încât variabilele de blocare sau de stare sunt folosite pentru a „rememora” starea.
- Evenimentele rapide pot fi ratate dacă timpul de scanare este prelungit; evenimentele critice sunt capturate prin întrerupere hardware sau contor de mare viteză.
Sfat: Când scrieți logica PLC în AI spuneți „luați în considerare comportamentul buclei de scanare, fără atribuiri conflictuale la aceeași ieșire, utilizați mașina de blocare/stare pentru stare”. AI gândește uneori ca logica desktopului și omite comportamentul de scanare.
Logica pe scară și text structurat
Aceeași logică poate fi scrisă în ambele limbi. Un exemplu simplu: un motor pornește atunci când este apăsat butonul de pornire, se oprește și se autoblochează când este apăsat butonul de oprire.
SCARA (afisare text): Pornire Oprire motor---| |------|/|-------------( )--- | Motor |---| |------+ (Contactul motorului se menține -> etanșare) Explicație: Când este apăsat Start, motorul este alimentat; Motorul menține curentul prin propriul contact (seal-in). Când este apăsat Stop (NC), lanțul este tăiat.
(* Aceeași logică ca și TEXTUL STRUCTURAT *)IF Porniți ȘI NU Opreșteți ATUNCI Motorul := TRUE;END_IF;IF Opriți ATUNCI Motorul := FALSE; (* Stop are întotdeauna prioritate *)END_IF;(* Notă: butonul Stop este conectat fizic la NC (în mod normal închis); deci, dacă cablul se rupe, Stop=FALSE și sistemul comută pe partea sigură. *)
Detaliul de siguranță aici este critic: butonul de oprire este conectat fizic normal închis (NC). Astfel, în cazul ruperii cablului sau defectării contactului, semnalul este întrerupt și sistemul merge în direcția „stop” (fail-safe). Dacă este conectat NO (normal deschis), opritorul nu va funcționa dacă cablul se rupe - o defecțiune periculoasă silențioasă. Chiar dacă codul AI pare corect din punct de vedere logic, această decizie de conectare fizică este la latitudinea inginerului.
Siguranță: oprire de urgență, blocare și siguranță
Siguranța în automatizarea industrială nu este o problemă care poate fi „tratată în software”; Este o colaborare stratificată de hardware și software. Principii de bază:
principiu
Înțeles
Aplicație
sigur
Eșecul ar trebui să conducă la partea sigură
Contact NC, eroare=oprire
Redundanță
Funcție critică canal dublu
Două contacte, monitorizare încrucișată
Interblocare
Preveniți situația periculoasă
Mașina nu funcționează când ușa este deschisă
e-stop
Oprire independentă de urgență
La nivel hardware, independent de PLC
Punct critic: Oprirea de urgență nu este lăsată numai software-ului. Oprirea de urgență legată de siguranță este adesea întreruptă și la nivel hardware de relee de siguranță sau PLC de siguranță; software-ul PLC standard este un strat suplimentar pe deasupra. ISO 13849 (siguranța mașinilor) și IEC 62061 oferă cadrul pentru aceste proiecte.
Atenție: Nu presupuneți că o oprire de urgență generată de AI sau o logică de blocare este „software suficient”. Funcțiile de siguranță sunt proiectate conform standardelor relevante (ISO 13849 PL, IEC 62061 SIL), includ un strat hardware și sunt verificate prin evaluarea riscurilor. Această evaluare este responsabilitatea inginerului și a organizației; AI poate produce doar contururi și liste de verificare.
Mașini de stat
Logica de automatizare complexă este organizată mai degrabă cu o mașină de stări decât cu un dezordonat dacă-altfel: sistemul găsește anumite stări (Idle, Starting, Running, Stopping, Error) și trece prin tranziții definite. Această structură este atât lizibilă, cât și verificabilă.
(* Mașină simplă de stare a stației de alimentare *)CASE Case OF 0: (* BOSTA *) IF StartButton AND CoverClosed THEN Case:= 10; END_IF; 10: (* FILL *) Supapă := ADEVĂRAT; IF LevelFull THEN Supapă := FALSE; Stare := 20; END_IF; DACA NU Capac Inchis ATUNCI Supapa := FALSA; Stare := 90; END_IF; (* siguranta *) 20: (* SCOARE *) PURGE := TRUE; IF LevelEmpty THEN Empty := FALSE; Stare := 0; END_IF; 90: (* EROARE *) Supapă := FALS; Gol := FALS; (* toate actuatoarele sunt în siguranță *) IF ResetButton THEN Stare := 0; END_IF;END_CASE;
În această structură, tranzițiile de siguranță (treceți în starea de eroare dacă capacul este deschis, închideți toate actuatoarele) sunt incluse în mod clar în fiecare situație. AI generează rapid scheletul mașinii de stare; Dar care incident de siguranță va ieși din care situație provine din analiza dumneavoastră de risc.
Solicitare slabă / Solicitare puternică
SLAB: „Scrieți codul PLC pentru un transportor.” (Fără I/O, fără siguranță, limbaj neclar. Imposibil de schițat în câmp.) STRONG: „Scrieți un control al transportorului cu text structurat IEC 61131-3. Intrări: Pornire (NU), Oprire (NC), PhotocellProductVar (NU), CoverOpen (NC, Stare de siguranță) (Idle, Running, Error) Oprirea are întotdeauna prioritate, mergeți la Eroare când capacul este deschis și opriți motorul. Asumați evaluarea de siguranță a acestui cod.
Mini carcasă
Inginerul de automatizare Tolga solicită cod ST de la AI pentru o linie de ambalare. AI produce cod care pare să funcționeze, dar când Tolga îl validează pe harta I/O, el găsește două probleme. În primul rând: AI a tratat butonul Stop cu logica NU (normal deschis); Tolga transformă acest lucru într-o logică de siguranță NC, deoarece dacă cablul se rupe, linia trebuie să se oprească. În al doilea rând: încuierea, în care mașina trebuie să se oprească când capacul de protecție este deschis, se verifică numai la pornire, nu în timpul funcționării; Tolga îl corectează astfel încât să fie verificat în fiecare ciclu de scanare. De asemenea, confirmă că oprirea efectivă de urgență nu este lăsată în seama software-ului, ci este întreruptă și în hardware cu releul de siguranță. AI și-a dat rapid scheletul logic; Dar verificarea inginerului a asigurat trei decizii de siguranță: conexiune sigură, blocare permanentă și oprire de urgență hardware.
Greșeli comune
- Conectarea butonului Stop/E-stop la NO și pierderea comportamentului de siguranță în caz de rupere a cablului.
- Verificarea interblocării (capac, perdea luminoasă) numai la pornire și omiterea acesteia în funcțiune.
- Lăsând funcția de securitate în întregime software-ului și neglijând nivelul hardware.
- Uitând comportamentul buclei de scanare și efectuarea de atribuiri contradictorii la aceeași ieșire.
- Faceți logica complexă neverificabilă scriind-o cu messy if-else în loc de o mașină de stări.
- Acceptarea interpretării de către AI a standardului de securitate fără a o verifica cu textul oficial.
Pe scurt
- PLC funcționează cu un ciclu de scanare continuu; Ieșirile sunt actualizate la sfârșitul buclei.
- Ladder și Structured Text exprimă aceeași logică în două limbi diferite IEC 61131-3.
- Butoanele Stop/E-stop NC și fail-safe sunt conectate; eșecul ar trebui să ducă la partea sigură.
- Blocările sunt verificate la fiecare ciclu de scanare; Include stratul hardware de securitate.
- Mașina de stări face logica complexă lizibilă și verificabilă.
- Evaluarea siguranței (ISO 13849/IEC 62061) este responsabilitatea inginerului; AI generează schița.
Sarcina de aplicare
Alegeți un scenariu simplu de automatizare (de exemplu, pornire/oprire motor cu blocare automată, un actuator cu două poziții sau o stație mică de alimentare). Notează-ți lista I/O și cerințele de siguranță (care buton este NC, care este interblocat). Puneți AI să genereze o mașină de stare a textului structurat în acest context. Apoi verificați ieșirea pentru siguranță: (1) Stop oferă o ieșire sigură din fiecare stare, (2) este verificată interblocarea în fiecare ciclu de scanare, (3) toate actuatoarele trec în starea de siguranță în caz de eroare? Notați orice deficiențe de siguranță și corecții pe care le găsiți.