Seite 1 von 1

#1 IPS und Regler

Verfasst: So 1. Mai 2016, 20:22
von Thomas
Hi,

mich hat die Anzeige in IPS bei einem gesperrten Regler gestört, da her mal q&d zwei Skripte für Temperatur ! :

Code: Alles auswählen

<?
// Skript Name ist : "Reglersperre"
$regler1_ID =14059 /*[LCN-Module\018-ix Trockner\Values (0, 18)\Feuchte soll R2]*/ ;
$regler1 = GetValueFloat($regler1_ID);

if ($regler1 >= 3276.8){
      $reg1 =$regler1- 3276.8;
        $id = CreateVariableByName($_IPS['SELF'], "Regler1", 2);
      SetValue($id, $reg1);
        $id = CreateVariableByName($_IPS['SELF'], "Regler", 0);
      SetValue($id, 1);
//      print_r ($reg1);
} else {
      $reg1 =$regler1;
        $id = CreateVariableByName($_IPS['SELF'], "Regler1", 2);
      SetValue($id, $regler1);
        $id = CreateVariableByName($_IPS['SELF'], "Regler", 0);
      SetValue($id, 0);
}

function CreateVariableByName($id, $name, $type)
{
   $vid = @IPS_GetVariableIDByName($name, $id);
   if($vid===false) {
      $vid = IPS_CreateVariable($type);
      IPS_SetParent($vid, $id);
      IPS_SetName($vid, $name);
   }
   return $vid;
}
?>


und über eine eigene VAR per aktion setzen :

Code: Alles auswählen

<?
// Skript Name ist : "Reglersperre" , Skript "Reglersperre"  muss unter dem gleichen Baum liegen
$id = IPS_GetParent($_IPS['SELF']);
$id1= IPS_GetObjectIDByName("Reglersperre", $id);
$soll_id = IPS_GetObjectIDByName('Regler1', $id1);
$soll = GetValueFloat($soll_id );
LCN_SetTargetValue(25647 /*[LCN-Module\018-ix Trockner\Values (0, 18)]*/, 1, $soll);
?>


Dmit wir auch eine VAR erzeugt, den den Regler als gesperrt oder nicht gesperrt anzeigt.

Schnellschuss, ID's müsst Ihr anpassen.

#2 Re: IPS und Regler

Verfasst: Di 3. Mai 2016, 09:57
von Uwe
3276.8

Das funzt nicht immer mit genau diesem Wert! Der ist bei anderen FW auch mal anders ... aber immer über 3000.
Das Skript, was bei mir dazu werkelt, wertet das einfach entsprechend aus.

Grüße, Uwe

#3 Re: IPS und Regler

Verfasst: Mi 4. Mai 2016, 20:27
von Thomas

Code: Alles auswählen

If ($regler1 >= 3276.8){

ist für für ein 14er Modul, andere habe ich nicht probiert, aber da könnt Ihr ja selbst eingreifen. :| Und die Werte mal preis geben.