Για να σας προσφέρουμε τη βέλτιστη εμπειρία στον ιστότοπό μας, χρησιμοποιούμε cookies. Εκτός από τα cookie που είναι απαραίτητα για τη λειτουργία του ιστότοπου, χρησιμοποιούμε επίσης cookie που χρησιμοποιούνται για στατιστικούς σκοπούς, για ρυθμίσεις άνεσης ή για την προβολή εξατομικευμένου περιεχομένου.
Μπορείτε να διαβάσετε αναλυτικές πληροφορίες σχετικά με τη χρήση των cookies στο CY.IPC2U.com εδώ, καθώς και να διαχειριστείτε τις ρυθμίσεις cookie.
Χρησιμοποιώντας αυτόν τον ιστότοπο αποδέχεστε τη χρήση των cookies.
Από αυτό το άρθρο θα μάθετε για το πρωτόκολλο Modbus RTU, το οποίο χρησιμοποιείται ευρέως στο σύστημα ελέγχου της διαδικασίας παραγωγής.
Το πρωτόκολλο επικοινωνίας Modbus βασίζεται στην αρχιτεκτονική master-slave. Χρησιμοποιεί τις διασυνδέσεις RS-485, RS-422, RS-232, καθώς και τα δίκτυα TCP / IP Ethernet (πρωτόκολλο TCP Modbus) για τη μεταφορά δεδομένων.
Το μήνυμα Modbus RTU αποτελείται από τη διεύθυνση της συσκευής SlaveID, τον κωδικό λειτουργίας και τα ειδικά δεδομένα, ανάλογα με τον κωδικό λειτουργίας και το CRC άθροισμα ελέγχου.
SlaveID | Κωδικός λειτουργίας | Ειδικά δεδομένα | CRC |
Εάν βγάλετε τη διεύθυνση SlaveID και το CRC άθροισμα ελέγχου, θα έχετε την PDU, Μονάδα Δεδομένων Πρωτοκόλλου.
SlaveID είναι η διεύθυνση της συσκευής, μπορεί να πάρει τιμή από το 0 έως το 247, διατηρούνται οι διευθύνσεις από 248 έως 255.
Τα δεδομένα στην μονάδα αποθηκεύονται σε 4 πίνακες.
Δύο πίνακες είναι μόνο για ανάγνωση και δύο είναι ανάγνωσης-εγγραφής.
Οι 9999 τιμές χωράνε σε κάθε πίνακα.
Ανάγνωση-Εγγραφή
ΑΡΙΘΜΟΣ ΜΗΤΡΩΟΥ | ΔΙΕΥΘΥΝΣΗΣ ΜΗΤΡΩΟΥ HEX | ΤΥΠΟΣ | ΟΝΟΜΑ | ΤΥΠΟΣ |
---|---|---|---|---|
1-9999 | 0000 με 270E | Ανάγνωση-Εγγραφή | Discrete Output Coils | DO |
10001-19999 | 0000 με 270E | Ανάγνωση | Discrete Input Contacts | DI |
30001-39999 | 0000 με 270E | Ανάγνωση | Analog Input Registers | AI |
40001-49999 | 0000 με 270E | Ανάγνωση-Εγγραφή | Analog Output Holding Registers | AO |
Το μήνυμα Modbus χρησιμοποιεί τη διεύθυνση μητρώου.
Για παράδειγμα, το πρώτο μητρώο του AO Holding Register έχει τον αριθμό 40001, αλλά η διεύθυνσή του είναι 0000.
Η διαφορά μεταξύ αυτών των δύο ποσοτήτων είναι "αντισταθμισμένη".
Ο κάθε πίνακας έχει τη δική του αντιστάθμιση, αντίστοιχα: 1, 10001, 30001 και 40001.
Ακολουθεί ένα παράδειγμα αιτήματος Modbus RTU για την απόκτηση της τιμής ΑΙ αναλογικής εξόδου (holding registers) από τα μητρώα # 40108 έως 40110 με τη διεύθυνση της συσκευής 17.
11 03 006B 0003 7687
11 | H διεύθυνση της συσκευής SlaveID (17 = 11 HEX) |
03 | Κωδικός λειτουργίας Function Code |
006B | Η διεύθυνση του πρώτου μητρώου (40108-40001 = 107 = 6B hex) |
0003 | Ο αριθμός των απαιτούμενων μητρώων (η ανάγνωση των 3 μητρώων από 40108 έως 40110) |
7687 | CRC άθροισμα ελέγχου |
Σε απάντηση της συσκευής Modbus RTU Slave λαμβάνουμε:
11 03 06 AE41 5652 4340 49AD
όπου:
11 | Διεύθυνση της συσκευής (17 = 11 hex) | SlaveID |
03 | Κωδικός λειτουργίας | Function Code |
06 | Ο αριθμός των bit παρακάτω (6 bytes follow) | Byte Count |
AE | Η τιμή bit του ψηλού μητρώου (AE hex) | Register value Hi (AO0) |
41 | Η τιμή bit του χαμηλού μητρώου (41 hex) | Register value Lo (AO0) |
56 | Η τιμή bit του ψηλού μητρώου (56 hex) | Register value Hi (AO1) |
52 | Η τιμή bit του χαμηλού μητρώου (52 hex) | Register value Lo (AO1) |
43 | Η τιμή bit του ψηλού μητρώου (43 hex) | Register value Hi (AO2) |
40 | Η τιμή bit του χαμηλού μητρώου (40 hex) | Register value Lo (AO2) |
49 | Άθροισμα ελέγχου | CRC value Hi |
AD | Άθροισμα ελέγχου | CRC value Lo |
Το μητρώο της αναλογικής εξόδου AO0 έχει την τιμή AE 41 HEX ή 44609 στο δεκαδικό σύστημα.
Το μητρώο της αναλογικής εξόδου AO1 έχει την τιμή 56 52 HEX ή 22098 στο δεκαδικό σύστημα.
Το μητρώο της αναλογικής εξόδου AO2 έχει την τιμή 43 40 HEX ή 17216 στο δεκαδικό σύστημα.
Η τιμή AE 41 HEX είναι 16 bits 1010 1110 0100 0001, μπορεί να παίρνει διαφορετική τιμή ανάλογα με τον τύπο του παραδείγματος.
Η τιμή του μητρώου 40108 συνδυασμό με το μητρώο 40109 δίδει μια τιμή 32 bit.
Παράδειγμα της παρουσίασης
Τύπος προβολής | Εύρος τιμών | Παράδειγμα σε HEX | Σε δεκαδική μορφή |
---|---|---|---|
16-bit unsigned integer | 0 με 65535 | AE41 | 44,609 |
16-bit signed integer | -32768 με 32767 | AE41 | -20,927 |
two character ASCII string | 2 σύμβολα | AE41 | ® A |
discrete on/off value | 0 και 1 | 0001 | 0001 |
32-bit unsigned integer | 0 με 4,294,967,295 | AE41 5652 | 2,923,517,522 |
32-bit signed integer | -2,147,483,648 με 2,147,483,647 | AE41 5652 | -1,371,449,774 |
32-bit single precision IEEE floating point number | 1,2·10−38 με 3,4×10+38 | AE41 5652 | -4.395978 E-11 |
four character ASCII string | 4 σύμβολα | AE41 5652 | ® A V R |
Ακολουθεί ένας πίνακας με τους κωδικούς για την ανάγνωση και εγγραφή των μητρώων Modbus RTU.
ΚΩΔΙΚΌΣ ΛΕΙΤΟΥΡΓΊΑΣ | ΤΙ ΚΑΝΕΙ Ο ΚΩΔΙΚΌΣ ΛΕΙΤΟΥΡΓΊΑΣ | ΤΥΠΟΣ ΤΙΜΩΝ | ΤΥΠΟΣ ΠΡΟΣΒΑΣΗΣ | |
---|---|---|---|---|
01 (0x01) | Ανάγνωση DO | Read Coil Status | Ψηφιακός | Ανάγνωση |
02 (0x02) | Ανάγνωση DI | Read Input Status | Ψηφιακός | Ανάγνωση |
03 (0x03) | Ανάγνωση AO | Read Holding Registers | 16 bit | Ανάγνωση |
04 (0x04) | Ανάγνωση AI | Read Input Registers | 16 bit | Ανάγνωση |
05 (0x05) | Εγγραφή ενός DO | Force Single Coil | Ψηφιακός | Write |
06 (0x06) | Εγγραφή ενός AO | Preset Single Register | 16 bit | Write |
15 (0x0F) | Πολλαπλή DO Εγγραφή | Force Multiple Coils | Ψηφιακός | Write |
16 (0x10) | Πολλαπλή AO Εγγραφή | Preset Multiple Registers | 16 bit | Write |
Αυτή η εντολή χρησιμοποιείται για να διαβάσει τις τιμές των ψηφιακών εξόδων DO.
Το αίτημα PDU καθορίζει τη διεύθυνση εκκίνησης του πρώτου μητρώου DO και τον επακόλουθο αριθμό απαιτούμενων τιμών DO. Στην PDU, οι τιμές DO απευθύνονται ξεκινώντας από το μηδέν.
Οι τιμές DO στην απόκριση είναι σε ένα byte και αντιστοιχούν στην τιμή των bits.
Οι τιμές των bits ορίζονται ως 1 = ON και 0 = OFF.
Το χαμηλό bit του πρώτου byte δεδομένων περιέχει την τιμή DO η διεύθυνση της οποίας προσδιορίστηκε στο αίτημα. Οι υπόλοιπες τιμές του DO ακολουθούν την αυξανόμενη πορεία στην υψηλότερη τιμή του byte. Δηλαδή από δεξιά προς τα αριστερά.
Εάν ζητήθηκαν λιγότερες από οκτώ τιμές DO, τα υπόλοιπα bits στην απόκριση θα γεμίσουν με μηδενικά (προς την κατεύθυνση από το χαμηλό σε υψηλό byte). Το πεδίο Byte Count, ο αριθμός των byte που ακολουθούν, δείχνει τον αριθμό των πλήρων bytes δεδομένων στην απάντηση.
Παράδειγμα αιτήματος DO από 20 έως 56 για τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του πρώτου μητρώου θα είναι 0013 hex = 19, επειδή ή μέτρηση αρχίζει από τη διεύθυνση 0 (0014 hex = 20, -1 offset = 0013 hex = 19).
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
01 | Κωδικός λειτουργίας | 01 | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 05 | Αριθμός των bytes που ακολουθούν |
13 | Διεύθυνση του πρώτου μητρώου Lo bytes | CD | Τιμή μητρώου DO 27-20 (1100 1101) |
00 | Αριθμός των μητρώων Hi bytes | 6B | Τιμή μητρώου DO 35-28 (0110 1011) |
25 | Αριθμός των μητρώων Lo bytes | B2 | Τιμή μητρώου DO 43-36 (1011 0010) |
0E | CRC άθροισμα ελέγχου | 0E | Τιμή μητρώου DO 51-44 (0000 1110) |
84 | CRC άθροισμα ελέγχου | 1B | Τιμή μητρώου DO 56-52 (0001 1011) |
45 | CRC άθροισμα ελέγχου | ||
E6 | CRC άθροισμα ελέγχου |
Οι καταστάσεις εξόδων του DO 27-20 εμφανίζονται ως τιμές byte CD hex ή στο δυαδικό σύστημα 1100 1101.
Στο μητρώο DO 56-52 ζητήθηκαν 5 bits στα δεξιά και τα υπόλοιπα bits συμπληρώνονται με μηδενικά μέχρι το πλήρες byte (0001 1011).
Κανάλια | - | - | - | DO 56 | DO 55 | DO 54 | DO 53 | DO 52 |
---|---|---|---|---|---|---|---|---|
Bits | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
Hex | 1B |
Αυτή η εντολή χρησιμοποιείται για την ανάγνωση των τιμών των ψηφιακών εισόδων DI.
Παράδειγμα αιτήματος DI από τα μητρώα από # 10197 έως 10218 για τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του πρώτου μητρώου θα είναι 00C4 hex = 196, επειδή η μέτρηση αρχίζει από τη διεύθυνση 0.
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
02 | Κωδικός λειτουργίας | 02 | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 03 | Αριθμός των bytes που ακολουθούν |
C4 | Διεύθυνση του πρώτου μητρώου Lo bytes | AC | Τιμή μητρώου DI 10204-10197 (1010 1100) |
00 | Αριθμός των μητρώων Hi bytes | DB | Τιμή μητρώου DI 10212-10205 (1101 1011) |
16 | Αριθμός των μητρώων Lo bytes | 35 | Τιμή μητρώου DI 10218-10213 (0011 0101) |
BA | CRC άθροισμα ελέγχου | 20 | CRC άθροισμα ελέγχου |
A9 | CRC άθροισμα ελέγχου | 18 | CRC άθροισμα ελέγχου |
Αυτή η εντολή χρησιμοποιείται για την ανάγνωση των τιμών των αναλογικών εξόδων AO.
Παράδειγμα αιτήματος AO από τα μητρώα από # 40108 έως 40110 για τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του πρώτου μητρώου θα είναι 006B hex = 107, επειδή η μέτρηση αρχίζει από τη διεύθυνση 0.
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
03 | Κωδικός λειτουργίας | 03 | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 06 | Αριθμός των bytes που ακολουθούν |
6B | Διεύθυνση του πρώτου μητρώου Lo bytes | AE | Τιμή μητρώου Hi #40108 |
00 | Αριθμός των μητρώων Hi bytes | 41 | Τιμή μητρώου Lo #40108 |
03 | Αριθμός των μητρώων Lo bytes | 56 | Τιμή μητρώου Hi #40109 |
76 | CRC άθροισμα ελέγχου | 52 | Τιμή μητρώου Lo #40109 |
87 | CRC άθροισμα ελέγχου | 43 | Τιμή μητρώου Hi #40110 |
40 | Τιμή μητρώου Lo #40110 | ||
49 | CRC άθροισμα ελέγχου | ||
AD | CRC άθροισμα ελέγχου |
Αυτή η εντολή χρησιμοποιείται για την ανάγνωση των τιμών των αναλογικών εισόδων AI.
Παράδειγμα αιτήματος ΑΙ από το μητρώο # 30009 τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του πρώτου μητρώο είναι 0008 hex = 8, επειδή η μέτρηση αρχίζει από τη διεύθυνση 0.
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
04 | Κωδικός λειτουργίας | 04 | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 02 | Αριθμός των bytes που ακολουθούν |
08 | Διεύθυνση του πρώτου μητρώου Lo bytes | 00 | Τιμή μητρώου Hi #30009 |
00 | Αριθμός των μητρώων Hi bytes | 0A | Τιμή μητρώου Lo #30009 |
01 | Αριθμός των μητρώων Lo bytes | F8 | CRC άθροισμα ελέγχου |
B2 | CRC άθροισμα ελέγχου | F4 | CRC άθροισμα ελέγχου |
98 | CRC άθροισμα ελέγχου |
Αυτή η εντολή χρησιμοποιείται για την εγγραφή μιας τιμής της ψηφιακής εξόδου DO.
Η τιμή του FF 00 hex ορίζει την έξοδο σε ON.
Η τιμή 00 00 hex ορίζει την έξοδο σε OFF.
Όλες οι άλλες τιμές είναι άκυρες και δεν επηρεάζονται από την τιμή εξόδου.
Η κανονική απάντηση σε ένα τέτοιο αίτημα είναι μια ηχώ (ένα αίτημα επανάληψης στην απάντηση),που επιστρέφεται αφού αλλάξει η κατάσταση DO.
Παράδειγμα εγγραφής DO με το μητρώο # 173 για τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του μητρώου θα είναι 00AC hex = 172, επειδή η μέτρηση αρχίζει από τη διεύθυνση 0.
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
05 | Κωδικός λειτουργίας | 05 | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 00 | Διεύθυνση του πρώτου μητρώου Hi bytes |
AC | Διεύθυνση του πρώτου μητρώου Lo bytes | AC | Διεύθυνση του πρώτου μητρώου Lo bytes |
FF | Η τιμή των Hi bytes | FF | Η τιμή των Hi bytes |
00 | Η τιμή των Lo bytes | 00 | Η τιμή των Lo bytes |
4E | CRC άθροισμα ελέγχου | 4E | CRC άθροισμα ελέγχου |
8B | CRC άθροισμα ελέγχου | 8B | CRC άθροισμα ελέγχου |
Η κατάσταση εξόδου DO173 έχει αλλάξει από OFF σε ON.
Παράδειγμα εγγραφής σε AO με το μητρώο # 40002 για τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του πρώτου μητρώο θα είναι 0001 hex = 1, επειδή η μέτρηση αρχίζει από την διεύθυνση 0.
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
06 | Κωδικός λειτουργίας | 06 | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 00 | Διεύθυνση του πρώτου μητρώου Hi bytes |
01 | Διεύθυνση του πρώτου μητρώου Lo bytes | 01 | Διεύθυνση του πρώτου μητρώου Lo bytes |
00 | Η τιμή των Hi bytes | 00 | Η τιμή των Hi bytes |
03 | Η τιμή των Lo bytes | 03 | Η τιμή των Lo bytes |
9A | CRC άθροισμα ελέγχου | 9A | CRC άθροισμα ελέγχου |
9B | CRC άθροισμα ελέγχου | 9B | CRC άθροισμα ελέγχου |
Ένα παράδειγμα εγγραφής σε πολλαπλά DO με τα μητρώα από # 20 έως # 29 για τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του μητρώου θα είναι 0013 hex = 19, επειδή η μέτρηση αρχίζει από τη διεύθυνση 0.
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
0F | Κωδικός λειτουργίας | 0F | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 00 | Διεύθυνση του πρώτου μητρώου Hi bytes |
13 | Διεύθυνση του πρώτου μητρώου Lo bytes | 13 | Διεύθυνση του πρώτου μητρώου Lo bytes |
00 | Αριθμός των μητρώων Hi bytes | 00 | Αριθμός εγγεγραμμένων μητρώων Hi bytes |
0A | Αριθμός των μητρώων Lo bytes | 0A | Αριθμός εγγεγραμμένων μητρώων Lo bytes |
02 | Αριθμός των bytes που ακολουθούν | 26 | CRC άθροισμα ελέγχου |
CD | Τιμή Byte DO 27-20 (1100 1101) | 99 | CRC άθροισμα ελέγχου |
01 | Τιμή Byte DO 29-28 (0000 0001) | ||
BF | CRC άθροισμα ελέγχου | ||
0B | CRC άθροισμα ελέγχου |
Στην απάντηση επιστρέφει ο αριθμός των εγγεγραμμένων μητρώων.
Ένα παράδειγμα εγγραφής σε πολλαπλά ΑΟ με τα μητρώα # 40002 και # 40003 για τη διεύθυνση SlaveID της συσκευής 17. Η διεύθυνση του πρώτου μητρώου θα είναι 0001 hex = 1, επειδή η μέτρηση αρχίζει από τη διεύθυνση 0.
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
11 | Διεύθυνση συσκευής | 11 | Διεύθυνση συσκευής |
10 | Κωδικός λειτουργίας | 10 | Κωδικός λειτουργίας |
00 | Διεύθυνση του πρώτου μητρώου Hi bytes | 00 | Διεύθυνση του πρώτου μητρώου Hi bytes |
01 | Διεύθυνση του πρώτου μητρώου Lo bytes | 01 | Διεύθυνση του πρώτου μητρώου Lo bytes |
00 | Αριθμός των μητρώων Hi bytes | 00 | Αριθμός εγγεγραμμένων μητρώων Hi bytes |
02 | Αριθμός των μητρώων Lo bytes | 02 | Αριθμός εγγεγραμμένων μητρώων Lo bytes |
04 | Αριθμός των bytes που ακολουθούν | 12 | CRC άθροισμα ελέγχου |
00 | Τιμή Hi 40002 | 98 | CRC άθροισμα ελέγχου |
0A | Τιμή Lo 40002 | ||
01 | Τιμή Hi 40003 | ||
02 | Τιμή Lo 40003 | ||
C6 | CRC άθροισμα ελέγχου | ||
F0 | CRC άθροισμα ελέγχου |
Αν η συσκευή λάβει ένα αίτημα, αλλά το αίτημα δεν μπορεί να επεξεργαστεί, η συσκευή θα απαντήσει με έναν κωδικό σφάλματος.
Η απάντηση θα περιέχει τροποποιημένο κωδικό λειτουργίας, το υψηλό bit θα είναι 1.
Παράδειγμα:
ΗΤΑΝ | ΕΓΙΝΕ |
---|---|
ΚΩΔΙΚΟΣ ΛΕΙΤΟΥΡΓΙΑΣ ΣΕ ΑΙΤΗΜΑ | ΕΣΦΑΛΜΕΝΟΣ ΚΩΔΙΚΟΣ ΛΕΙΤΟΥΡΓΙΑΣ ΣΤΗΝ ΑΠΑΝΤΗΣΗ |
01 (01 hex) 0000 0001 | 129 (81 hex) 1000 0001 |
02 (02 hex) 0000 0010 | 130 (82 hex) 1000 0010 |
03 (03 hex) 0000 0011 | 131 (83 hex) 1000 0011 |
04 (04 hex) 0000 0100 | 132 (84 hex) 1000 0100 |
05 (05 hex) 0000 0101 | 133 (85 hex) 1000 0101 |
06 (06 hex) 0000 0110 | 134 (86 hex) 1000 0110 |
15 (0F hex) 0000 1111 | 143 (8F hex) 1000 1111 |
16 (10 hex) 0001 0000 | 144 (90 hex) 1001 0000 |
Παράδειγμα αιτήματος και απάντησης με σφάλμα:
BYTE | ΑΙΤΗΜΑ | BYTE | ΑΠΑΝΤΗΣΗ |
---|---|---|---|
(Hex) | Όνομα πεδίου | (Hex) | Όνομα πεδίου |
0A | Διεύθυνση συσκευής | 0A | Διεύθυνση συσκευής |
01 | Κωδικός λειτουργίας | 81 | Λειτουργικός κωδικός με αλλαγμένο bit |
04 | Διεύθυνση του πρώτου μητρώου Hi bytes | 02 | Εσφαλμένος κωδικός |
A1 | Διεύθυνση του πρώτου μητρώου Lo bytes | B0 | CRC άθροισμα ελέγχου |
00 | Αριθμός των μητρώων Hi bytes | 53 | CRC άθροισμα ελέγχου |
01 | Αριθμός των μητρώων Lo bytes | ||
AC | CRC άθροισμα ελέγχου | ||
63 | CRC άθροισμα ελέγχου |
Επεξήγηση των κωδικών σφαλμάτων
01 | Δεν είναι δυνατή η επεξεργασία του ληφθέντος κωδικού λειτουργίας. |
02 | Η διεύθυνση των δεδομένων της αίτησης δεν είναι διαθέσιμη. |
03 | Η τιμή στο πεδίο αναζήτησης των δεδομένων είναι μη έγκυρη. |
04 | Παρουσιάστηκε ανεπανόρθωτο σφάλμα κατά την προσπάθεια εκτέλεσης της ζητούμενης ενέργειας από το slave. |
05 | Το slave έχει αποδεχθεί το αίτημα και το επεξεργάζεται, αλλά χρειάζεται πολύς χρόνος. Αυτή η απάντηση εμποδίζει τον κεντρικό υπολογιστή να δημιουργήσει ένα σφάλμα χρονικού ορίου. |
06 | Το slave είναι απασχολημένος με την επεξεργασία της εντολής. Το master πρέπει να επαναλάβει το μήνυμα αργότερα όταν ελευθερωθεί το slave. |
07 | Το slave δεν μπορεί να εκτελέσει τη λειτουργία του προγράμματος της αίτησης. Αυτός ο κωδικός επιστρέφεται για ένα ανεπιτυχές αίτημα του προγράμματος που χρησιμοποιεί τις λειτουργίες με αριθμούς 13 ή 14. Το master πρέπει να ζητήσει τις πληροφορίες διάγνωσης ή τις πληροφορίες σφάλματος από το slave. |
08 | Το slave ανίχνευσε ένα σφάλμα ισοτιμίας κατά την ανάγνωση της επεκταμένης μνήμης. Το master μπορεί να επαναλάβει το αίτημα, αλλά συνήθως σε αυτές τις περιπτώσεις απαιτούνται επισκευές. |
DCON Utility Pro με υποστήριξη για Modbus RTU, ASCII, DCON. Download
Modbus Master Tool με υποστήριξη για Modbus RTU, ASCII, TCP. Download
Modbus TCP client με υποστήριξη TCP. Download