Berechnung Belastungsklassen (WP)

Guten Tag,

ich würde gern die Belastungsklassen meines Kompressors der Wärmepumpe berechnen lassen, diese dann Farbig ins WebFront anzeigen lassen.

Die Daten zur Berechnung habe ich bereits:

Differenz zwischen Verdampfungs- und Verflüssigungstemperatur (DT V/K).

1: DT V/K < 25K
2: 22K < DT V/K < 32K
3: 32K < DT V/K < 41K
4: 41K < DT V/K < 50K
5: DT V/K >50K

Das Script:

Ich muss mir den Temp. Wert des Verdampfers holen, dann den Temp. Wert des Verflüssigers.
Den Errechneten Differenzwert dann wie Zu Ordnen?

Bzw. Eine Variable Profil mit der Farblichen Hinterlegung anlegen.

Danke für den Tipp!

Zeig uns doch mal, was Du bisher versucht hast, dann kann man Dir leichter helfen.

Ich habe eine Integer Variable Angelegt mit 5 Werten und den dazugehörigen Farben:

Das Script soll dann die Differenz der Temperaturfühler errechnen und dem jeweiligen Wert ( 0-4 ) der Interger Variable zuordnen:


$OAT = GetValueInteger (43480);   //Fühler Verdampfer
$IRT = GetValueInteger (43480);   //Fühler Verflüssiger

//Temperatur Differenz Berechnen

$subtraktion = $OAT - $IRT;


//Zuorden der Ererchneten Differenz

if ($subtraktion < 25) // Kleiner als 25

if ($subtraktion < 26  // zwischen 26 und 32

if ($subtraktion < 33  // zwischen 33 und 41

if ($subtraktion < 42  // zwischen 42 und 50

if ($subtraktion > 50  // grösser als 50


Nun die Frage:
Wie bekomm ich die Errechneten Werte in die Farbliche Abstufung der Integer Variable?
Oder muss ich da die Ergebnisse der Berechnung Vergleichen, dann erst in die Integer Variable zuordnen?

Hallo,

schau Dir mal IPS_SetVariableProfileAssociation an.

Grüße, Gerhard

Das Ergebnis der Berechnung musst Du mit SetValue der Variable zuordnen.

OK, das zuordnen ist mir klar.
Bei der Belastungsklassen 1 ist es verständlich da alles was unter 25K ist dieser Zuordnung Art ist.

Aber bei Belastungsklasse 2 muss ich ja sagen alles was zwischen 32K und 36K ist, muss da rein?
Da weiß ich nicht wie ich da ansetzen soll?
SetValue…

Danke

Sorry … ich verstehe nicht, was Du erreichen willst.

Wenn Du der Variable eine 4 zuordnest (Belastungsklasse 5 in Deinem Variablenprofil), dann erscheint sie rot. Wenn Du einen 0 zuordnest (Belastungsklasse 1 in Deinem Variablenprofil), dann erscheint sie grün … und so weiter.

Möchtest Du in den if-Anweisungen evtl. die entsprechenden Werte der Variablen zuordnen?

gehts dadrum: ?

//Zuorden der Ererchneten Differenz

if ($subtraktion < 25) // Kleiner als 25
          SetValue($VariablenId, 1);
elseif ($subtraktion >= 25 && $subtraktion <33)  // zwischen 25 und 32
          SetValue($VariablenId, 2);
elseif ($subtraktion >= 33 && $subtraktion <42)  // zwischen 33 und 41
          SetValue($VariablenId, 3);
elseif ($subtraktion >= 42 && $subtraktion <51)  // zwischen 42 und 50
          SetValue($VariablenId, 4);
else //größer oder gleich 51
          SetValue($VariablenId, 5);


andere möglichkeit ist mit switch / case, einfach mal googlen.
Aufpassen, dass dir keine Wertebereiche fehlen.

// Kleiner als 25
// zwischen 26 und 32

da fehlt dir der Wert 25, ggf. die Wertebereiche in meinem Codeschnipsel oben anpassen.
Deine von mir kopierten kommentare passen nicht 100% zu meinen Anweisungen, ich hab aber nicht verstanden wie du es haben möchtest, was soll zutreffen bei einem Wert von 41,5 ? (im Moment „3“)

Hab ich dein Problem verstanden ?
Sonst bitte nochmal versuchen zu erklären, wie meine Vorposter schon sagten.

Gruß

Julian

Hallo Julian,

danke das hab ich gemeint.
Nur bin ich mir nicht sicher ob die Formel der Temperatur Differenz passt?

OAT ist Luft Eintritt Temperatur
IRT ist Verflüssiger Temperatur


$subtraktion = $OAT - $IRT;

Sagen wir die Luft „OAT“ wird mit -5 Grad Angesaugt, die „IRT“ hat +20 Grad. Ist eine Differenz von 25 Grad!
Dann muss ich das anders Berechnen? :confused:
Bzw. Negative Werte werden nicht in die Variable der Belastungsklassen 1 bis 5 eingetragen?

Beim Kühlen ist es dann genau Umgekrt, da ist der „OAT“ Wert höher als der „IRT“ Wert.

bringt dich

$subtraktion = abs($OAT - $IRT);

weiter ?

ansonsten, formuliere bitte mal richtige Fragen, das ist hier mehr raten.

Danke das hat mir weiter geholfen :slight_smile: