Anlagen von Variablen via Script

Hallo Zusammen,

ich habe nun das erste mal versucht, meine benötigten Variablen, Instanzen etc. via Script zu erstellen, damit ich nicht für jede Variable mich durch die Menues klicken muss.

habe nun folgendes geschrieben :

//function createS7Instance($intGroup, $intParent, $strName)
$name="Workout-Area_temp";
$Area=7;
$AreaAdress=102;
$Adress=32;
$bit=0;
{
    // Instanz erzeugen (Parameter: ModulID)
   $intInst=IPS_CreateInstance("{932076B1-B18E-4AB6-AB6D-275ED30B62DB}");

    // Erzeugte Instanz öffnen und weitere Werte setzen
    $objInst=IPS_GetInstance($intInst);

    // Allgemeine Parameter
    // Name der Instanz  (aus den Übergabeparametern der Funktionn)
    IPS_SetName($intInst,($name));
    S7_SetType($intInst,7);
    S7_SetArea($intInst, $Area);
    S7_SetAreaAddress($intInst, $AreaAdress);
    S7_SetAddress($intInst, $Adress);
    S7_SetPoller($intInst, 1000);
$variable=IPS_GetStatusVariableID($intInst, "value");
}

Settype($variable,"float");
IPS_ApplyChanges($intInst);

$variable=IPS_GetStatusVariableID($intInst, "value");
IPS_SetVariableCustomProfile($variable, "temperatur");


Das klappt nun alles auch recht fein, leider finde ich keine Möglichkeit, das Datenlogging via Script-Befehl einzuschalten.
Hat hier jemand einen Tipp für mich ?

Vielen Dank
bastelfrosch

//function createS7Instance($intGroup, $intParent, $strName)
$name="Workout-Area_temp";
$Area=7;
$AreaAdress=102;
$Adress=32;
$bit=0;
{
if
// Instanz erzeugen (Parameter: ModulID)
$intInst=IPS_CreateInstance("{932076B1-B18E-4AB6-AB6D-275ED30B62DB}");

// Erzeugte Instanz öffnen und weitere Werte setzen
$objInst=IPS_GetInstance($intInst);

// Allgemeine Parameter
// Name der Instanz (aus den Übergabeparametern der Funktionn)
IPS_SetName($intInst,($name));
S7_SetType($intInst,7);
S7_SetArea($intInst, $Area);
S7_SetAreaAddress($intInst, $AreaAdress);
S7_SetAddress($intInst, $Adress);
S7_SetPoller($intInst, 1000);
$variable=IPS_GetStatusVariableID($intInst, "value");
}
//IPS_SetVariableProfileDigits("ccitemp", 2);
Settype($variable,"float");
IPS_ApplyChanges($intInst);

$variable=IPS_GetStatusVariableID($intInst, "value");
IPS_SetVariableCustomProfile($variable, "temperatur");

Das nächstemal SO. Danke

Versuchs mal mit:

AC_SetLoggingStatus ($InstanceID, $VariableID, $Active)

Viele Grüße
Roland

Vielen Dank, das wars,
Ich habe zwei Tage in der Doku gesucht, habe aber immer nach Variabeln gesucht. Das ich das es direkt mit dem ArchivHandler zu tun hat und dieser direkt geschrieben werden muss, war mir vollkommen unklar.

Danach habe ich auch den Treat gefunden, wo Paresy schreibt, das es noch mit IPS_APPLYCHANGES gespeichert werden muss.

ist halt noch gar nicht meine Welt…

bastelfrosch