Λογισμικό ελέγχου σειριακής θύρας με πρωτόκολλο λειτουργίας Modbus

Το Modbus είναι ένα πρωτόκολλο επικοινωνίας που χρησιμοποιείται συνήθως σε βιομηχανικά συστήματα αυτοματισμού, έξυπνα οικιακά συστήματα, αυτοματοποιημένα δίκτυα σε αποθήκες, θερμοκήπια κ.λπ.
Είναι πρωτόκολλο σειριακών επικοινωνιών που δημοσιεύθηκε αρχικά από την Schneider Electric το 1979 για χρήση με τους προγραμματιζόμενους λογικούς ελεγκτές (PLCs). Έχει γίνει ένα de facto πρότυπο πρωτόκολλο επικοινωνίας και είναι τώρα ένα σύνηθες διαδεδομένο μέσο διασύνδεσης βιομηχανικών ηλεκτρονικών συσκευών. Το πρωτόκολλο αυτό χρησιμεύει για τη σύνδεση εξοπλισμού διαφόρων τύπων με έναν οικιακό υπολογιστή. Η ανάπτυξη, του Arduino που έχουμε αναφερθεί αλλά και του Raspberry Pi που θα αναφερθούμε σε κάποια μελλοντική ανάρτηση, έχει αυξήσει σημαντικά το ενδιαφέρον για τη ρομποτική και τους αυτοματισμούς και συνεργάζονται άριστα με το πρωτόκολλο αυτό. Όλα αυτά εξασφαλίζουν την αύξηση της δημοτικότητας του Modbus μεταξύ ερασιτεχνών και επαγγελματιών. 

Σε αυτό το άρθρο, θα αναφερθούμε στα πολύ βασικά χαρακτηριστικά του πρωτοκόλλου Modbus και τον εντοπισμό σφαλμάτων σε συσκευές και δίκτυα που βασίζονται στο συγκεκριμένο πρωτόκολλο.
Η ιστοσελίδα διάθεσης του λογισμικού ελέγχου της σειριακής θύρας με πρωτόκολλο Modbus είναι : https://www.eltima.com/ στην παρακάτω φωτογραφία βλέπουμε εγκατεστημένο το λογισμικό ελέγχου σειριακής θύρας. Μπορούμε να κατεβάσουμε την trial έκδοση από το παραπάνω link.



Σχετικά
με το πρωτόκολλο Modbus

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


  
Το πρότυπο περιβάλλον για το πρωτόκολλο Modbus είναι RS-485/422/232. Το Modbus RTU ή το Modbus ASCII λειτουργούν πάνω σε αυτό. Σε δίκτυα TCP / IP, ωστόσο, το πρωτόκολλο υψηλότερου επιπέδου είναι πρωτόκολλο μεταφοράς TCP και αυτή η παραλλαγή ονομάζεται Modbus TCP. Σε αυτό το άρθρο, θα μιλήσουμε για τη λειτουργία μετάδοσης Modbus RTU.

Το πρωτόκολλο Modbus υλοποιείται χρησιμοποιώντας μια σχέση master-slave. Αυτό σημαίνει ότι η επικοινωνία ξεκινάει πάντα από μία συσκευή, τhν master, η οποία στέλνει ένα αίτημα στη slave (διακομιστή) και αναμένει απάντηση. Υπάρχει πάντα μία master στο
δίκτυο και από 1 έως 247
slaves.

Η master αλληλεπιδρά με τις slave συσκευές στα αιτήματα μορφή απάντησης αίτησης. Το αίτημα περιέχει μια ακολουθία bytes, που ονομάζεται frame, όπου ο χρόνος μεταξύ των bytes είναι τυποποιημένος ανάλογα με τον ρυθμό μεταφοράς δεδομένων και δεν είναι μεγαλύτερος από το διάστημα κατά το οποίο μπορούν να μεταδοθούν 1,5 bytes δεδομένων. Στη λειτουργία RTU, τα μηνύματα αρχίζουν με ένα κενό τουλάχιστον 3,5 χαρακτήρων.
Κατά την εγκατάσταση ενός δικτύου Modbus, ένα σημείο που πρέπει να εξεταστεί είναι ότι το πρωτόκολλο επιτρέπει τη μετάδοση δεδομένων από πολλαπλές συσκευές που πρόκειται να ληφθούν από ένα μόνο διακομιστή ή ελεγκτή που έχει εγκατεστημένο πρόγραμμα οδήγησης Modbus. Μια σειριακή εφαρμογή μπορεί να ελέγξει τη θύρα επικοινωνίας ενός διακομιστή (π.χ. COM1) καθώς λαμβάνει δεδομένα Modbus από πολλούς αισθητήρες.

Δυστυχώς υπάρχει ένας περιορισμός, καθώς το άνοιγμα της θύρας λήψης σε πολλαπλές εφαρμογές ταυτόχρονα μπορεί να αποτελέσει σημαντική πρόκληση.

Υπάρχει μια λύση σε αυτό το δίλημμα. Ο Virtual Port Driver PRO που παρουσιάσαμε στην προηγούμενη ανάρτησή μας επιτρέπει τη δημιουργία εικονικών θυρών RS485 και τη διάσπαση των δεδομένων Modbus έτσι ώστε να μπορούν να λαμβάνουν συγχρόνως τα δεδομένα ταυτόχρονα πολλαπλές θύρες. 

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

Ανάπτυξη
και δοκιμή συσκευών Modbus

Κατά την ανάπτυξη και τον εντοπισμό σφαλμάτων των συσκευών Modbus RTU, οι ειδικοί χρησιμοποιούν εξειδικευμένα εργαλεία software και hardware. Όσον αφορά το hardware, η απλούστερη λύση είναι ο μετατροπέας RS-485 / USB. Από όλες τις συσκευές αυτού του τύπου, ίσως η πιο αποτελεσματική λύση είναι το MOXA UPORT 1130 / UPORT 1150. Η συσκευή έχει σχεδιαστεί για να είναι εύκολη στη χρήση και απαιτεί ελάχιστες ικανότητες για
συναρμολόγηση. Υπάρχουν επίσης πιο πολύπλοκες λύσεις όπως το Ethernet/RS-485
(για παράδειγμα το NPORT από το MOXA).

Στην πράξη, όταν πρόκειται για την ανάπτυξη συσκευών Modbus RTU, η λειτουργία slave υλοποιείται συχνότερα. Οι συσκευές Slave περιλαμβάνουν διάφορους αισθητήρες, ελεγχόμενα ρελέ, μονάδες εισόδου/εξόδου κ.λπ. Οι master συσκευές δημιουργούνται λιγότερο συχνά.
Στα δίκτυα αυτοματισμού, η κύρια λειτουργία εκτελείται συνήθως είτε από ελεγκτή, ο οποίος έχει ήδη υλοποιήσει μια στοίβα (
stack) Modbus, είτε από ένα σύστημα OPC Server / SCADA εξοπλισμένο με πρόγραμμα οδήγησης Modbus.

Αποτελεσματικό λογισμικό για δοκιμές Modbus

Ένα από τα πιο βολικά εργαλεία που χρησιμοποιούνται στα αρχικά στάδια της δοκιμής συσκευών είναι το τερματικό Modbus. Αυτή η λύση βοηθά στη δημιουργία ενός manual αιτήματος, την αποστολή και την ανάλυση της απόκρισης.

Το Serial Port Monitor είναι ένα από τα καλύτερα λογισμικά παρακολούθησης Modbus που είναι διαθέσιμα σήμερα. Αυτή η λύση Modbus μπορεί εύκολα να διαβάσει και να καταγράψει τυχόν σειριακά δεδομένα που διαπερνούν τις θύρες COM του συστήματος. Η προηγμένη λειτουργικότητα της εφαρμογής επιτρέπει την καταγραφή δεδομένων σε πραγματικό χρόνο, έτσι ώστε ο προγραμματιστής να μπορεί να επιλύσει όλα τα προβλήματα μόλις εντοπιστούν.

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

Το ειδικό λογισμικό είναι χρήσιμο όταν απαιτείται όχι μόνο να ελέγχει εάν λειτουργεί μια συσκευή (δηλαδή, ανταποκρίνεται σωστά στα αιτήματα), αλλά και να μετράει τον μέσο χρόνο στην αποτυχία.

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

Αντιμετώπιση σφαλμάτων των συστημάτων αυτοματισμού που βασίζονται σε συσκευές Modbus

Πολύ περισσότεροι είναι οι εξειδικευμένοι που εντοπίζουν σφάλματα στα συστήματα αυτοματισμού και τις συσκευές που υποστηρίζουν το πρωτόκολλο Modbus από εκείνους που αναπτύσσουν αυτές τις συσκευές. Έτσι, με βάση τις ιδιαιτερότητες των εργασιών, οι απαιτήσεις για το λογισμικό Modbus RTU θα είναι ελαφρώς διαφορετικές.

Εάν χρειάζεται να συνδέσουμε έναν ελεγκτή σε μια μόνο slave συσκευή, μπορούμε να δημιουργήσουμε σειριακή επικοινωνία χρησιμοποιώντας: έναν μετατροπέα RS-485/USB, έναν υπολογιστή και εξειδικευμένο λογισμικό. Σε αυτή την περίπτωση, δεν υπάρχει ανάγκη για μακροχρόνιες δοκιμές ακολουθούμενες από την ανάλυση πολλών αρχείων καταγραφής. Έτσι, η λογική της λειτουργίας και του συνόλου των εργαλείων δεν θα διαφέρει από εκείνη που χρησιμοποιείται στο στάδιο της εξέτασης της ανάπτυξης των slave συσκευών.

Στην Ελλάδα εκπροσωπείται από την εταιρεία "Ναυτίλος" Αγχιάλου 222-224, Πειραιάς τηλ. 210.46.26.502 ώρες λειτουργίας 12 με 8 μ.μ.
e-mail : info@naftilos.com

Διατίθεται δωρεάν σε σχολεία και πανεπιστήμια.

Το άρθρο αυτό δεν είναι προϊόν διαφήμισης, ούτε υπάρχει οικονομικό όφελος από τη δημοσίευσή του, αποτελεί προσωπική γνώμη του blogger.