[gtranslate]

De ce trebuie să se oprească PLC-ul chiar acum? Cum se utilizează întreruperile PLC

Un controler logic programabil rulează de obicei logica într-o buclă. Numim aceasta ciclu de scanare. Unele PLC-uri pot întrerupe lucrările cu prioritate mai mică și pot rula o rutină specială pentru un eveniment hardware sau un eveniment temporizat.

Cuprins

Siemens numește aceste rutine „OB”. Rockwell Logix le numește sarcini. Imaginează-ți asta. Citești o carte bună. Apoi îți sună telefonul. Marchezi pagina. Răspunzi la apel. Când termini, te întorci direct la carte.

O PLC Întreruperea funcționează cam așa. Procesorul nu se “oprește” cu adevărat. În schimb, întrerupe logica cu prioritate mai mică, gestionează evenimentul urgent și apoi revine de unde a rămas. Totuși, timpul de activare depinde de prioritate, tipul de declanșare și încărcarea procesorului. Reacțiile rapide sunt reale. Pur și simplu nu sunt magice.

Ce este o întrerupere PLC oricum?

PLC-urile normale urmează adesea un model de bază: actualizează ieșirile, citesc intrările în memorie, apoi execută programul utilizatorului cu acele valori stocate. Acest model funcționează bine pentru multe mașini. Totuși, unele evenimente se întâmplă prea repede pentru scanarea principală singură.

De aceea, furnizorii oferă OB-uri de întrerupere hardware, OB-uri de întrerupere ciclică, OB-uri bazate pe timp și sarcini de eveniment pentru joburi speciale. În Logix, controlerul execută o sarcină pe rând, iar o sarcină periodică sau de eveniment poate întrerupe o lucrare cu prioritate mai mică și apoi poate returna controlul sarcinii anterioare.

CS1H-CPU63H

De ce avem nevoie ca ei să se oprească?

Gândește-te la o lamă de ferăstrău care se rotește rapid. Vrei să prinzi o senzor marginea la locul potrivit. Nu vă puteți permite să reacționați târziu. Dacă logica principală durează prea mult, mașina s-ar putea deplasa mai departe decât doriți înainte ca sarcina normală să ajungă acolo.

Codul bazat pe evenimente este util deoarece rulează atunci când are loc declanșatorul, în loc să aștepte următoarea trecere completă prin logica obișnuită.

Dar iată partea care necesită atenție. Nu este întotdeauna nevoie de un truc special de “ieșire imediată” pentru a influența rapid lumea reală. La Siemens, sistemul poate transfera partițiile de imagine a procesului de ieșire atribuite unui OB de întrerupere independent de ACTUALIZARE_PO.

Pe Logix, o sarcină procesează în mod normal ieșirile când se termină, cu excepția cazului în care dezactivați această opțiune. Așadar, nu presupuneți că un tag de ieșire normal este întotdeauna prea lent și nu presupuneți că o instrucțiune magică rezolvă fiecare caz. Mai întâi, verificați cum actualizează PLC-ul dvs. I/O. Apoi alegeți metoda potrivită pentru platforma respectivă.

Mărci diferite folosesc denumiri diferite. Siemens S7-1200 folosește blocuri de organizare precum OB-uri de întrerupere hardware și OB-uri de întrerupere ciclică. Logix folosește sarcini continue, periodice și de eveniment.

Scopul este același în ambele lumi: să reacționeze la momentul potrivit fără a face întregul controler să aștepte. Detaliile, însă, sunt specifice fiecărei mărci.

Cum se utilizează o funcție de întrerupere a PLC-ului?

Ca să fiu sincer, e destul de ușor dacă respecți regulile. Oamenii fac adesea să pară mai înfricoșător decât este. Poți să păstrezi lucrurile simple.

Alegeți declanșatorul. Spuneți PLC-ului ce eveniment ar trebui să lanseze rutina rapidă. Declanșatorul respectiv poate fi o modificare a intrării digitale, un eveniment de mișcare, un eveniment HSC, o etichetă consumată sau o întrerupere temporizată.

Scrieți codul rapid. Mențineți codul scurt și concentrat. Dacă acumulați muncă suplimentară, creșteți latența și riscul de suprapunere sau probleme de timeout.

Ștergeți steagul. În multe cazuri, sistemul gestionează singur apelul evenimentului. Totuși, este posibil să fie nevoie să resetați propria condiție a aplicației sau să rearmați evenimentul sursă, astfel încât următorul eveniment să aibă sens.

De asemenea, fiți atenți la suprapuneri. În Logix, dacă o sarcină de eveniment se declanșează din nou în timp ce încă rulează, controlerul ignoră acea declanșare care se suprapune.

CP1E-NA20DT-D

Ce tipuri de întreruperi există?

Numele se schimbă de la o marcă la alta. Așadar, nu considerați o singură etichetă de furnizor ca fiind lege pentru fiecare PLC. Totuși, aceste trei grupuri vă oferă o hartă de lucru solidă.

Tip de întrerupereCe faceCel mai bun caz de utilizare
Hardware sau evenimentRulează atunci când apare un eveniment hardware sau software configurat și poate întrerupe lucrările cu prioritate mai micăMargini rapide ale senzorilor, marcaje de înregistrare, evenimente HSC sau declanșatoare legate de mișcare
Periodic sau ciclicRulează la un interval fix în loc să aștepte scanarea principalăLucrări regulate de control care necesită un timp constant
Gestionarea defecțiunilor sau a diagnosticăriiSe execută atunci când CPU-ul sau un modul raportează un eveniment de timp sau de diagnosticareDetectarea depășirilor de scanare, a depășirilor de coadă sau a diagnosticării modulelor

Să comparăm ideea de sincronizare. Numerele exacte depind întotdeauna de procesor, prioritate, rata de declanșare și încărcarea totală a programului. Așadar, folosiți aceasta ca o hartă mentală, nu ca o tabletă de piatră.

MetricCiclul principal de scanareSarcină de întrerupere/eveniment hardware
Momentul execuțieiRulează ca parte a execuției ciclice normale a programului, iar timpul depinde de încărcarea și configurația programului.Rulează atunci când are loc declanșatorul său și poate întrerupe lucrările cu prioritate mai mică, dar latența reală depinde în continuare de prioritate și de încărcarea sistemului
UrgenţăBun pentru logica normală a mașinilor și secvențierea generalăMai potrivit pentru evenimente urgente care nu ar trebui să aștepte o logică de rutină
Lungimea coduluiPoate susține o logică mai largă a mașiniiAr trebui să rămână scurt pentru a se termina înainte de următorul declanșator și pentru a evita problemele de suprapunere.

După cum puteți vedea, diferența de viteză poate fi uriașă. Totuși, nu există un timp de răspuns magic care să se potrivească fiecărui PLC. Diavolul stă în detalii.

CJ1W-OD262

Faci aceste greșeli grave?

Văd asta tot timpul. Nu presupuneți că un temporizator IEC standard se va comporta într-o întrerupere unică la fel cum se comportă în OB1 sau într-o sarcină ciclică normală.

Siemens spune că temporizatorul se actualizează doar atunci când instrucțiunea temporizatorului rulează sau când codul citește membrii cheie ai temporizatorului. Aceasta înseamnă că o întrerupere hardware sau o sarcină de eveniment care rulează o dată pe declanșator dă adesea un comportament defectuos sau înșelător al temporizatorului. O întrerupere ciclică sau o sarcină periodică este diferită deoarece rulează iar și iar.

De asemenea, nu scrieți bucle inactive pentru a “aștepta” trecerea timpului. Asta e ca și cum ați apăsa accelerația la fund în timp ce mașina stă în garaj. Pierdeți timp de execuție și invitați la probleme. Siemens notează că depășirile de scanare, depășirile cozii și conflictele de temporizare a întreruperilor pot genera erori de timp. În unele cazuri, erorile repetate în timpul ciclului pot împinge CPU-ul în STOP.

O altă greșeală uriașă este apelarea a prea multor întreruperi. Nu orice mică avantaj al senzorului merită să fie ignorat. Rockwell avertizează că fiecare sarcină suplimentară ocupă timp de controler de la celelalte.

De asemenea, avertizează că, dacă o sarcină este declanșată din nou în timp ce încă rulează, controlerul ignoră acea declanșare suprapusă. Așadar, folosiți întreruperi atunci când aveți cu adevărat nevoie de ele. Altfel, rezolvarea rapidă devine o harababură lentă.

Alimentați-vă proiectele cu PLC Omron, Mitsubishi, Schneider nou-nouț, original – în stoc, gata acum!

Concluzie

Întreruperile sau sarcinile de eveniment pun în pauză lucrările cu prioritate mai mică, astfel încât PLC-ul să poată reacționa rapid la evenimentele urgente. CPU-ul nu se oprește. Comută sarcinile și apoi revine. 

Acestea sunt utile atunci când un eveniment nu trebuie să aștepte logica ciclică normală. Întreruperile hardware, întreruperile ciclice și sarcinile de eveniment servesc acest scop în moduri diferite. 

Păstrează codul de întrerupere scurt. Codul lung crește latența și riscul de suprapunere. 

Nu presupuneți că temporizatoarele standard se vor comporta bine într-o rutină de evenimente cu o singură acțiune. Dacă aveți nevoie de un comportament temporizat, gândiți-vă cu atenție dacă doriți cu adevărat un eveniment hardware, o sarcină periodică sau o întrerupere ciclică. 

Nu presupuneți că trebuie să utilizați întotdeauna I/O fizic imediat pentru a reacționa rapid. Verificați mai întâi cum gestionează PLC-ul dvs. imaginile de proces, accesul direct I/O și procesarea ieșirilor task-urilor. 

Fiți atenți la suprapuneri, depășirea cozii și erorile de ciclu. Logica rapidă este excelentă. Logica rapidă care nu se termină niciodată este un dezastru. 

Contactaţi-ne

Doar completați numele dvs., adresa de e-mail și o scurtă descriere a solicitării dvs. în acest formular. Vă vom contacta în termen de 24 de ore.

De asemenea, puteți găsi aceste subiecte interesante

sistem plc

Înțelegerea Sinking vs. Sourcing în sistemele PLC

În controlerele logice programabile (PLC), termenii „scufundare” și „surse” joacă un rol critic în definirea fluxului de curent în modulele de intrare și ieșire digitale. În timp ce conceptul poate părea inițial tehnic, este înrădăcinat în principiile electrice de bază și este cheia pentru proiectarea sistemelor PLC eficiente și funcționale.

Citeşte mai mult "
pc sau plc

Pot folosi PC-ul în loc de PLC?

În lumea în continuă evoluție a automatizării industriale, apare adesea o întrebare presantă: pot folosi un PC în loc de un PLC? Odată cu progresele tehnologice, atât PLC-urile (controlere logice programabile) cât și PC-urile (calculatoarele personale) au devenit parte integrantă în controlul proceselor industriale. Acest articol explorează diferențele majore dintre aceste două opțiuni de control, ajutându-vă să decideți care este cel mai potrivit pentru sistemul dumneavoastră de automatizare.

Citeşte mai mult "

Cereți o cotație rapidă

*respectăm confidențialitatea dvs. și toate informațiile sunt protejate.