Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech


Βίντεο: Κονσόλα διαχειριστή Habr. Σας επιτρέπει να ρυθμίζετε το κάρμα, να αξιολογείτε και να απαγορεύετε τους χρήστες.

TL? DR: Σε αυτό το άρθρο θα προσπαθήσω να δημιουργήσω έναν πίνακα ελέγχου κόμικ Habr χρησιμοποιώντας το περιβάλλον ανάπτυξης βιομηχανικής διεπαφής Webaccess/HMI Designer και το τερματικό WebOP.

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

WebOP — ένα αυτόνομο βιομηχανικό τερματικό για τη δημιουργία διεπαφών ανθρώπου-μηχανής. Χρησιμοποιείται για τη δημιουργία πινάκων ελέγχου παραγωγής, συστημάτων παρακολούθησης, δωματίων ελέγχου, ελεγκτών έξυπνου σπιτιού κ.λπ. Υποστηρίζει απευθείας σύνδεση με βιομηχανικό εξοπλισμό και μπορεί να λειτουργήσει ως μέρος ενός συστήματος SCADA.

Τερματικό WebOP - υλικό

Πίνακας ελέγχου Habr βασισμένος στο HMI από την AdvantechΤο τερματικό WebOP είναι ένας υπολογιστής χαμηλής κατανάλωσης που βασίζεται σε επεξεργαστή ARM, σε μία θήκη με οθόνη και οθόνη αφής, σχεδιασμένος να εκτελεί ένα πρόγραμμα με γραφική διεπαφή που δημιουργήθηκε στο HMI Designer. Ανάλογα με το μοντέλο, τα τερματικά διαθέτουν διάφορες βιομηχανικές διεπαφές επί του σκάφους: RS-232/422/485, CAN bus για σύνδεση σε συστήματα αυτοκινήτων, θύρα USB Host για σύνδεση πρόσθετων περιφερειακών, θύρα USB Client για σύνδεση του τερματικού σε υπολογιστή, ήχος είσοδος και έξοδος ήχου, συσκευή ανάγνωσης καρτών MicroSD για μη πτητική μνήμη και μεταφορά ρυθμίσεων.

Οι συσκευές τοποθετούνται ως αντικατάσταση προϋπολογισμού για υπολογιστές all-in-one, για εργασίες που δεν απαιτούν ισχυρούς επεξεργαστές και τους πόρους ενός πλήρους επιτραπέζιου υπολογιστή. Το WebOP μπορεί να λειτουργήσει ως αυτόνομο τερματικό για έλεγχο και εισαγωγή/εξαγωγή δεδομένων, σε σύζευξη με άλλα WebOP ή ως μέρος ενός συστήματος SCADA.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Το τερματικό WebOP μπορεί να συνδεθεί απευθείας με βιομηχανικές συσκευές

Παθητική ψύξη και προστασία IP66

Λόγω της χαμηλής απαγωγής θερμότητας, ορισμένα μοντέλα WebOP έχουν σχεδιαστεί εξ ολοκλήρου χωρίς ενεργή ψύξη αέρα. Αυτό επιτρέπει στις συσκευές να τοποθετούνται σε περιοχές που είναι ευαίσθητες στα επίπεδα θορύβου και μειώνει την ποσότητα της σκόνης που εισέρχεται μέσα στο περίβλημα.

Ο μπροστινός πίνακας είναι κατασκευασμένος χωρίς κενά ή αρμούς, έχει επίπεδο προστασίας IP66 και επιτρέπει την άμεση είσοδο νερού υπό πίεση.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Πίσω πίνακας του ακροδέκτη WOP-3100T

Μη-πτητική μνήμη

Για να αποφευχθεί η απώλεια δεδομένων, το WebOP διαθέτει 128 Kb μη πτητική μνήμη, η οποία μπορεί να εργαστεί με τον ίδιο τρόπο όπως και με τη μνήμη RAM. Μπορεί να αποθηκεύσει ενδείξεις του μετρητή και άλλα κρίσιμα δεδομένα. Σε περίπτωση διακοπής ρεύματος, τα δεδομένα θα αποθηκευτούν και θα αποκατασταθούν μετά από επανεκκίνηση.

Απομακρυσμένη ενημέρωση

Το πρόγραμμα που εκτελείται στο τερματικό μπορεί να ενημερωθεί εξ αποστάσεως μέσω δικτύου Ethernet ή μέσω σειριακών διεπαφών RS-232/485. Αυτό απλοποιεί τη συντήρηση, καθώς εξαλείφει την ανάγκη μετάβασης σε όλα τα τερματικά για ενημέρωση του λογισμικού.

Μοντέλα WebOP

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Σειρά 2000T - τις πιο προσιτές συσκευές που έχουν κατασκευαστεί με βάση το λειτουργικό σύστημα HMI RTOS σε πραγματικό χρόνο. Η σειρά αντιπροσωπεύεται από το WebOP-2040T/2070T/2080T/2100T, με διαγώνιες οθόνης 4,3 ιντσών, 7 ιντσών, 8 ιντσών και 10.1 ιντσών, αντίστοιχα.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Σειρά 3000T — πιο προηγμένα μοντέλα που βασίζονται στο λειτουργικό σύστημα Windows CE. Διαφέρουν από τη σειρά 2000T σε μεγάλο αριθμό διεπαφών υλικού και διαθέτουν διεπαφή CAN επί του σκάφους. Οι συσκευές λειτουργούν σε εκτεταμένο εύρος θερμοκρασίας (-20~60°C) και διαθέτουν αντιστατική προστασία (Αέρας: 15KV/Επαφή: 8KV). Η γραμμή πληροί πλήρως τις απαιτήσεις του προτύπου IEC-61000, το οποίο επιτρέπει στις συσκευές να χρησιμοποιούνται στην κατασκευή ημιαγωγών όπου η στατική εκφόρτιση αποτελεί πρόβλημα. Η σειρά αντιπροσωπεύεται από το WebOP-3070T/3100T/3120T, με διαγώνιες οθόνης 7 ιντσών, 10.1 ιντσών και 12.1 ιντσών, αντίστοιχα.

Περιβάλλον ανάπτυξης WebAccess/HMI Designer

Από το κουτί, το τερματικό WebOP είναι απλώς ένας υπολογιστής ARM χαμηλής κατανάλωσης στον οποίο μπορείτε να εκτελέσετε οποιοδήποτε λογισμικό, αλλά το όλο νόημα αυτής της λύσης είναι το ιδιόκτητο περιβάλλον ανάπτυξης βιομηχανικής διεπαφής WebAcess/HMI. Το σύστημα αποτελείται από δύο στοιχεία:

  • Σχεδιαστής HMI — περιβάλλον για την ανάπτυξη διεπαφών και λογικής προγραμματισμού. Εκτελείται υπό Windows στον υπολογιστή του προγραμματιστή. Το τελικό πρόγραμμα μεταγλωττίζεται σε ένα αρχείο και μεταφέρεται στο τερματικό για εκτέλεση κατά το χρόνο εκτέλεσης. Το πρόγραμμα είναι διαθέσιμο στα ρωσικά.
  • HMI Runtime — χρόνος εκτέλεσης για την εκτέλεση του μεταγλωττισμένου προγράμματος στο τελικό τερματικό. Μπορεί να λειτουργήσει όχι μόνο σε τερματικά WebOP, αλλά και σε Advantech UNO, MIC και κανονικούς επιτραπέζιους υπολογιστές. Υπάρχουν εκδόσεις χρόνου εκτέλεσης για Linux, Windows, Windows CE.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Γεια σου κόσμο - δημιουργία έργου

Ας ξεκινήσουμε τη δημιουργία μιας δοκιμαστικής διεπαφής για τον πίνακα ελέγχου Habr. Θα τρέξω το πρόγραμμα στο τερματικό WebOP-3100T τρέχοντας WinCE. Αρχικά, ας δημιουργήσουμε ένα νέο έργο στο HMI Designer. Για να εκτελέσετε ένα πρόγραμμα στο WebOP, είναι σημαντικό να επιλέξετε το σωστό μοντέλο· η μορφή του τελικού αρχείου θα εξαρτηθεί από αυτό. Σε αυτό το βήμα, μπορείτε επίσης να επιλέξετε την αρχιτεκτονική επιφάνειας εργασίας και, στη συνέχεια, το τελικό αρχείο θα μεταγλωττιστεί για χρόνο εκτέλεσης X86.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Δημιουργία νέου έργου και επιλογή αρχιτεκτονικής

Επιλέγοντας το πρωτόκολλο επικοινωνίας μέσω του οποίου το μεταγλωττισμένο πρόγραμμα θα φορτωθεί στο WebOP. Σε αυτό το βήμα, μπορείτε να επιλέξετε μια σειριακή διεπαφή ή να καθορίσετε τη διεύθυνση IP του τερματικού.
Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Διεπαφή δημιουργίας έργου. Στην αριστερή πλευρά υπάρχει ένα δενδρικό διάγραμμα των στοιχείων του μελλοντικού προγράμματος. Προς το παρόν, μας ενδιαφέρει μόνο το στοιχείο Οθόνες, αυτές είναι απευθείας οι οθόνες με στοιχεία γραφικής διεπαφής που θα εμφανίζονται στο τερματικό.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Αρχικά, ας δημιουργήσουμε δύο οθόνες με το κείμενο "Hello World" και τη δυνατότητα εναλλαγής μεταξύ τους χρησιμοποιώντας κουμπιά. Για να γίνει αυτό, θα προσθέσουμε μια νέα οθόνη, την οθόνη #2, και σε κάθε οθόνη θα προσθέσουμε ένα στοιχείο κειμένου και δύο κουμπιά για εναλλαγή μεταξύ οθονών (Screen Buttons). Ας διαμορφώσουμε κάθε κουμπί για μετάβαση στην επόμενη οθόνη.
Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Διεπαφή για τη ρύθμιση του κουμπιού για εναλλαγή μεταξύ οθονών

Το πρόγραμμα Hello World είναι έτοιμο, τώρα μπορείτε να το μεταγλωττίσετε και να το εκτελέσετε. Στο στάδιο της μεταγλώττισης μπορεί να υπάρχουν σφάλματα σε περίπτωση εσφαλμένα καθορισμένων μεταβλητών ή διευθύνσεων. Οποιοδήποτε σφάλμα θεωρείται μοιραίο· το πρόγραμμα θα μεταγλωττιστεί μόνο εάν δεν υπάρχουν σφάλματα.
Το περιβάλλον παρέχει τη δυνατότητα προσομοίωσης ενός τερματικού, ώστε να μπορείτε να διορθώσετε το πρόγραμμα στον υπολογιστή σας τοπικά. Υπάρχουν δύο τύποι προσομοίωσης:

  • Online προσομοίωση — θα χρησιμοποιηθούν όλες οι εξωτερικές πηγές δεδομένων που καθορίζονται στο πρόγραμμα. Αυτά μπορεί να είναι USO ή συσκευές συνδεδεμένες μέσω σειριακών διεπαφών ή Modbus TCP.
  • Προσομοίωση εκτός σύνδεσης — προσομοίωση χωρίς τη χρήση εξωτερικών συσκευών.

Ενώ δεν έχουμε εξωτερικά δεδομένα, χρησιμοποιούμε προσομοίωση εκτός σύνδεσης, έχοντας προηγουμένως μεταγλωττίσει το πρόγραμμα. Το τελικό πρόγραμμα θα βρίσκεται στο φάκελο του έργου, με το όνομα ProjectName_ProgramName.px3

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Το πρόγραμμα που εκτελείται στην προσομοίωση μπορεί να ελεγχθεί με τον κέρσορα του ποντικιού με τον ίδιο τρόπο που θα γινόταν στην οθόνη αφής ενός τερματικού WebOP. Βλέπουμε ότι όλα λειτουργούν όπως πρέπει. Εξαιρετική.
Για να κάνετε λήψη του προγράμματος σε ένα φυσικό τερματικό, απλώς κάντε κλικ στο κουμπί Λήψη. Όμως, επειδή δεν διαμόρφωσα τη σύνδεση του τερματικού στο περιβάλλον ανάπτυξης, μπορείτε απλώς να μεταφέρετε το αρχείο χρησιμοποιώντας μια μονάδα flash USB ή μια κάρτα μνήμης MicroSD.
Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Η διεπαφή του προγράμματος είναι διαισθητική, δεν θα περάσω από κάθε μπλοκ γραφικών. Η δημιουργία φόντου, σχημάτων και κειμένου θα είναι σαφής σε οποιονδήποτε έχει χρησιμοποιήσει προγράμματα παρόμοια με το Word. Για να δημιουργήσετε μια γραφική διεπαφή, δεν απαιτούνται δεξιότητες προγραμματισμού· όλα τα στοιχεία προστίθενται σύροντας το ποντίκι στη φόρμα.

Εργασία με τη μνήμη

Τώρα που ξέρουμε πώς να δημιουργούμε γραφικά στοιχεία, ας μάθουμε πώς να εργαζόμαστε με δυναμικό περιεχόμενο και μια γλώσσα σεναρίου. Ας δημιουργήσουμε ένα γράφημα ράβδων που εμφανίζει δεδομένα από μια μεταβλητή U $ 100. Στις ρυθμίσεις γραφήματος, επιλέξτε τον τύπο δεδομένων: ακέραιος 16-bit και το εύρος τιμών γραφήματος: από 0 έως 10.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Το πρόγραμμα υποστηρίζει τη σύνταξη σεναρίων σε τρεις γλώσσες: VBScript, JavaScript και τη δική του γλώσσα. Θα χρησιμοποιήσω την τρίτη επιλογή γιατί υπάρχουν παραδείγματα για αυτήν στην τεκμηρίωση και τη βοήθεια αυτόματης σύνταξης απευθείας στον επεξεργαστή.

Ας προσθέσουμε μια νέα μακροεντολή:

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Ας γράψουμε έναν απλό κώδικα για να αλλάξουμε σταδιακά δεδομένα σε μια μεταβλητή που μπορεί να παρακολουθηθεί σε ένα γράφημα. Θα προσθέσουμε 10 στη μεταβλητή και θα τη μηδενίσουμε όταν είναι μεγαλύτερη από 100.

$U100=$U100+10
IF $U100>100
$U100=0
ENDIF

Για να εκτελέσετε το σενάριο σε βρόχο, ορίστε το στις ρυθμίσεις Γενικής εγκατάστασης ως Main Macro, με διάστημα εκτέλεσης 250ms.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Ας μεταγλωττίσουμε και να εκτελέσουμε το πρόγραμμα στον προσομοιωτή:

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Σε αυτό το στάδιο, μάθαμε να χειριζόμαστε δεδομένα στη μνήμη και να τα εμφανίζουμε οπτικά. Αυτό είναι ήδη αρκετό για τη δημιουργία ενός απλού συστήματος παρακολούθησης, λήψης δεδομένων από εξωτερικές συσκευές (αισθητήρες, ελεγκτές) και εγγραφή τους στη μνήμη. Διάφορα μπλοκ εμφάνισης δεδομένων είναι διαθέσιμα στο HMI Designer: με τη μορφή κυκλικών καντράν με βέλη, διάφορα γραφήματα και γραφήματα. Χρησιμοποιώντας σενάρια JavaScript, μπορείτε να κάνετε λήψη δεδομένων από εξωτερικές πηγές μέσω HTTP.

Πίνακας ελέγχου Habr

Χρησιμοποιώντας τις αποκτηθείσες δεξιότητες, θα φτιάξουμε μια διεπαφή κόμικ για την κονσόλα διαχειριστή Habr.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Το τηλεχειριστήριό μας θα πρέπει να μπορεί:

  • Αλλαγή προφίλ χρήστη
  • Αποθηκεύστε το κάρμα και τα δεδομένα αξιολόγησης
  • Αλλάξτε τις τιμές κάρμα και βαθμολογίας χρησιμοποιώντας ρυθμιστικά
  • Όταν κάνετε κλικ στο κουμπί "απαγόρευση", το προφίλ πρέπει να επισημανθεί ως αποκλεισμένο, το avatar θα πρέπει να αλλάξει σε διαγραμμένο

Θα εμφανίσουμε κάθε προφίλ σε ξεχωριστή σελίδα, επομένως θα δημιουργήσουμε μια σελίδα για κάθε προφίλ. Θα αποθηκεύσουμε το κάρμα και τη βαθμολογία σε τοπικές μεταβλητές στη μνήμη, οι οποίες θα αρχικοποιηθούν χρησιμοποιώντας το Setup Macro όταν ξεκινήσει το πρόγραμμα.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Η εικόνα μπορεί να κάνει κλικ

Προσαρμογή κάρμα και βαθμολογία

Για να ρυθμίσουμε το κάρμα θα χρησιμοποιήσουμε το ρυθμιστικό (Slide Switch). Καθορίζουμε τη μεταβλητή που έχει αρχικοποιηθεί στο Setup Macro ως διεύθυνση εγγραφής. Ας περιορίσουμε το εύρος των τιμών του ρυθμιστικού από 0 έως 1500. Τώρα, όταν το ρυθμιστικό μετακινηθεί, νέα δεδομένα θα εγγραφούν στη μνήμη. Σε αυτήν την περίπτωση, η αρχική κατάσταση του ρυθμιστικού θα αντιστοιχεί στις τιμές της μεταβλητής στη μνήμη.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Για να εμφανίσουμε τις αριθμητικές τιμές του κάρμα και της βαθμολογίας, θα χρησιμοποιήσουμε το στοιχείο Αριθμητική εμφάνιση. Η αρχή της λειτουργίας του είναι παρόμοια με το διάγραμμα από το παράδειγμα του προγράμματος "Hello World", απλώς υποδεικνύουμε τη διεύθυνση της μεταβλητής στη Διεύθυνση παρακολούθησης.

Κουμπί απαγόρευσης

Το κουμπί «απαγόρευση» υλοποιείται χρησιμοποιώντας το στοιχείο Εναλλαγής διακόπτη. Η αρχή της αποθήκευσης δεδομένων είναι παρόμοια με τα παραπάνω παραδείγματα. Στις ρυθμίσεις, μπορείτε να επιλέξετε διαφορετικό κείμενο, χρώμα ή εικόνα, ανάλογα με την κατάσταση του κουμπιού.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech
Όταν πατηθεί το κουμπί, το avatar πρέπει να διαγράφεται με κόκκινο χρώμα. Αυτό είναι εύκολο να εφαρμοστεί χρησιμοποιώντας το μπλοκ Picture Display. Σας επιτρέπει να καθορίσετε πολλές εικόνες που σχετίζονται με την κατάσταση του κουμπιού Εναλλαγή διακόπτη. Για να γίνει αυτό, δίνεται στο μπλοκ την ίδια διεύθυνση με το μπλοκ με το κουμπί και τον αριθμό των καταστάσεων. Η εικόνα με τις πινακίδες κάτω από το avatar έχει ρυθμιστεί με παρόμοιο τρόπο.

Πίνακας ελέγχου Habr βασισμένος στο HMI από την Advantech

Συμπέρασμα

Συνολικά, μου άρεσε το προϊόν. Προηγουμένως, είχα εμπειρία χρησιμοποιώντας ένα tablet Android για παρόμοιες εργασίες, αλλά η ανάπτυξη μιας διεπαφής για αυτό είναι πολύ πιο δύσκολη και τα API του προγράμματος περιήγησης δεν επιτρέπουν την πλήρη πρόσβαση στα περιφερειακά. Ένα τερματικό WebOP μπορεί να αντικαταστήσει έναν συνδυασμό tablet Android, υπολογιστή και ελεγκτή.

Το HMI Designer, παρά τον αρχαϊκό σχεδιασμό του, είναι αρκετά προηγμένο. Χωρίς ειδικές δεξιότητες προγραμματισμού, μπορείτε να σχεδιάσετε γρήγορα μια διεπαφή εργασίας. Το άρθρο δεν εξετάζει όλα τα μπλοκ γραφικών, από τα οποία υπάρχουν πολλά: κινούμενοι σωλήνες, κύλινδροι, γραφήματα, διακόπτες εναλλαγής. Υποστηρίζει πολλούς δημοφιλείς βιομηχανικούς ελεγκτές εκτός συσκευασίας και περιέχει συνδέσμους βάσης δεδομένων.

παραπομπές

Μπορείτε να κατεβάσετε το περιβάλλον ανάπτυξης WebAccess/HMI Designer και Runtime εδώ

Πηγές του έργου του πίνακα ελέγχου Habr

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο