Shutter Control + Modbus und IPS_Sleep

Moin,

ich habe ein Problem und zwar ich habe das Shutter Script um ein Modbus Teil erweitert.

case "{CB197E50-273D-4535-8C91-BB35273E3CA5}": //Modbus Integer
switch($_IPS['DIRECTION'])
{
case SC_DIRECTION_STOP:
ModBus_WriteCoil($_IPS['INSTANCE'], false);
ModBus_WriteCoil($_IPS['INSTANCE2'], false);
break;
case SC_DIRECTION_UP:
ModBus_WriteCoil($_IPS['INSTANCE2'], false);
ModBus_WriteCoil($_IPS['INSTANCE'], true);
if($_IPS['DURATION'] > 0)
{
IPS_Sleep($_IPS['DURATION']);
ModBus_WriteCoil($_IPS['INSTANCE'], false);
}
break;
case SC_DIRECTION_DOWN:
ModBus_WriteCoil($_IPS['INSTANCE'], false);
ModBus_WriteCoil($_IPS['INSTANCE2'], true);
if($_IPS['DURATION'] > 0)
{
IPS_Sleep($_IPS['DURATION']);
ModBus_WriteCoil($_IPS['INSTANCE2'], false);
}
break;
}
break;

Nun jetzt habe ich ein Rollo was sehr langsam fährt und mit IPS Sleep macht ja nach 30sec einen fehler wegen der Überwachung.

Kann man evtl irgendwie einen Timer Starten? Kann mir jemand einen Tip geben?

Lars

Dazu müsstest du in der PHP.ini die Zeile „max_execution_time = xx“ editieren.
Bei dir steht da bestimmt 30 als Wert(xx Sekunden) drin.

Hi,

ich hätte dazu noch einen Tipp, den ich verstärkt praktiziere: statt global die Laufzeitgrenze nach oben zu setzen, mache ich das gezielt in den Skripts, die es wirklich brauchen:

ini_set('max_execution_time', 60);

=> setzt die max. Laufzeit für das eine Script auf 60sec

Hat aus meiner Sicht den Vorteil, dass man gezielt seine „Pappenheimer“ managed. Insbesondere dann, wenn wirklich mal eines der „normalen“ Scripts aus dem Ruder läuft. man muss dann nicht stundenlang warten.