Willkommen auf unserer neuen Forenplattform für das Bus-Profi Forum

Neue Felder für die persönlichen Daten
Man kann jetzt seine öffentlich einsehbare Daten genau bestimmen. Details findet ihr in in diesem Beitrag.

Durch die neue Forensoftware und die Portierung der Daten konnten die Passwörter aus dem alten Forum nicht übernommen werden, bitte lassen Sie sich ein neues Passwort über die Passwort vergessen Funktion zusenden. Sollte es zu Problemen kommen kontaktieren Sie das Bus-Profi Team per E-Mail.

IPS und Regler

Board zu allgemeinen Fragen der Version 2.0 ff.
Benutzeravatar

Themenersteller
Thomas
Alleswisser
Alleswisser
Beiträge: 5730
Registriert: Mo 21. Apr 2008, 20:03
Hat sich bedankt: 19 Mal
Danksagung erhalten: 13 Mal

#1 IPS und Regler

Beitragvon Thomas » So 1. Mai 2016, 20:22

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.
lg Thomas

Benutzeravatar

Uwe
(†)
Beiträge: 14250
Registriert: So 26. Mai 2002, 23:10
Hat sich bedankt: 13 Mal
Danksagung erhalten: 56 Mal

#2 Re: IPS und Regler

Beitragvon Uwe » Di 3. Mai 2016, 09:57

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
----------------o00o----'(_)'----o00o---------------------

Benutzeravatar

Themenersteller
Thomas
Alleswisser
Alleswisser
Beiträge: 5730
Registriert: Mo 21. Apr 2008, 20:03
Hat sich bedankt: 19 Mal
Danksagung erhalten: 13 Mal

#3 Re: IPS und Regler

Beitragvon Thomas » Mi 4. Mai 2016, 20:27

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.
lg Thomas


Zurück zu „IP-Symcon 2.0 ff“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste