ich habe heute mal "Systeminterne Programme einblenden" lassen und ein Programm "TimerScript for pocket control" gefunden.
Code: Alles auswählen
integer aktTag = system.Date("%w").ToInteger();
integer aktStu = system.Date("%H").ToInteger();
integer aktMin = system.Date("%M").ToInteger();
boolean isFT = false;
boolean mitFT = false;
string tage;
string zeit;
boolean tag;
string fts;
string wert;
var sysVar;
var dp;
string zeile;
string timerprog;
integer sl;
string aktAdresse = "";
boolean bb1;
var sysVarFT = dom.GetObject("Feiertag");
if (sysVarFT) {
if (sysVarFT.IsTypeOf(OT_VARDP)) {
isFT = (sysVarFT.Variable() <> 0);
mitFT = true;
}
}
var sysVars = dom.GetObject(ID_SYSTEM_VARIABLES);
string svid;
foreach(svid, sysVars.EnumUsedIDs())
{
sysVar = dom.GetObject(svid);
if (sysVar.Name().Substr(0,7) == "Timer>>")
{
timerprog = sysVar.Variable();
foreach(zeile, timerprog.Split(";"))
{
if (zeile.Substr(0,1) == "*") {
sl = zeile.Length();
aktAdresse = zeile.Substr(1,sl-1);
} else {
tage = zeile.StrValueByIndex(",", 0);
zeit = zeile.StrValueByIndex(",", 1);
tag = (tage.Substr(aktTag,1) == "1");
fts = tage.Substr(7,1);
if ((aktStu == zeit.StrValueByIndex(":", 0).ToInteger()) && (aktMin == zeit.StrValueByIndex(":", 1).ToInteger())) {
if (mitFT && fts <> "0") {
if (fts == "J") {
bb1 = isFT || tag;
} else {
if (tag) {
bb1 = ! isFT;
} else {
bb1 = false;
}
}
} else {
bb1 = tag;
}
if (bb1) {
wert = zeile.StrValueByIndex(",", 2);
dp = dom.GetObject(aktAdresse);
if (dp) {var x = dp.State(wert);}
}
}
}
}
}
}
Weiß jemand warum das Script dort drin ist und ob es überhaupt für Pocket Control genutzt wird?
Vor allem muss es die CCU unnötig belasten und alle 30 Sekunden laufen?
Ich habe es mal deaktiviert, und Pocket Control läuft einwandfrei
Grüße,
-- Udo