Μονάδα 6 / 9

Βιομηχανικός Αυτοματισμός και Προγραμματισμός PLC

Κέρδη:

  • Δυνατότητα παραγωγής Ladder Logic και δομών Structured Text (ST) ως προσχέδια με AI
  • Δυνατότητα διαμόρφωσης κυκλωμάτων ασφαλείας, ενδιάμεσων κλειδαριών και μηχανών κατάστασης με τη βοήθεια AI
  • Δυνατότητα επαλήθευσης της λογικής PLC που δημιουργείται από AI έναντι του χάρτη I/O και των απαιτήσεων ασφάλειας

Το όνομα της αξιοπιστίας στο εργοστασιακό πεδίο είναι PLC (Programmable Logic Controller). Μεταφορείς, κυψέλες ρομπότ, γραμμές πλήρωσης, πρέσες. όλα ελέγχονται από PLC. Ο προγραμματισμός PLC είναι ένας κόσμος διαφορετικός από το λογισμικό επιτραπέζιου υπολογιστή: η Ladder Logic (LD) είναι μια οπτική γλώσσα που μιμείται τη λογική αναμετάδοσης, ενώ το Structured Text (ST) είναι μια γλώσσα κειμένου που μοιάζει με Pascal. και τα δύο ορίζονται στο πρότυπο IEC 61131-3. Σε αυτό το περιβάλλον, το πιο σημαντικό πράγμα δεν είναι η λειτουργικότητα αλλά η ασφάλεια. επειδή ένα λογικό σφάλμα μπορεί να τερματίσει τη λειτουργία ενός πιεστηρίου τη λάθος στιγμή, θέτοντας σε κίνδυνο έναν χειριστή. Η τεχνητή νοημοσύνη βοηθά στη δημιουργία σχεδίων σκάλας και ST, στη δημιουργία μηχανών κατάστασης και στην τεκμηρίωση της λογικής. Ωστόσο, τα κυκλώματα ασφαλείας, οι μπλοκαρίσματα και η τελική επαλήθευση είναι ευθύνη του μηχανικού και δεν μπορούν να ανατεθούν στην τεχνητή νοημοσύνη. Σε αυτήν την ενότητα, καλύπτουμε τον τρόπο κατασκευής και επαλήθευσης της λογικής PLC με AI.

Λογική εργασίας του PLC: Κύκλος σάρωσης

Το PLC δεν εκτελεί τον κώδικα μόνο μία φορά και τελείωσε. Εκτελεί έναν συνεχή κύκλο σάρωσης. Σε κάθε βρόχο: (1) διαβάζει όλες τις εισόδους, (2) εκτελεί τη λογική από πάνω προς τα κάτω, (3) ενημερώνει όλες τις εξόδους. Αυτός ο κύκλος διαρκεί χιλιοστά του δευτερολέπτου και επαναλαμβάνεται ατελείωτα. Αυτή η συμπεριφορά έχει κρίσιμες συνέπειες κατά τη σύνταξη λογικής PLC:

  • Οι έξοδοι ενημερώνονται στο τέλος του βρόχου. Εάν αντιστοιχίσετε μια τιμή σε μια έξοδο σε περισσότερες από μία θέσεις εντός του βρόχου, η τελευταία ανάθεση κερδίζει.
  • Η λογική λειτουργεί από την αρχή σε κάθε κύκλο. Έτσι, οι μεταβλητές μανδάλου ή κατάστασης χρησιμοποιούνται για να "θυμηθώ" κατάσταση.
  • Τα γρήγορα συμβάντα μπορεί να χαθούν εάν παραταθεί ο χρόνος σάρωσης. Τα κρίσιμα συμβάντα καταγράφονται με διακοπές υλικού ή μετρητή υψηλής ταχύτητας.
Συμβουλή: Όταν γράφετε λογική PLC στο AI, πείτε "λάβετε υπόψη τη συμπεριφορά του βρόχου σάρωσης, όχι αντικρουόμενες εκχωρήσεις στην ίδια έξοδο, χρησιμοποιήστε μηχανή κλειδώματος/κατάστασης για κατάσταση". Η τεχνητή νοημοσύνη μερικές φορές σκέφτεται σαν τη λογική της επιφάνειας εργασίας και παραλείπει τη συμπεριφορά σάρωσης.

Λογική κλίμακας και δομημένο κείμενο

Η ίδια λογική μπορεί να γραφτεί και στις δύο γλώσσες. Ένα απλό παράδειγμα: ένας κινητήρας ξεκινά όταν πατηθεί το κουμπί εκκίνησης, σταματά και κλείνει μόνο του όταν πατηθεί το κουμπί διακοπής.

LADDER (εμφάνιση κειμένου): Start Stop Engine---| |------|/|-------------( )--- | Κινητήρας |---| |------+ (Η επαφή του κινητήρα διατηρείται -> στεγανοποίηση) Επεξήγηση: Όταν πατηθεί το Start, ο κινητήρας ενεργοποιείται. Ο κινητήρας διατηρεί το ρεύμα μέσω της δικής του επαφής (seal-in). Όταν πατηθεί το Stop (NC), η αλυσίδα κόβεται.

(* Ίδια λογική με το ΔΟΜΗΜΕΝΟ ΚΕΙΜΕΝΟ *) ΑΝ Εκκίνηση ΚΑΙ ΟΧΙ ΣΤΑΜΑΤΑ ΤΟΤΕ Engine := TRUE;END_IF;IF Stop THEN Engine := FALSE; (* Το Stop έχει πάντα προτεραιότητα *)END_IF;(* Σημείωση: Το κουμπί Stop είναι φυσικά συνδεδεμένο στο NC (κανονικά κλειστό), οπότε αν σπάσει το καλώδιο, Stop=FALSE και το σύστημα μεταβαίνει στην ασφαλή πλευρά. *)

Η λεπτομέρεια ασφαλείας εδώ είναι κρίσιμη: Το κουμπί διακοπής είναι φυσικά συνδεδεμένο κανονικά κλειστό (NC). Έτσι, σε περίπτωση θραύσης του καλωδίου ή βλάβης της επαφής, το σήμα διακόπτεται και το σύστημα πηγαίνει στην κατεύθυνση «σταμάτημα» (fail-safe). Εάν είναι συνδεδεμένο NO (κανονικά ανοιχτό), η διακοπή δεν θα λειτουργήσει εάν σπάσει το καλώδιο—μια επικίνδυνη αθόρυβη βλάβη. Ακόμα κι αν ο κωδικός AI φαίνεται λογικά σωστός, αυτή η απόφαση φυσικής σύνδεσης εξαρτάται από τον μηχανικό.

Ασφάλεια: E-Stop, Lockout και Fail-Safe

Η ασφάλεια στον βιομηχανικό αυτοματισμό δεν είναι ένα ζήτημα που μπορεί να "αντιμετωπιστεί σε λογισμικό". Είναι μια πολυεπίπεδη συνεργασία υλικού και λογισμικού. Βασικές αρχές:

αρχή

Σημασία

Εφαρμογή

αστοχία

Η αποτυχία πρέπει να οδηγεί στην ασφαλή πλευρά

Επαφή NC, σφάλμα=διακοπή

Πλεονασμός

Κρίσιμη λειτουργία διπλού καναλιού

Δύο επαφές, cross monitoring

Συμπλοκή

Αποτρέψτε την επικίνδυνη κατάσταση

Το μηχάνημα δεν λειτουργεί όταν η πόρτα είναι ανοιχτή

e-stop

Ανεξάρτητη στάση έκτακτης ανάγκης

Σε επίπεδο υλικού, ανεξάρτητο από το PLC

Κρίσιμο σημείο: Το E-stop δεν επαφίεται μόνο στο λογισμικό. Η διακοπή έκτακτης ανάγκης που σχετίζεται με την ασφάλεια συχνά διακόπτεται επίσης σε επίπεδο υλικού από ρελέ ασφαλείας ή PLC ασφαλείας. Το τυπικό λογισμικό PLC είναι ένα επιπλέον επίπεδο πάνω από αυτό. Το ISO 13849 (ασφάλεια μηχανήματος) και το IEC 62061 παρέχουν το πλαίσιο για αυτούς τους σχεδιασμούς.

Προσοχή: Μην υποθέσετε ότι μια λογική E-stop ή κλειδώματος που δημιουργείται από AI είναι "επαρκές λογισμικό". Οι λειτουργίες ασφαλείας έχουν σχεδιαστεί σύμφωνα με τα σχετικά πρότυπα (ISO 13849 PL, IEC 62061 SIL), περιλαμβάνουν στρώμα υλικού και επαληθεύονται με αξιολόγηση κινδύνου. Αυτή η αξιολόγηση είναι ευθύνη του μηχανικού και του οργανισμού. Η τεχνητή νοημοσύνη μπορεί να παράγει μόνο περιγράμματα και λίστες ελέγχου.

Κρατικές Μηχανές

Η πολύπλοκη λογική αυτοματισμού οργανώνεται με μια μηχανή κατάστασης και όχι με μια ακατάστατη κατάσταση: το σύστημα βρίσκει ορισμένες καταστάσεις (Αδράνεια, Εκκίνηση, Εκτέλεση, Διακοπή, Σφάλμα) και προχωρά μέσω καθορισμένων μεταβάσεων. Αυτή η δομή είναι τόσο αναγνώσιμη όσο και επαληθεύσιμη.

(* Απλό μηχάνημα κατάστασης πρατηρίου καυσίμων *) ΠΕΡΙΠΤΩΣΗ 0: (* BOSTA *) IF StartButton AND CoverClosed then Case := 10; END_IF; 10: (* FILL *) Βαλβίδα := TRUE; IF LevelFull ΤΟΤΕ Βαλβίδα := FALSE; Κατάσταση := 20; END_IF; ΑΝ ΔΕΝ Καλύπτεται Κλειστή ΤΟΤΕ Βαλβίδα := FALSE; Κατάσταση := 90; END_IF; (* ασφάλεια *) 20: (* ΣΤΡΑΓΓΙΣΗ *) ΕΚΚΑΘΑΡΙΣΜΟΣ := ΑΛΗΘΕΙΑ; IF LevelEmpty ΤΟΤΕ Άδειο := FALSE; Κατάσταση := 0; END_IF; 90: (* ΣΦΑΛΜΑ *) Βαλβίδα := FALSE; Άδειο := FALSE; (* όλοι οι ενεργοποιητές είναι ασφαλείς *) ΑΝ ResetButton ΤΟΤΕ Κατάσταση := 0; END_IF;END_CASE;

Σε αυτή τη δομή, οι μεταβάσεις ασφαλείας (μετάβαση σε κατάσταση σφάλματος εάν το κάλυμμα είναι ανοιχτό, κλείστε όλους τους ενεργοποιητές) περιλαμβάνονται σαφώς σε κάθε περίπτωση. Η τεχνητή νοημοσύνη δημιουργεί γρήγορα σκελετό κατάστασης μηχανής. Αλλά ποιο περιστατικό ασφαλείας θα προκύψει από ποια κατάσταση προέρχεται από την ανάλυση κινδύνου σας.

Αδύναμη προτροπή / Ισχυρή προτροπή

ΑΔΥΝΑΤΟ:"Γράψτε τον κωδικό PLC για έναν μεταφορέα." (Χωρίς I/O, χωρίς ασφάλεια, ασαφής γλώσσα. Δεν είναι δυνατή η προβολή του σχεδίου.) ΔΥΝΑΤΟΤΗΤΑ:"Γράψτε ένα στοιχείο ελέγχου μεταφορέα με δομημένο κείμενο IEC 61131-3. Είσοδοι: Έναρξη (NO), Stop (NC), PhotocellProductVar (NO,ConvetorO), Security Cover. Προειδοποιητική λυχνία Χρήση μηχανής κατάστασης (Αδράνεια, Εκτέλεση, Σφάλμα) Η διακοπή έχει πάντα προτεραιότητα, πηγαίνετε στο Σφάλμα όταν το καπάκι είναι ανοιχτό και σβήστε τον κινητήρα.

Μίνι θήκη

Ο μηχανικός αυτοματισμού Tolga ζητά κωδικό ST από την AI για μια γραμμή συσκευασίας. Το AI παράγει κώδικα που φαίνεται να λειτουργεί, αλλά όταν ο Tolga τον επικυρώνει έναντι του χάρτη I/O, βρίσκει δύο προβλήματα. Πρώτον: Η τεχνητή νοημοσύνη αντιμετώπισε το κουμπί Stop με λογική ΟΧΙ (συνήθως ανοιχτή). Η Tolga το μετατρέπει σε λογική NC Fail-safe, γιατί αν σπάσει το καλώδιο, η γραμμή πρέπει να σταματήσει. Δεύτερον: το κλείδωμα, στο οποίο το μηχάνημα πρέπει να σταματήσει όταν το προστατευτικό κάλυμμα είναι ανοιχτό, ελέγχεται μόνο κατά την εκκίνηση και όχι κατά τη λειτουργία. Το Tolga το διορθώνει έτσι ώστε να ελέγχεται σε κάθε κύκλο σάρωσης. Επιβεβαιώνει επίσης ότι το πραγματικό E-stop δεν επαφίεται στο λογισμικό, αλλά διακόπτεται επίσης σε υλικό με το ρελέ ασφαλείας. Η τεχνητή νοημοσύνη έδωσε γρήγορα τον λογικό της σκελετό. Ωστόσο, η επαλήθευση του μηχανικού εξασφάλισε τρεις αποφάσεις ασφαλείας: σύνδεση ασφαλούς βλάβης, μόνιμο κλείδωμα και E-stop υλικού.

Κοινά λάθη

  • Σύνδεση του κουμπιού Stop/E-stop στο ΟΧΙ και απώλεια της συμπεριφοράς ασφαλείας σε περίπτωση θραύσης του καλωδίου.
  • Έλεγχος της ασφάλισης (καπάκι, ελαφριά κουρτίνα) μόνο κατά την εκκίνηση και παράλειψη λειτουργίας.
  • Αφήνοντας τη λειτουργία ασφαλείας εξ ολοκλήρου στο λογισμικό και παραμελώντας το επίπεδο υλικού.
  • Ξεχνώντας τη συμπεριφορά του βρόχου σάρωσης και πραγματοποιώντας αντικρουόμενες αντιστοιχίσεις στην ίδια έξοδο.
  • Κάνοντας τη σύνθετη λογική μη επαληθεύσιμη γράφοντάς την με ακατάστατο if-else αντί για κρατική μηχανή.
  • Αποδοχή της ερμηνείας του προτύπου ασφαλείας από το AI χωρίς να το επαληθεύσετε με το επίσημο κείμενο.

Συνοπτικά

  • Το PLC λειτουργεί με έναν συνεχή κύκλο σάρωσης. Οι έξοδοι ενημερώνονται στο τέλος του βρόχου.
  • Το Ladder και το Structured Text εκφράζουν την ίδια λογική σε δύο διαφορετικές γλώσσες IEC 61131-3.
  • Τα κουμπιά Stop/E-stop NC και fail-safe είναι συνδεδεμένα. η αποτυχία πρέπει να οδηγεί στην ασφαλή πλευρά.
  • Τα λουκέτα ελέγχονται σε κάθε κύκλο σάρωσης. Περιλαμβάνει επίπεδο υλικού ασφαλείας.
  • Η μηχανή κατάστασης κάνει τη σύνθετη λογική αναγνώσιμη και επαληθεύσιμη.
  • Η αξιολόγηση ασφαλείας (ISO 13849/IEC 62061) είναι ευθύνη του μηχανικού. Το AI δημιουργεί σχέδιο.

Εργασία εφαρμογής

Επιλέξτε ένα απλό σενάριο αυτοματισμού (π.χ. start/stop αυτοασφάλισης κινητήρα, ενεργοποιητή δύο θέσεων ή μικρό πρατήριο ανεφοδιασμού). Γράψτε τη λίστα εισόδου/εξόδου και τις απαιτήσεις ασφαλείας (το οποίο κουμπί είναι NC, το οποίο είναι αλληλένδετο). Ζητήστε από το AI να δημιουργήσει μια μηχανή κατάστασης δομημένου κειμένου με αυτό το πλαίσιο. Στη συνέχεια, επαληθεύστε την έξοδο για ασφάλεια: (1) το Stop παρέχει ασφαλή έξοδο από κάθε κατάσταση, (2) ελέγχεται η αλληλασφάλιση σε κάθε κύκλο σάρωσης, (3) όλοι οι ενεργοποιητές μεταβαίνουν στην ασφαλή κατάσταση σε περίπτωση σφάλματος; Σημειώστε τυχόν ελλείψεις και διορθώσεις ασφαλείας που θα βρείτε.