Οδηγός πρωτοκόλλου εφαρμογών MODBUS V1.1b3

August 18, 2024 2319 Σχόλια

Λήψη  MODBUS Application Protocol Specification



Αυτή η εικόνα παρουσιάζει τον Οδηγό MODBUS V1.1b3 Application Protocol για εφαρμογές ανέπαφης σάρωσης Standards & Protocols.



Επισκόπηση του MODBUS V1.1b3

Το MODBUS V1.1b3 περιγράφει ένα ευρέως χρησιμοποιούμενο πρωτόκολλο επιπέδου εφαρμογής για επικοινωνία βιομηχανικού αυτοματισμού. Βασίζεται σε ένα απλό μοντέλο αιτήματος και απάντησης, στο οποίο ένας client ξεκινά μια συναλλαγή και ένας server επιστρέφει είτε τα ζητούμενα δεδομένα, είτε επιβεβαίωση μιας ενέργειας, είτε απάντηση εξαίρεσης. Το πρωτόκολλο τοποθετείται στο επίπεδο εφαρμογής, επομένως η δομή των μηνυμάτων του μπορεί να αντιστοιχιστεί σε σειριακές ζεύξεις, Ethernet TCP/IP, ραδιοζεύξεις, οπτικές ίνες και μικτά δίκτυα gateway.

Το διαχρονικό του πλεονέκτημα είναι μια σταθερή, εύκολη στην υλοποίηση δομή που επιτρέπει σε PLC, HMI, drives, μονάδες I/O, gateways, όργανα, αναγνώστες RFID αναγνώστεςκαι άλλες συσκευές αυτοματισμού να ανταλλάσσουν λειτουργικά δεδομένα χωρίς υπερβολικά πολύπλοκη στοίβα πρωτοκόλλου. Σε πολλά βιομηχανικά έργα, οι μηχανικοί χρησιμοποιούν το MODBUS για να διαβάζουν την κατάσταση μηχανημάτων, να γράφουν τιμές ελέγχου, να συλλέγουν δεδομένα καταχωρητών, να διαγιγνώσκουν προβλήματα επικοινωνίας και να ενσωματώνουν εξοπλισμό διαφορετικών κατασκευαστών.

Πώς το Πρωτόκολλο Οργανώνει τα Μηνύματα

Μια συναλλαγή MODBUS ξεκινά όταν ο client δημιουργεί μια μονάδα δεδομένων εφαρμογής. Στο κέντρο του μηνύματος βρίσκεται η μονάδα δεδομένων πρωτοκόλλου, ή PDU. Η PDU είναι ανεξάρτητη από το υποκείμενο επίπεδο επικοινωνίας και συνήθως περιέχει έναν κωδικό συνάρτησης ενός byte ακολουθούμενο από δεδομένα που εξαρτώνται από τη συνάρτηση. Όταν το MODBUS αντιστοιχίζεται σε έναν συγκεκριμένο δίαυλο ή δίκτυο, η PDU γίνεται μέρος μιας μεγαλύτερης ADU, η οποία μπορεί να προσθέσει μια διεύθυνση server, ένα πεδίο ελέγχου σφάλματος ή μια κεφαλίδα MBAP ανάλογα με τη μέθοδο μεταφοράς.

Ο κωδικός συνάρτησης υποδεικνύει στον server ποια λειτουργία να εκτελέσει. Για παράδειγμα, ένας client μπορεί να ζητήσει την κατάσταση ON/OFF των coils, να διαβάσει input registers, να γράψει ένα μόνο holding register, να γράψει πολλαπλά coils ή να λάβει πληροφορίες αναγνώρισης συσκευής. Εάν το αίτημα είναι έγκυρο και ο server μπορεί να εκτελέσει τη λειτουργία, η απάντηση επαναλαμβάνει τον κωδικό συνάρτησης και επιστρέφει τα αναμενόμενα δεδομένα ή την επιβεβαίωση. Εάν προκύψει πρόβλημα, η απάντηση χρησιμοποιεί κωδικό συνάρτησης εξαίρεσης και κωδικό εξαίρεσης, ώστε η εφαρμογή client να μπορεί να αποφασίσει αν θα επαναλάβει, θα ειδοποιήσει, θα καταγράψει το σφάλμα ή θα μεταβεί σε ασφαλή κατάσταση.

Μοντέλο Δεδομένων, Διευθυνσιοδότηση και Κωδικοποίηση

Το MODBUS V1.1b3 ορίζει ένα λογικό μοντέλο δεδομένων βασισμένο σε τέσσερις κύριες περιοχές αντικειμένων: discrete inputs, coils, input registers και holding registers. Τα discrete inputs είναι τιμές ενός bit μόνο για ανάγνωση, τα coils είναι τιμές ενός bit για ανάγνωση και εγγραφή, τα input registers είναι λέξεις 16 bit μόνο για ανάγνωση και τα holding registers είναι λέξεις 16 bit για ανάγνωση και εγγραφή. Αυτό το μοντέλο είναι σκόπιμα γενικό. Ένας κατασκευαστής συσκευής μπορεί να αντιστοιχίσει το μοντέλο στη δική του μνήμη εφαρμογής, ενώ ο client χρησιμοποιεί τυπικές συναρτήσεις MODBUS για να προσπελάσει τα εκτεθειμένα δεδομένα.

Η προδιαγραφή επίσης διαχωρίζει τις λογικές αναφορές δεδομένων από τις φυσικές διευθύνσεις μνήμης. Στο μοντέλο δεδομένων MODBUS, τα στοιχεία μπορεί να αριθμούνται από 1 έως n, αλλά μέσα στην PDU οι διευθύνσεις είναι μηδενικής βάσης και μπορεί να κυμαίνονται από 0 έως 65535. Αυτή η διάκριση έχει σημασία κατά την ανάπτυξη λογισμικού, επειδή ένας αριθμός καταχωρητή που εμφανίζεται στον χειριστή και η πραγματική διεύθυνση PDU μπορεί να διαφέρουν κατά ένα. Επομένως, η σαφής τεκμηρίωση από τον κατασκευαστή της συσκευής είναι απαραίτητη για αξιόπιστη ενσωμάτωση.

Το MODBUS χρησιμοποιεί κωδικοποίηση big-endian για ποσότητες πολλαπλών byte. Για μια τιμή 16 bit όπως 0x1234, το πιο σημαντικό byte αποστέλλεται πριν από το λιγότερο σημαντικό byte. Αυτή η σύμβαση βοηθά να παραμένει προβλέψιμη η διαλειτουργικότητα όταν εξοπλισμός από διαφορετικούς προμηθευτές ανταλλάσσει τιμές καταχωρητών. Σε πραγματικές εγκαταστάσεις, οι μηχανικοί πρέπει ωστόσο να επιβεβαιώνουν πώς οι ακέραιοι 32 bit, οι τιμές κινητής υποδιαστολής και οι σύνθετες τιμές ειδικές για τον προμηθευτή συσκευάζονται σε πολλαπλούς καταχωρητές, επειδή αυτές οι συμβάσεις σε επίπεδο εφαρμογής μπορεί να διαφέρουν.

Κωδικοί Συνάρτησης και Πρακτική Ενσωμάτωση Συσκευών

Οι κωδικοί συνάρτησης είναι οι ορισμοί υπηρεσιών του MODBUS. Κοινοί δημόσιοι κωδικοί περιλαμβάνουν ανάγνωση coils, ανάγνωση discrete inputs, ανάγνωση holding registers, ανάγνωση input registers, εγγραφή ενός coil, εγγραφή ενός register, εγγραφή πολλαπλών coils και εγγραφή πολλαπλών registers. Άλλοι κωδικοί υποστηρίζουν διαγνωστικά, αρχεία εγγραφών, ουρές FIFO, ενθυλακωμένη μεταφορά διασύνδεσης και αναγνώριση συσκευής. Αυτές οι υπηρεσίες παρέχουν στους προγραμματιστές μια συμπαγή εργαλειοθήκη για τη δημιουργία διασυνδέσεων εξοπλισμού, χωρίς να αναγκάζουν κάθε συσκευή να χρησιμοποιεί τον ίδιο σχεδιασμό εσωτερικής μνήμης.

Σε ένα σύστημα RFID ή αναγνώρισης, το MODBUS μπορεί να εμφανιστεί σε ένα gateway, βιομηχανικό ελεγκτή, πίνακα ελέγχου πρόσβασης, τερματικό συλλογής δεδομένων ή διασύνδεση στην πλευρά του μηχανήματος. Για παράδειγμα, μια γραμμή παραγωγής μπορεί να χρησιμοποιεί καταχωρητές MODBUS για να εκθέτει την κατάσταση του αναγνώστη, εντολές ενεργοποίησης, καταστάσεις κεραίας, σημαίες συναγερμού ή τιμές μέτρησης. Ένα σύστημα αποθήκης μπορεί να συνδυάζει επικοινωνία PLC με έναν σταθμό σαρωτής γραμμωτού κώδικα , ενώ ένα έργο ελέγχου πρόσβασης μπορεί να συνδέει πύλες, αισθητήρες και Access Control Terminals μέσω ενός ελεγκτή που ανταλλάσσει λέξεις κατάστασης και bits ελέγχου.

Η καλή ενσωμάτωση MODBUS εξαρτάται από περισσότερα από την αποστολή του σωστού κωδικού συνάρτησης. Οι μηχανικοί πρέπει να επιβεβαιώνουν το προφίλ μεταφοράς, την τιμή timeout, το αναγνωριστικό μονάδας, τη μέγιστη ποσότητα ανά αίτημα, τον χάρτη καταχωρητών, τη σειρά byte, τη συμπεριφορά χειρισμού σφαλμάτων και αν μια συσκευή υποστηρίζει τις συγκεκριμένες δημόσιες συναρτήσεις που απαιτεί η εφαρμογή. Σε σειριακά δίκτυα, ο ρυθμός baud, η ισοτιμία, η διεύθυνση slave, ο τερματισμός γραμμής και ο έλεγχος θορύβου είναι επίσης κρίσιμα. Σε δίκτυα MODBUS TCP, η θύρα 502, η δρομολόγηση IP, η πολιτική firewall και η συμπεριφορά ταυτόχρονων client θα πρέπει να λαμβάνονται υπόψη.

Γιατί το MODBUS V1.1b3 Έχει Ακόμη Σημασία

Το MODBUS V1.1b3 παραμένει σημαντικό επειδή τεκμηριώνει το πρωτόκολλο εφαρμογής με τρόπο σταθερό, ευανάγνωστο και άμεσα χρήσιμο για τις ομάδες μηχανικών. Ο σχεδιασμός του βασισμένος σε PDU το καθιστά κατάλληλο για gateways και μικτές αρχιτεκτονικές αυτοματισμού. Το μοντέλο δεδομένων είναι αρκετά απλό για ενσωματωμένες συσκευές αλλά αρκετά ευέλικτο για συστήματα εποπτικού ελέγχου. Οι απαντήσεις εξαίρεσης βοηθούν το λογισμικό client να ανιχνεύει μη έγκυρες συναρτήσεις, μη έγκυρες διευθύνσεις, λανθασμένες τιμές και αποτυχίες στην πλευρά του server.

Για κατασκευαστές και ολοκληρωτές συστημάτων συστημάτων, η κατανόηση αυτής της προδιαγραφής βοηθά στη μείωση των σφαλμάτων θέσης σε λειτουργία. Διευκρινίζει γιατί μια ανάγνωση holding register μπορεί να αποτύχει, γιατί ένας αριθμός καταχωρητή σε ένα εγχειρίδιο μπορεί να μην αντιστοιχεί στη διεύθυνση PDU, γιατί ορισμένοι κωδικοί συνάρτησης είναι μόνο για σειριακή γραμμή και γιατί απαιτείται στρατηγική timeout όταν μια συσκευή δεν απαντά. Για αγοραστές που συγκρίνουν συσκευές αυτοματισμού, η υποστήριξη MODBUS μπορεί επίσης να είναι ένδειξη ότι ένα προϊόν συνδέεται ευκολότερα με PLC, συστήματα SCADA, βιομηχανικούς υπολογιστές και μονάδες gateway.

Συχνές Ερωτήσεις για το MODBUS V1.1b3

Σε τι χρησιμοποιείται το MODBUS V1.1b3;

Το MODBUS V1.1b3 χρησιμοποιείται για να ορίσει πώς οι συσκευές αυτοματισμού ανταλλάσσουν μηνύματα σε επίπεδο εφαρμογής. Εξηγεί τις δομές αιτήματος και απάντησης, τους κωδικούς συνάρτησης, τα αντικείμενα δεδομένων, τους κανόνες διευθυνσιοδότησης και τις απαντήσεις εξαίρεσης. Οι μηχανικοί το χρησιμοποιούν κατά την ενσωμάτωση PLC, HMI, αισθητήρων, drives, gateways, ελεγκτών και συσκευών αναγνώρισης που χρειάζονται έναν προβλέψιμο τρόπο ανάγνωσης ή εγγραφής λειτουργικών δεδομένων.

Είναι το MODBUS μόνο πρωτόκολλο σειριακής επικοινωνίας;

Όχι. Το MODBUS ξεκίνησε ως πρότυπο σειριακής επικοινωνίας, αλλά το πρωτόκολλο εφαρμογής μπορεί να αντιστοιχιστεί σε πολλαπλές μεταφορές. Η προδιαγραφή περιγράφει το επίπεδο εφαρμογής και τη δομή PDU του, ενώ ξεχωριστοί κανόνες υλοποίησης ισχύουν για σειριακή επικοινωνία, TCP/IP over Ethernet και άλλα μέσα. Γι' αυτό το MODBUS μπορεί να λειτουργήσει τόσο σε παλαιότερα δίκτυα RS485 όσο και σε σύγχρονα συστήματα βασισμένα σε Ethernet.

Ποια είναι η διαφορά μεταξύ PDU και ADU στο MODBUS;

Η PDU είναι η βασική μονάδα δεδομένων πρωτοκόλλου και περιέχει τον κωδικό συνάρτησης μαζί με δεδομένα που εξαρτώνται από τη συνάρτηση. Η ADU είναι η πλήρης μονάδα δεδομένων εφαρμογής που χρησιμοποιείται σε μια συγκεκριμένη μεταφορά. Περιβάλλει την PDU με πεδία σχετικά με τη μεταφορά, όπως μια διεύθυνση server και CRC σε σειριακές ζεύξεις ή μια κεφαλίδα MBAP σε MODBUS TCP.

Γιατί οι διευθύνσεις καταχωρητών MODBUS εμφανίζονται μερικές φορές με απόκλιση ενός;

Αυτό συμβαίνει επειδή το μοντέλο δεδομένων MODBUS μπορεί να περιγράφει στοιχεία αριθμημένα από 1 έως n, ενώ η PDU χρησιμοποιεί διευθυνσιοδότηση μηδενικής βάσης. Ένας καταχωρητής που εμφανίζεται στους χρήστες ως 40001 μπορεί να διευθυνσιοδοτείται ως 0 στο πραγματικό αίτημα, ανάλογα με το εγχειρίδιο της συσκευής. Οι ολοκληρωτές συστημάτων θα πρέπει πάντα να ακολουθούν τον χάρτη καταχωρητών του προμηθευτή και να επιβεβαιώνουν αν οι διευθύνσεις είναι γραμμένες σε μορφή αναφοράς ή PDU.

Τι είναι οι απαντήσεις εξαίρεσης MODBUS;

Μια απάντηση εξαίρεσης ενημερώνει τον client ότι το αίτημα ελήφθη αλλά δεν μπόρεσε να ολοκληρωθεί όπως ζητήθηκε. Ο server επιστρέφει τον αρχικό κωδικό συνάρτησης με το πιο σημαντικό bit ενεργοποιημένο, ακολουθούμενο από έναν κωδικό εξαίρεσης. Συνήθεις αιτίες περιλαμβάνουν μη υποστηριζόμενες συναρτήσεις, μη έγκυρες διευθύνσεις δεδομένων, μη έγκυρες τιμές ή προσωρινές καταστάσεις server που εμποδίζουν την κανονική εκτέλεση.

Ορίζει το MODBUS τη διάταξη εσωτερικής μνήμης κάθε συσκευής;

Όχι. Το MODBUS ορίζει ένα τυπικό μοντέλο δεδομένων και μέθοδο πρόσβασης, αλλά η αντιστοίχιση μεταξύ αυτού του μοντέλου και της εσωτερικής μνήμης εφαρμογής της συσκευής είναι ειδική για τον προμηθευτή. Μια συσκευή μπορεί να διατηρεί coils, inputs και registers σε ξεχωριστά blocks, ενώ μια άλλη μπορεί να τα επικαλύπτει σε μία περιοχή δεδομένων. Επομένως, η τεκμηρίωση της συσκευής είναι απαραίτητη για σωστή υλοποίηση.

Τι πρέπει να ελέγχεται πριν από τη χρήση του MODBUS σε ένα πραγματικό έργο;

Πριν από την εγκατάσταση, επιβεβαιώστε τον τύπο μεταφοράς, τους υποστηριζόμενους κωδικούς συνάρτησης, τη μορφή διεύθυνσης, τα όρια ποσότητας καταχωρητών, τη σειρά byte, τις ρυθμίσεις timeout και τη στρατηγική χειρισμού εξαιρέσεων. Για σειριακά δίκτυα, ελέγξτε επίσης τη διεύθυνση slave, τον ρυθμό baud, την ισοτιμία, την καλωδίωση, τη θωράκιση και τον τερματισμό. Για δίκτυα Ethernet, επαληθεύστε την πρόσβαση στη θύρα TCP, τις ρυθμίσεις IP, τη δρομολόγηση gateway και τον τρόπο με τον οποίο η συσκευή χειρίζεται πολλαπλούς client.

Κωδικός επαλήθευσης