Ενημερώθηκε - Δεκέμβριος 29, 2022
Ένα κατώφλι μεταγωγής που εξαρτάται από το φορτίο αποσκοπεί στην αποφυγή υπερφόρτωσης της γραμμής που τροφοδοτεί την τροφοδοσία στην ξηρά. Με βάση τη μέγιστη επιτρεπόμενη ισχύ, η οποία εδώ θεωρείται ότι είναι 3.100 W, και τη μέγιστη ισχύ της ηλεκτρικής θέρμανσης ALDE των 1.500 W (στάδιο I -> 1.000 W, στάδιο II -Y 500 W), προκύπτει ένα περιθώριο περίπου 1.600 W.
Το πρόγραμμα:

Ο κωδικός:
real pwr = dom.GetObject("HG_LM_POWER").Value(); WriteLine("Pwr.");WriteLine(pwr),
var nicht_heizen = dom.GetObject("SV_IT").Value(); WriteLine("nicht_heizen");WriteLine(nicht_heizen),
if ((pwr > 1) && (pwr < 2201) && (not_heating == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1),
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(1),
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1),
dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1),
var P = "P > 1 < 2201"; dom.GetObject("Current_Load").State(P);WriteLine(P),
}
elseif ((pwr > 2200) && (pwr < 2601) && (not_heating == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1),
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(1),
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0),
dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1),
var P = "P > 2200 < 2601"; dom.GetObject("Current_Load").State(P);WriteLine(P),
}
elseif ((pwr > 2600) && (pwr < 2801) && (not_heating == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1),
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0),
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1),
dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1),
var P = "P > 2600 < 2801"; dom.GetObject("Current_Load").State(P);WriteLine(P),
}
elseif ((pwr > 2800) && (pwr < 3101) && (not_heating == false))
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1),
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0),
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(1),
dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(0),
! var P = "P > 2800 < 3101"; dom.GetObject("Current_Load").State(P);WriteLine(P),
}
elseif (pwr > 3100)
{dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1),
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0),
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0),
dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(0),
var P = "P > 3100"; dom.GetObject("Current_Load").State(P);WriteLine(P),
}
elseif (not_heating == true)
{
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(0),
dom.GetObject("BidCos-RF.IEQ0101895:2.STATE").State(0),
dom.GetObject("BidCos-RF.IEQ0101895:3.STATE").State(0),
dom.GetObject("BidCos-RF.SEQ3114635:1.STATE").State(1),
}
Η έξοδος του σεναρίου (αν οι γραμμές WriteLine(" ... ")
δεν σχολιάζονται):
Pwr.
1882.919998
not_heating
false
P > 1 < 2201
Το σενάριο αξιολογεί τη μεταβλητή συστήματος HG_LM_POWER
από το προηγούμενο σενάριο, καθώς και την κατάσταση του καναλιού 1 της μονάδας ρελέ Homematic 4 φορές που ενεργοποιεί την αντλία θέρμανσης.
Εάν υπάρχει επαρκές απόθεμα ισχύος, π.χ. λιγότερο από 2.301 W, η κατάσταση της αντλίας 1
επομένως η μεταβλητή του συστήματος not_heating
= false
τότε, σύμφωνα με το εάν
-Επίπεδο I και II κλάδων ενεργοποιημένο.
Εάν, για παράδειγμα, η καφετιέρα είναι τώρα ενεργοποιημένη, απαιτούνται επιπλέον 800 W. Η προηγούμενη ισχύς των 2.131,7 W γίνεται 2.931,7 W.
Ως αποτέλεσμα, η δεύτερη elseif
-κλάδος και το στάδιο Ι είναι απενεργοποιημένο.
Όταν η καφετιέρα απενεργοποιηθεί ξανά, η απαιτούμενη ισχύς μειώνεται στο προηγούμενο επίπεδο και το επίπεδο I ενεργοποιείται ξανά.
Τα άλλα σενάρια λειτουργούν με παρόμοιο τρόπο.