Μετάβαση στο περιεχόμενο
Elausys

HyperVisu / Ενοποιήσεις

Ενσωμάτωση BACnet/IP

Ανάγνωση και εγγραφή αντικειμένων BACnet σε ελεγκτές HVAC μέσω UDP: εντοπισμός δικτύου, εγγραφές COV, polling και προτεραιότητες εγγραφής.

elausys · 21 Αυγούστου 2026
Σε αυτή τη σελίδα

Ενσωμάτωση BACnet/IP

Το BACnet/IP (ASHRAE 135) είναι το κατεξοχήν πρωτόκολλο για εμπορικές εφαρμογές HVAC: κεντρικές μονάδες διαχείρισης αέρα (ΚΚΜ), κιβώτια VAV, ψύκτες, ελεγκτές αντλιών θερμότητας, μετρητές ενέργειας και συστήματα διαχείρισης κτιρίων (BMS). Το HyperVisu διαβάζει και εγγράφει τα αντικείμενα (objects) των συσκευών BACnet — αναλογική είσοδος για θερμοκρασία, αναλογική τιμή για setpoint, δυαδική τιμή για ενεργοποίηση, τιμή πολλαπλών καταστάσεων (multi-state) για βαθμίδα ανεμιστήρα — μέσω UDP στο τοπικό δίκτυο. Οι τιμές λαμβάνονται μέσω εγγραφής αλλαγής τιμής (COV subscription) όπου υποστηρίζεται από τη συσκευή, και μέσω polling σε κάθε άλλη περίπτωση. Η επιλογή γίνεται αυτόματα για κάθε αντικείμενο.

Τι χρειάζεστε: ενεργοποιημένη την υπηρεσία BACnet/IP (βλ. «Υπηρεσίες & Πρωτόκολλα»), τη διεύθυνση IP της συσκευής (ή τη διεύθυνση του BACnet router που βρίσκεται μπροστά της), τη θύρα UDP (τυπική 47808), προαιρετικά το device instance της, καθώς και τα επιθυμητά αντικείμενα (τύπο και instance) — εναλλακτικά, μπορείτε να τα εντοπίσετε μέσω της αναζήτησης και του επιλογέα αντικειμένων.

Συνδέσεις. Το BACnet/IP υποστηρίζει πολλαπλές συνδέσεις: μία σύνδεση ανά συσκευή BACnet (βλ. «Συνδέσεις»). Ο διακομιστής ανοίγει ένα κοινό socket UDP για όλες. Πεδία:

ΠεδίοΠεριγραφή
Device addressΔιεύθυνση IP της συσκευής BACnet ή του router μπροστά από αυτήν.
PortΗ θύρα UDP στην οποία ακούει η συσκευή (τυπική 47808).
Device instanceΤο instance του device object στο BACnet (0–4194302). Αφήστε το κενό για παράκαμψη του ελέγχου. Εάν οριστεί, τυχόν απάντηση συσκευής με διαφορετικό instance αναφέρεται ως σφάλμα.
COV subscription lifetimeΗ διάρκεια ισχύος μιας εγγραφής αλλαγής τιμής πριν ανανεωθεί. Αφήστε το κενό για την προεπιλογή της υπηρεσίας (600 s).
Poll Interval (seconds)Συχνότητα επανανάγνωσης των σημείων χωρίς εγγραφή COV (προεπιλογή 30 s). Το COV αποτελεί τη γρήγορη διαδρομή, επομένως το αργό polling είναι φυσιολογικό εδώ.

Δημιουργία σύνδεσης. Στην Προσθήκη σύνδεσης, επιλέξτε την κάρτα BACnet και καταχωρίστε ένα Όνομα instance και τη Διεύθυνση συσκευής. Η Θύρα και το Device instance είναι προαιρετικά (κενή θύρα σημαίνει την προεπιλεγμένη 47808). Το παράθυρο διαλόγου δεν περιλαμβάνει σάρωση δικτύου και δεν δημιουργεί σύνδεση χωρίς διεύθυνση: εάν δεν γνωρίζετε ακόμη τη διεύθυνση, εισαγάγετε μια προσωρινή και διορθώστε την εκ των υστέρων μέσω σάρωσης. Κάντε κλικ στο Δημιουργία σύνδεσης. Η νέα σύνδεση ανοίγει στις ρυθμίσεις της.

Σάρωση δικτύου. Η σάρωση είναι διαθέσιμη μόνο σε αποθηκευμένη σύνδεση. Δίπλα στο πεδίο Σύνδεση σε, κάντε κλικ στο Σάρωση δικτύου. Το παράθυρο διαλόγου Συσκευές BACnet στο δίκτυο εκπέμπει ένα μήνυμα Who-Is (broadcast) και παραθέτει κάθε συσκευή που απάντησε — Device , διεύθυνση, θύρα, κατασκευαστής — επισημαίνοντας τις συσκευές Already configured (Ήδη διαμορφωμένες) και Behind a router (Πίσω από router). Επιλέξτε μία και κάντε κλικ στο Χρήση αυτής της συσκευής: η διεύθυνση, η θύρα και το device instance συμπληρώνονται αυτόματα. Δεν έχουν αποθηκευτεί ακόμα: κάντε κλικ στο Αποθήκευση σύνδεσης. Χρησιμοποιήστε το Σάρωση διεύθυνσης όταν η καθολική εκπομπή δεν εντοπίζει τίποτα: ορίστε μια διεύθυνση subnet (192.168.1.255) όταν τα broadcasts φιλτράρονται μεταξύ VLAN, ή απευθείας μία συσκευή (192.168.1.70:47808) — ο μόνος τρόπος προσέγγισης συσκευής σε μη τυπική θύρα. Το Επανάληψη σάρωσης εκτελεί ξανά τη διαδικασία. Το τελευταίο αποτέλεσμα διατηρείται όσο το παράθυρο είναι κλειστό.

📘 Σημείωση: Η ένδειξη Already configured επισημαίνει μια συσκευή στην οποία αντιστοιχεί ήδη κάποια σύνδεση, βάσει διεύθυνσης και θύρας ή βάσει device instance. Η σύνδεση που επεξεργάζεστε προσμετράται κανονικά, επομένως ο δικός σας ελεγκτής μπορεί να φέρει αυτή τη σήμανση.

Η επιλογή Δοκιμή στέλνει ένα κατευθυνόμενο Who-Is στη συσκευή και ελέγχει την απάντηση — συμπεριλαμβανομένου του device instance, εφόσον έχει οριστεί. Το αποτέλεσμα αναφέρει το device instance που αποκρίθηκε. Εάν απαντήσει λάθος συσκευή, η δοκιμή αποτυγχάνει αναφέροντας και τα δύο instances. Στο παράθυρο Προσθήκη σύνδεσης, η Δοκιμή ελέγχει τις τιμές που πληκτρολογήσατε. Σε μια ήδη αποθηκευμένη σύνδεση, ελέγχει τις αποθηκευμένες τιμές και όχι τα πεδία που δεν έχετε αποθηκεύσει ακόμα: κάντε πρώτα κλικ στο Αποθήκευση σύνδεσης και μετά στο Δοκιμή.

Επεξεργαστής σύνδεσης BACnet/IP με ανοιχτό το παράθυρο διαλόγου «Συσκευές BACnet στο δίκτυο».

Σύνδεση αντικειμένου (binding) (βλ. «Σύνδεση αντικειμένων BACnet/IP» παρακάτω). Για κάθε αντικείμενο επιλέγετε τον Τύπο αντικειμένου και τον Αριθμό instance. Η διαχείριση αποθηκεύει τη διεύθυνση ως <connection>:<type>:<instance>, π.χ. 5:AV:12 (Analog Value 12 στη σύνδεση 5). Τύποι αντικειμένων:

ΤύποςΑντικείμενο BACnetΤιμήΣημειώσεις
AI / AO / AVAnalog input / output / valueΑριθμόςΤο AO δέχεται εντολές (commandable).
BI / BO / BVBinary input / output / value0/1Το BO δέχεται εντολές (commandable).
MSI / MSO / MSVMulti-state input / output / valueΑκέραιος, με αρχή το 1Το MSO δέχεται εντολές (commandable).

Η συμβολοσειρά τύπου δεδομένων του αντικειμένου περιλαμβάνει τις παραμέτρους που προσφέρει ο επεξεργαστής: [TYPE][:PROP=<id>][:PRIORITY=<1-16>][:COV=AUTO | Y | N][:SCALE=<f>][:OFFSET=<f>]:

ΠεδίοΑποθήκευση ωςΕπεξήγηση
Value typeREAL / BOOL / UINT / INT / ENUMΟ τύπος δεδομένων BACnet που χρησιμοποιείται κατά την εγγραφή. Αφήστε το στο Automatic — προκύπτει αυτόματα από τον τύπο του αντικειμένου — εκτός εάν απευθύνεστε σε μη τυπική ιδιότητα.
Property identifierPROP=Το 85 αντιστοιχεί στο present-value, το οποίο απαιτείται σχεδόν σε κάθε σύνδεση. Αλλάξτε το μόνο για ειδικές ιδιότητες κατασκευαστή (vendor properties).
Scale / OffsetSCALE= / OFFSET=Ανάγνωση: τιμή = raw × scale + offset. Η εγγραφή χρησιμοποιεί την αντίστροφη πράξη. Εκτελείται εντός του πρωτοκόλλου, πριν από οποιονδήποτε μετασχηματισμό στο αντικείμενο (βλ. «Μετασχηματισμοί τιμών & Health») — μην εφαρμόζετε κλιμάκωση και στα δύο σημεία.
Change-of-value subscriptionCOV=Automatic — εγγραφή, εναλλακτική σε polling (προεπιλογή). Required — προειδοποίηση εάν η συσκευή απορρίψει την εγγραφή. Never — αποκλειστικά polling. Μια εγγραφή αναφέρει μόνο την ιδιότητα 85 (present-value). Σε οποιαδήποτε άλλη ιδιότητα, το σημείο διαβάζεται μέσω polling. Εμφανίζεται στην ενότητα Λήψη ενημερώσεων, σε αντικείμενα ανάγνωσης.
Write priorityPRIORITY=Προτεραιότητα εντολής BACnet 1–16 για εγγράψιμα αντικείμενα. Αφήστε το κενό για να μην σταλεί καμία, την οποία η συσκευή εκλαμβάνει ως 16. Εμφανίζεται στην ενότητα Αποστολή εντολών, σε αντικείμενα εγγραφής.

📘 Σημείωση: Οι τιμές multi-state στο BACnet ξεκινούν από το 1, ενώ οι καταστάσεις στο HyperVisu από το 0. Ορίστε το offset σε -1 σε συνδέσεις multi-state εκτός εάν η συσκευή βασίζεται πραγματικά στο 0 — ο επεξεργαστής εμφανίζει σχετική υπενθύμιση. Οι αρχικοί αριθμοί με βάση το 1 διατηρούνται σκόπιμα, ώστε η προβολή να ταυτίζεται με ό,τι εμφανίζει το YABE ή το σύστημα BMS.

Επιλογέας αντικειμένων. Όταν η σύνδεση είναι ενεργή, ο επεξεργαστής παραθέτει τα Αντικείμενα σε αυτή τη συσκευή — την ίδια τη λίστα αντικειμένων της συσκευής με όνομα, τύπο, instance, τρέχουσα τιμή και μονάδα μέτρησης (π.χ. AI:0 · SupplyAirTemp · 21.5 °C). Χρησιμοποιήστε την Εύρεση αντικειμένου για αναζήτηση βάσει ονόματος, περιγραφής ή AV:12, κάντε κλικ σε μια γραμμή για αυτόματη συμπλήρωση τύπου και instance (καθώς και των Μονάδων, όταν το πεδίο είναι κενό και ο ελεγκτής παρέχει μονάδα), και Επανανάγνωση για ανανέωση. Η λίστα αντικειμένων διατηρείται στη μνήμη για ένα λεπτό. Η Επανανάγνωση επιβάλλει νέα ανάγνωση. Ο τύπος και το instance παραμένουν επεξεργάσιμα: εάν η λίστα εμφανίζει Λίστα αντικειμένων μη διαθέσιμη ή η συσκευή αρνείται την απαρίθμηση, το σημείο μπορεί να συνδεθεί χειροκίνητα.

Επεξεργαστής αντικειμένου BACnet για Analog Value.

Σημαντικές λεπτομέρειες λειτουργίας

  • Προτεραιότητα στο COV, το polling ως δικλίδα ασφαλείας. Τα σημεία με ενεργή εγγραφή αναφέρονται από τη συσκευή κατά την αλλαγή τους και εξαιρούνται από τον κύκλο polling. Η εγγραφή ανανεώνεται πριν από τη λήξη της. Εάν μια συσκευή απορρίψει την εγγραφή, διαβάζεται μέσω polling. Ένα αργό polling επαλήθευσης (κάθε 10 διαστήματα polling) διαβάζει τα σημεία COV, αποκαθιστώντας εγγραφές που χάθηκαν σιωπηλά μετά από επανεκκίνηση της συσκευής.
  • Ομαδοποιημένο polling (batched): Εκτελείται ομαδοποίηση πολλών ιδιοτήτων ανά αίτημα, με αυτόματη μετάπτωση σε μία ανάγνωση ανά ιδιότητα για συσκευές που δεν υποστηρίζουν batching.
  • Ανάδραση εγγραφής (Write feedback). Μετά από μια εγγραφή, ένα σημείο χωρίς ενεργή εγγραφή COV εμφανίζει άμεσα την εγγραφείσα τιμή αντί να επανέλθει στην προηγούμενη μέχρι το επόμενο poll. Με ενεργό COV, επιβεβαιώνεται μέσω της ειδοποίησης της ίδιας της συσκευής.
  • Κατάσταση (Status). Το πρωτόκολλο UDP είναι connectionless, επομένως η ένδειξη up σημαίνει «αποκρίθηκε πρόσφατα» (εντός διπλάσιου διαστήματος polling, τουλάχιστον 90 s) και η ένδειξη down σημαίνει απουσία απόκρισης. Εάν μια συσκευή σταματήσει να αποκρίνεται, γίνονται νέες δοκιμές (κάθε 30 s μετά από πέντε αποτυχημένα polls) και επανέρχεται αυτόματα σε κατάσταση up.
  • Πίνακες προτεραιοτήτων (Priority arrays). Ένα commandable αντικείμενο διαθέτει 16 θέσεις προτεραιότητας. Εάν ένα σύστημα BMS γράφει σε χαμηλότερο αριθμό προτεραιότητας (υψηλότερη ιεραρχικά), υπερισχύει του HyperVisu και η συσκευή φαίνεται να αγνοεί το widget — ο επεξεργαστής προειδοποιεί σχετικά στους commandable τύπους. Το πεδίο Write priority επιτρέπει την παράκαμψη αυτού του περιορισμού.

Τυπικές αντιστοιχίσεις: διακόπτης σε BV/BO, dimmer ή θέση ρολού σε AV/AO (0–100), θερμοκρασία κλιματισμού σε AI (Είσοδος), setpoint σε AV (Είσοδος/Έξοδος) και κατάσταση λειτουργίας σε MSV με offset -1, μετρητής σε AI με κλιμάκωση αντίστοιχη της μονάδας της συσκευής, βαθμίδα ανεμιστήρα σε MSV/MSO με offset -1.

Παράδειγμα εφαρμογής — ελεγκτής κεντρικής μονάδας διαχείρισης αέρα (ΚΚΜ)

Ο ελεγκτής είναι η συσκευή BACnet 1234 στη διεύθυνση 192.168.1.70:47808, με θερμοκρασία προσαγωγής αέρα AI:0, setpoint AV:1, εντολή ενεργοποίησης BV:2 και ταχύτητα ανεμιστήρα MSV:3 (1–4).

  1. Ενεργοποιήστε το BACnet/IP στις Υπηρεσίες (βλ. «Υπηρεσίες & Πρωτόκολλα»).
  2. Δημιουργήστε μια σύνδεση BACnet (βλ. «Συνδέσεις»): στην Προσθήκη σύνδεσης, καταχωρίστε τη Διεύθυνση συσκευής 192.168.1.70 και κάντε κλικ στο Δημιουργία σύνδεσης. Στην αποθηκευμένη σύνδεση, κάντε κλικ στο Σάρωση δικτύου, επιλέξτε το Device 1234 και κάντε κλικ στο Χρήση αυτής της συσκευής. Αφήστε το διάστημα polling στο 30. Κάντε κλικ στο Αποθήκευση σύνδεσης και μετά στο Δοκιμή: το αποτέλεσμα αναφέρει το device instance 1234.
  3. Στις Συσκευές, προσθέστε μια Αναλογική είσοδο «Προσαγωγή αέρα ΚΚΜ» και επιλέξτε τη σύνδεση BACnet στο πεδίο Πρωτόκολλο — στο αντικείμενο τιμής επιλέξτε AI:0 από τον επιλογέα αντικειμένων.
  4. Προσθέστε μια Αναλογική έξοδο «Setpoint ΚΚΜ»: αντικείμενο AV:1, κατεύθυνση In/Out, τύπος τιμής Automatic.
  5. Προσθέστε έναν Διακόπτη «Ενεργοποίηση ΚΚΜ»: αντικείμενο BV:2.
  6. Προσθέστε μια συσκευή Αναλογικής εξόδου με όνομα «ΚΚΜ-2 Ταχύτητα ανεμιστήρα» για τη βαθμίδα του ανεμιστήρα: συνδέστε το αντικείμενο τιμής στο MSV:3 με offset -1 (οι καταστάσεις BACnet 1–4 μετατρέπονται σε 0–3). Ένα αντικείμενο multi-state απαιτεί αριθμητικό widget — το widget Εξαερισμού οδηγεί τις ταχύτητες μέσω ξεχωριστών αντικειμένων on/off, επομένως δεν μπορεί να δεχτεί τιμή multi-state.
  7. Κάντε κλικ στο Αποθήκευση αντικειμένου σε κάθε αντικείμενο, έπειτα στο Εφαρμογή αλλαγών στην πλευρική γραμμή και επιβεβαιώστε. Η θερμοκρασία προσαγωγής λαμβάνεται μέσω COV καθώς μεταβάλλεται. Τα υπόλοιπα ακολουθούν το polling ή τη δική τους εγγραφή COV.

Σύνδεση αντικειμένων BACnet/IP

Τα αντικείμενα BACnet παραμετροποιούνται στο παράθυρο ρυθμίσεων αντικειμένου (βλ. «Ρυθμίσεις αντικειμένων, Καταγραφή & Ειδοποιήσεις»). Οι διαθέσιμες καρτέλες είναι:

Αντικείμενο BACnet

ΠεδίοΠεριγραφή
Objects on this deviceΗ λίστα αντικειμένων της συσκευής — AI:0 · όνομα · present value μονάδα — με επιλογές Εύρεση αντικειμένου (όνομα, περιγραφή ή AV:12) και Επανανάγνωση. Κάντε κλικ σε μια γραμμή για να συμπληρωθούν τα παρακάτω δύο πεδία. Εμφανίζεται όταν η σύνδεση είναι ενεργή και η υπηρεσία BACnet/IP εκτελείται. Διαφορετικά, εισαγάγετε τον τύπο και το instance χειροκίνητα.
Object typeAnalog input / output / value (AI/AO/AV), Binary input / output / value (BI/BO/BV), Multi-state input / output / value (MSI/MSO/MSV).
Instance numberΤο instance του αντικειμένου στη συσκευή (0–4194302). Η αποθηκευμένη διεύθυνση είναι <connection>:<type>:<instance>, π.χ. 5:AV:12.

Τιμή και κλιμάκωση

ΠεδίοΠεριγραφή
Value typeAutomatic (εξάγεται αυτόματα από τον τύπο αντικειμένου — REAL για analog, ENUM για binary, UINT για multi-state) ή ρητή επιλογή REAL / BOOL / UINT / INT / ENUM, για χρήση κατά την εγγραφή.
Property identifierΤο 85 αντιστοιχεί στο present-value και απαιτείται σχεδόν σε κάθε περίπτωση. Αλλάξτε το μόνο για vendor properties.
Scale / Offsetτιμή = raw × scale + offset στην ανάγνωση, το αντίστροφο στην εγγραφή. Εκτελείται εντός του πρωτοκόλλου, πριν από οποιονδήποτε μετασχηματισμό στο αντικείμενο (βλ. «Μετασχηματισμοί τιμών & Health») — μην εφαρμόζετε κλιμάκωση και στα δύο σημεία. Σε αντικείμενα multi-state, ο επεξεργαστής υπενθυμίζει να ορίσετε το offset σε -1 (οι καταστάσεις BACnet ξεκινούν από 1, του HyperVisu από 0).

Λήψη ενημερώσεων

ΠεδίοΠεριγραφή
Change-of-value subscriptionAutomatic — εγγραφή, εναλλακτική σε polling (προεπιλογή), Required — προειδοποίηση εάν η συσκευή απορρίψει την εγγραφή, ή Never — αποκλειστικά polling. Οι εγγραφές COV αναφέρουν μόνο το present-value, επομένως μια σύνδεση σε άλλη ιδιότητα διαβάζεται μέσω polling.

Αποστολή εντολών (commandable τύποι αντικειμένων)

ΠεδίοΠεριγραφή
Write priorityΠροτεραιότητα εντολής BACnet 1–16. Αφήστε το κενό για να μην σταλεί καμία, την οποία η συσκευή εκλαμβάνει ως 16. Εάν ένα άλλο σύστημα γράφει σε χαμηλότερο αριθμό προτεραιότητας, υπερισχύει του HyperVisu και η συσκευή φαίνεται να αγνοεί το widget.

Οι τύποι αντικειμένων, η συμβολοσειρά τύπου δεδομένων και ένα αναλυτικό παράδειγμα εφαρμογής περιλαμβάνονται στην παραπάνω ενότητα BACnet/IP.

Ρυθμίσεις αντικειμένου BACnet για αντικείμενο ταχύτητας ανεμιστήρα multi-state («ΚΚΜ-2 Ταχύτητα ανεμιστήρα»).

Συχνές ερωτήσεις

Τι πρέπει να ελέγξω αν η Σάρωση δικτύου δεν βρίσκει συσκευές;

Βεβαιωθείτε ότι το BACnet/IP είναι ενεργοποιημένο και χρησιμοποιήστε τη Σάρωση διεύθυνσης με το broadcast του υποδικτύου ή την IP και τη θύρα της συσκευής. Μια μη τυπική θύρα απαιτεί κατευθυνόμενη σάρωση.

Χρησιμοποιεί κάθε σημείο BACnet polling;

Όχι. Η αυτόματη λειτουργία χρησιμοποιεί εγγραφές αλλαγής τιμής (COV) όπου υποστηρίζονται και μεταπίπτει σε polling όταν αυτές απορρίπτονται.

Γιατί μια τιμή multi-state έχει απόκλιση κατά μία μονάδα;

Οι καταστάσεις BACnet ξεκινούν συνήθως από το ένα, ενώ οι καταστάσεις του HyperVisu από το μηδέν. Χρησιμοποιήστε offset -1, εκτός εάν η συσκευή ξεκινά πραγματικά από το μηδέν.

Γιατί ένα άλλο σύστημα του κτιρίου παρακάμπτει τις εντολές μου;

Στα commandable αντικείμενα, μια θέση χαμηλότερου αριθμού προτεραιότητας υπερισχύει. Ελέγξτε την άλλη πηγή εγγραφής και την παράμετρο Write priority που έχετε ορίσει.

Μπορώ να αντιστοιχίσω ένα σημείο όταν ο επιλογέας αντικειμένων είναι κενός;

Ναι. Εισαγάγετε τον τύπο αντικειμένου και το instance χειροκίνητα εάν η συσκευή αρνείται την απαρίθμηση.

Πρέπει να εφαρμόσω κλιμάκωση τόσο στις ρυθμίσεις BACnet όσο και στους μετασχηματισμούς;

Όχι. Το scale και το offset του BACnet εκτελούνται πριν από την αλυσίδα μετασχηματισμών του αντικειμένου. Αποφύγετε την εφαρμογή της ίδιας μετατροπής δύο φορές.

Συνεχίστε την εξερεύνηση

Βρείτε τους υπόλοιπους οδηγούς για αυτό το προϊόν στην τεκμηρίωση.

Επιστροφή στο Ενοποιήσεις