Hallo,
mir ist heute aufgefallen das mein Script zum auslesen von S7 daten in der aktuellen Beta extrem langsam ist ,15-16Sec, in der Version 2.04 sind gerate mal 1sec (getestet).
Ich verwende die Scripte von tgusi74.
Hier der link zum Betrag.
Mein Aufruf sieht wiefolgt aus.
$S7_VAR_ID1s = "";
$S7_VAR_ID2s = "";
$S7_VAR_ID3s = "";
//Pfad der
include_once ('./common_function.php');
include_once ('./s7_function.php');
//index0 = VARIABLENBEZEICHNUNG in IPS
//index1.0 = TYP (0=bit, 1=byte, 2=word, 3=dword,
// 4=ShortInt, 5=SmallInt, 6=Integer, 7=Real)
//index1.1 = AREA (0=SystemInfo, 1=SystemFlags,
// 2=AnalogInput CPU200, 3=AnalogOutput CPU200,
// 4=Input, 5=Output, 6=Flags, 7=Datablock,
// 8=InstanzDaten, 9=LokaleDaten, 10=UnknownedArea
// 11=Zaehler, 12=Timer, 13=PEW/PAW)
//index1.2 = AREAADDRESS (Baustein)
//index1.3 = ADDRES (StartByte)
//index1.4 = BIT (Bit = wird nur bei TYP=0 verarbeitet)
//index1.5 = CONVERT-S7-Value vor schreiben auf die IPS-Variable
// (0=unverändert, 1=Dec2Hex, 2=Hex2Dec)
$S7_Instanz_ID =51877 /*[Float]*/ ;
$S7_Path = "SYSTEM/S7/EG/READS7/ROLLADENPOS";
$S7_VAR_ID1s = array("POS_KÜCHE1" =>array(7,7,26,20,0,0),
"POS_KÜCHE2" =>array(7,7,26,46,0,0),
"POS_ESSEN" =>array(7,7,26,72,0,0),
"POS_SCHLAFEN1" =>array(7,7,26,98,0,0),
"POS_SCHLAFEN2" =>array(7,7,26,124,0,0),
"POS_WOHNEN1" =>array(7,7,26,150,0,0),
"POS_WOHNEN2" =>array(7,7,26,176,0,0),
"POS_BAD" =>array(7,7,26,202,0,0));
$ret = S7_VAR_IDs_READ($S7_Instanz_ID,$S7_Path,$S7_VAR_ID1s);//ROLLADEN POSITIONEN
ECHO "ROLLADENPOS".$ret."
";
$S7_Instanz_ID =51877 /*[Float]*/ ;
$S7_Path = "SYSTEM/S7/EG/READS7/HEIZUNG";
$S7_VAR_ID2s = array("STELLGRAD_KÜCHE" =>array(7,7,23,12,0,0),
"STELLGRAD ESSEN" =>array(7,7,23,34,0,0),
"STELLGRAD_SCHLAFEN" =>array(7,7,23,56,0,0),
"STELLGRAD_WOHNEN" =>array(7,7,23,78,0,0),
"STELLGRAD_FLUR" =>array(7,7,23,100,0,0));
$ret = S7_VAR_IDs_READ($S7_Instanz_ID,$S7_Path,$S7_VAR_ID2s);//STELLGRAD HEIZUNGEN
ECHO "STELLGRAD".$ret."
";
$S7_Instanz_ID =22579 /*[BYTE]*/ ;
$S7_Path = "SYSTEM/S7/EG/READS7/BYTE";
$S7_VAR_ID3s = array("FENSTER EG" =>array(1,4,0,40,0,0),
"VENTILE EG" =>array(1,5,0,49,0,0));
$ret = S7_VAR_IDs_READ($S7_Instanz_ID,$S7_Path,$S7_VAR_ID3s);//KOMPLETTE BYTES
ECHO "BYTE".$ret."
";
Frage: hatt sich in der Beta da irgendwas geändert das es so langsam geworden ist?
Und was muss ändern das es wieder passt?
Mfg
MichelH
@tgusi74
Hast du auch dieses Problem?