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

Τι είναι το πρωτόκολλο Modbus RTU;
Το Modbus RTU είναι ένα πρωτόκολλο σειριακής επικοινωνίας που αναπτύχθηκε αρχικά από τη Modicon (τώρα μέρος της Schneider Electric) το 1979 για τα PLC της (Programmable Logic Controllers).
Σήμερα, έχει γίνει ένα από τα πιο ευρέως χρησιμοποιούμενα πρωτόκολλα στον βιομηχανικό αυτοματισμό, που υποστηρίζεται από περισσότερους από 400 κατασκευαστές παγκοσμίως.
Γιατί ονομάζεται "RTU"; Το RTU είναι μια συντομογραφία του "Remote Terminal Unit", υποδεικνύοντας ότι αυτό το πρωτόκολλο χρησιμοποιείται κυρίως για επικοινωνία μεταξύ απομακρυσμένων συσκευών. Είναι σαν ένα «σύστημα γραπτών μηνυμάτων» μεταξύ ηλεκτρικού εξοπλισμού, που ανταλλάσσει δεδομένα μέσω ενός απλού μηχανισμού αιτήματος και απόκρισης.
Πώς λειτουργεί το Modbus RTU;
Το Modbus RTU χρησιμοποιεί μια κύρια-αρχιτεκτονική επικοινωνίας σκλάβων, όπως ένας δάσκαλος και οι μαθητές σε μια τάξη.
- Δάσκαλος: Ο «δάσκαλος», συνήθως ένας υπολογιστής, PLC ή συγκεντρωτής, είναι υπεύθυνος για την έναρξη ερωτήσεων και εντολών.
- Σκλάβος: Ο «μαθητής», όπως ένας μετρητής ρεύματος ή ένας αισθητήρας, μπορεί να απαντήσει μόνο στις ερωτήσεις του δασκάλου και δεν μπορεί να μιλήσει ανεξάρτητα. (Σε εφαρμογές μετρητών ηλεκτρικής ενέργειας...)

Μορφή μηνύματος Modbus RTU
"Πρότυπο SMS" μεταξύ συσκευών
Τα μηνύματα επικοινωνίας Modbus RTU είναι σαν προσεκτικά δημιουργημένα μηνύματα κειμένου, με απαιτήσεις σταθερής μορφής.
Ένα πλήρες μήνυμα Modbus RTU περιέχει τα ακόλουθα μέρη:
| Κωδικός Διεύθυνσης | Κωδικός Λειτουργίας | Πεδίο δεδομένων | Ελέγξτε τον κωδικό |
|---|---|---|---|
| 8-bit | 8-bit | N × 8-bit | 16-bit |
- Κωδικός διεύθυνσης (1 byte): Ισοδυναμεί με "αριθμό τηλεφώνου παραλήπτη", που προσδιορίζει τη διεύθυνση του μετρητή ενέργειας στόχου (1-247), με 0 για μια διεύθυνση εκπομπής.
- Κωδικός λειτουργίας (1 byte): Ισοδυναμεί με έναν "τύπο μηνύματος κειμένου", που δίνει οδηγίες στον μετρητή ενέργειας για τη λειτουργία που πρέπει να εκτελέσει (π.χ. ανάγνωση δεδομένων, εγγραφή δεδομένων κ.λπ.).
- Πεδίο δεδομένων (N bytes): Οι συγκεκριμένες πληροφορίες που πρέπει να μεταδοθούν, όπως διεύθυνση μητρώου, τιμή δεδομένων κ.λπ.
- Άθροισμα ελέγχου CRC (2 byte): Ισοδυναμεί με έναν "κωδικό κατά της-παραχάραξης", που χρησιμοποιείται για τον έλεγχο σφαλμάτων κατά τη μετάδοση.
Ένα τυπικό μήνυμα για την ανάγνωση δεδομένων συνολικής θετικής ενεργής ενέργειας από έναν μετρητή ενέργειας UBS είναι το ακόλουθο:
[Διεύθυνση 00][Κωδικός συνάρτησης 03][Διεύθυνση έναρξης 00 0C][Μήκος ανάγνωσης 00 02][Άθροισμα ελέγχου CRC 05 D9]
Αυτό ισοδυναμεί με το να πούμε: "Όλοι οι μετρητές, διαβάστε δεδομένα από τον καταχωρητή 000C, ξεκινώντας από τον καταχωρητή 1."
Μετά τη λήψη του μηνύματος, ο μετρητής #1 θα απαντήσει με:
[Διεύθυνση 01][Κωδικός συνάρτησης 03][Μήκος δεδομένων 04][Δεδομένα 00 00 00 00][CRC Checksum FA 33]
Αυτό σημαίνει: "Ο μετρητής #1 απάντησε: Η συνολική τιμή δεδομένων θετικής ενεργής ενέργειας που διαβάστηκε είναι 00 00 00 00 (δεκαεξαδική)" (Σημείωση: Αυτός ο μετρητής #1 είναι ένας νέος, αχρησιμοποίητος μετρητής). Η παρακάτω εικόνα είναι μια δοκιμαστική επίδειξη:

Το "Βιβλίο Δεδομένων" σε έναν μετρητή ηλεκτρικής ενέργειας: Επεξήγηση μητρώου
Στο πρωτόκολλο Modbus RTU, όλα τα δεδομένα από έναν μετρητή ηλεκτρικής ενέργειας αποθηκεύονται σε ένα "υπολογιστικό φύλλο"-το μητρώο. Τα μητρώα χωρίζονται κυρίως σε τέσσερις τύπους:
| Τύπος μητρώου | Άδεια ανάγνωσης/εγγραφής | Κωδικοί Λειτουργίας | Τυπικό αποθηκευμένο περιεχόμενο |
|---|---|---|---|
| Μητρώο πηνίου | Διαβάστε/Γράψτε | 01, 05 | Κατάσταση ρελέ, έλεγχος διακόπτη |
| Μητρώο διακριτών εισροών | Μόνο για ανάγνωση- | 02 | Ψηφιακή είσοδος (π.χ. σήματα συναγερμού) |
| Εγγραφή εισόδου | Μόνο για ανάγνωση- | 04 | Δεδομένα μέτρησης{0}}σε πραγματικό χρόνο (τάση, ρεύμα, κ.λπ.) |
| Τήρηση Μητρώου | Διαβάστε/Γράψτε | 03, 06 | Παράμετροι συσκευής, συσσωρευμένη ενέργεια κ.λπ. |
Στις εφαρμογές μετρητών ηλεκτρικής ενέργειας, οι πιο συνηθισμένοι καταχωρητές είναι:
Εγγραφή εισόδου
(Κωδικός συνάρτησης 04H): Αποθηκεύει δεδομένα μετρούμενα σε πραγματικό-χρόνο, όπως τάση, ρεύμα και ισχύ.
Τήρηση Μητρώου
(Κωδικός Λειτουργίας 03H): Αποθηκεύει τη συσσωρευμένη κατανάλωση ηλεκτρικής ενέργειας, τις παραμέτρους της συσκευής κ.λπ.
Πίνακας πληροφοριών διεύθυνσης μητρώου UBS Energy Meter Modbus
Η διεύθυνση εκπομπής του πρωτοκόλλου Modbus είναι 0x00. Για λεπτομερείς πληροφορίες διεύθυνσης μητρώου πρωτοκόλλου Modbus για μετρητές ενέργειας UBS, δείτε τον παρακάτω πίνακα:
| Εγγραφή (Hex) | Όνομα μεταβλητής | Χαρακτηριστικό (Μονάδα / R/W) | Τύπος δεδομένων | Κόμης | Παρατηρήσεις |
|---|---|---|---|---|---|
| 0x0000 | Τάση DC | Μονάδα: V, R/W: RO | S16 | 1 | Εύρος: -9999~9999; Ανάγνωση=Πραγματικής τιμής × 10^(Δεκαδικό σημείο) |
| 0x0001 | Δεκαδικό σημείο τάσης | Μονάδα: Καμία, R/W: RO | U16 | 1 | Σταθερή τιμή: 0 |
| 0x0002 | Τρέχουσα τιμή DC | Μονάδα: A, R/W: RO | S16 | 1 | Εύρος: -9999~9999 |
| 0x0003 | Τρέχον δεκαδικό σημείο | Μονάδα: Καμία, R/W: RO | U16 | 1 | Σταθερή τιμή: 1 |
| 0x0008 | Τιμή ισχύος | Μονάδα: kW, R/W: RO | S16 | 1 | Εύρος: -9999~9999 |
| 0x0009 | Δεκαδικό σημείο ισχύος | Μονάδα: Καμία, R/W: RO | U16 | 1 | Σταθερή τιμή: 1 |
| 0x000C | Ολική Προώθηση Ενεργή Ενέργεια | Μονάδα: 0,001 kWh, R/W: RO | U32 | 2 | Το υψηλό byte πρώτο, το χαμηλό byte τελευταίο. Παράδειγμα: Εάν τα δεδομένα διαβάζονται=5000, υποδιαστολή=2 → Πραγματική τιμή=5000 × 10^(2-3)=500.0 |
| 0x203C | Κανάλι 1 Τάση | Μονάδα: 0,0001V, R/W: RO | I32 | 2 | Το υψηλό byte πρώτα, το χαμηλό byte τελευταίο |
| 0x203E | Τάση καναλιού 2 | Μονάδα: 0,0001V, R/W: RO | I32 | 2 | Πάντα 0 |
| 0x2040 | Κανάλι 1 Τρέχον | Μονάδα: 0,0001A, R/W: RO | I32 | 2 | Το υψηλό byte πρώτα, το χαμηλό byte τελευταίο |
| 0x2042 | Κανάλι 2 Τρέχον | Μονάδα: 0,0001A, R/W: RO | I32 | 2 | Πάντα 0 |
| 0x2044 | Κανάλι 1 Ισχύς | Μονάδα: 0,0001kW, R/W: RO | I32 | 2 | Το υψηλό byte πρώτα, το χαμηλό byte τελευταίο |
| 0x2046 | Κανάλι 2 Ισχύς | Μονάδα: 0,0001kW, R/W: RO | I32 | 2 | Πάντα 0 |
| 0x9A00 | Προώθηση Ενεργής Ολικής Ενέργειας | Μονάδα: kWh, R/W: RO | φλοτέρ | 2 | |
| 0xA001/0x8900 | Διεύθυνση συσκευής | Μονάδα: Καμία, Σ/Π: ΣΤ | U16 | 1 | Εύρος: 0~247 |
Επίδειξη ανάγνωσης μηνυμάτων μετρητή ενέργειας UBS
Χρησιμοποιώντας το λογισμικό υπολογιστή κεντρικού μετρητή ενέργειας UBS, διαβάστε τα ακόλουθα δεδομένα από τον έξυπνο μετρητή ενέργειας DJZ1226 DC: συνολική θετική ενεργή ενέργεια, τάση, ρεύμα, ισχύς και διεύθυνση μετρητή.

Όπως φαίνεται στο παραπάνω διάγραμμα, το λεπτομερές περιεχόμενο του μηνύματος που αποστέλλεται και λαμβάνεται από τον κεντρικό υπολογιστή έχει ως εξής:
13:25:30.229 Συνολική θετική ενεργή ενέργεια(000C0002) ...
13:25:30.256 ▼Αποστολή:00 03 00 0C 00 02 05 D9
13:25:30.344 ▲Λήψη:01 03 04 00 00 00 00 FA 33
13:25:30.359 DC τάση (00000002) ...
13:25:30.424 ▼Αποστολή:00 03 00 00 00 02 C5 DA
13:25:30.428 ▲Λήψη:01 03 04 00 17 00 03 0Α 36
13:25:30.494 Ρεύμα συνεχούς ρεύματος (00020002) ...
13:25:30.522 ▼ Αποστολή:00 03 00 02 00 02 64 1Α
13:25:30.610 ▲Λήψη:01 03 04 00 30 00 02 7B FD
13:25:30.621 Ισχύς(00080002) ...
13:25:30.682 ▼ Αποστολή:00 03 00 08 00 02 44 18
13:25:30.690 ▲Λήψη:01 03 04 00 01 00 02 2Α 32
13:25:30.702 Διεύθυνση Επικοινωνίας 2(A0010001) ...
13:25:30.779 ▼Αποστολή:00 03 A0 01 00 01 F6 1B
13:25:30.783 ▲Λήψη:01 03 02 00 01 79 84
13:25:30.795 Τέλος ανάγνωσης δεδομένων.
Κοινά προβλήματα και τεχνικές αντιμετώπισης προβλημάτων
Παρόλο που το πρωτόκολλο Modbus RTU είναι σχετικά απλό, μπορεί να προκύψουν διάφορα προβλήματα σε πρακτικές εφαρμογές. Τα ακόλουθα είναι κοινά σφάλματα και λύσεις στην επικοινωνία μετρητών ηλεκτρικής ενέργειας:
Καμία απάντηση επικοινωνίας
● Ελέγξτε τις φυσικές συνδέσεις:
▪ Είναι σωστή η καλωδίωση RS-485 (οι γραμμές A/B έχουν αντιστραφεί);
▪ Οι αντιστάσεις τερματισμού ταιριάζουν (γενικά, συνδέετε αντιστάσεις 120Ω σε κάθε άκρο του διαύλου);
▪ Η απόσταση επικοινωνίας υπερβαίνει το όριο (το RS-485 θεωρητικά μπορεί να φτάσει τα 1200 μέτρα, αλλά οι πραγματικές αποστάσεις επηρεάζονται από περιβαλλοντικούς παράγοντες).
● Επαλήθευση ρυθμίσεων παραμέτρων:
▪ Ο ρυθμός baud, τα bit δεδομένων, τα bit διακοπής και οι ρυθμίσεις ισοτιμίας συνάδουν με τον μετρητή ηλεκτρικής ενέργειας;
▪ Έχει ρυθμιστεί σωστά η διεύθυνση της συσκευής (χωρίς διπλότυπες διευθύνσεις);
Διακοπτόμενη Επικοινωνία
● Ελέγξτε για παρεμβολές γραμμής:
▪ Χρησιμοποιήστε συνεστραμμένο-ζεύγο θωρακισμένο καλώδιο και βεβαιωθείτε ότι η θωράκιση είναι γειωμένη στο ένα άκρο.
▪ Αποφύγετε τη λειτουργία του καλωδίου παράλληλα με καλώδια υψηλής-τάσης.
● Δοκιμή μεμονωμένων συσκευών:
▪ Συνδέστε κάθε μετρητή ηλεκτρικού ρεύματος ξεχωριστά για να αντιμετωπίσετε τις ελαττωματικές συσκευές.
▪ Χρησιμοποιήστε το αποκλειστικό λογισμικό κεντρικού υπολογιστή της UBS Electronics (όπως AMS) για να επικοινωνήσετε απευθείας με τον μετρητή ηλεκτρικής ενέργειας και να εντοπίσετε το πρόβλημα.
Σφάλματα δεδομένων
● Επαλήθευση ελέγχου CRC:
▪ Ελέγξτε εάν οι αποσταλμένοι και ληφθέντες κωδικοί CRC είναι συνεπείς.
▪ Επιβεβαιώστε τη σειρά των byte δεδομένων (το Modbus RTU είναι συνήθως μικρό-endian).
● Έλεγχος χαρτογράφησης μητρώου:
▪ Επιβεβαιώστε ότι οι διευθύνσεις μητρώου που χρησιμοποιούνται είναι σύμφωνες με το εγχειρίδιο του μετρητή ηλεκτρικής ενέργειας.
▪ Σημειώστε τη μετατόπιση διεύθυνσης μητρώου.
Εάν πρέπει να χρησιμοποιήσετε το λογισμικό κεντρικού υπολογιστή UBS (πρωτόκολλο Modbus RTU) που αναφέρεται σε αυτό το άρθρο, επικοινωνήστε με τον υπεύθυνο της παραγγελίας μετρητή ηλεκτρικής ενέργειας UBS και λάβετε περισσότερη-τεχνική υποστήριξη μετά την πώληση.




