Hallo,
leider erkennten nur die Schreibbefehle „S7_Write*“ bzw. eben der Lesebefehl „S7_RequestRead“ das etwas mit der Verbindung zur S7 nicht in Ordnung ist !!
… obwohl eigentlich permamant „Hinweismeldungen“ im Logging auftauchen z…B.: „Timeout, waiting for PLC response“ ==> hat man keine Möglichkeit das über das Eventhandling abzufangen und somit auch keine Möglichkeit selbst darauf zu reagieren
Ich sehe daher nur die einizige Möglichkeit, das zyklische lesen der S7-Instanzen (POLLING) über eine Script „SELBST“ zu machen, denn dann hat man die Möglichkeit eben auf Fehler zu reagieren !!
Habe dazu mal eine Funktion gemacht die das auslesen und wenn nötig eine RECONNECT durchführt, d.h. eben an den S7-Instanzen das POOLING auf 0 stellen und in einen eigenen Script mit Hilfe eines zyklischen Ereignis das auslesen durchführen
==> ein weiterer Vorteil ist durch das „selbst Auslesen“ das man ein sauberes Prozessabbild der S7 auf IPS-Seite hat
<?
include_once ('./common_function.php');
include_once ('./s7_function.php');
//Muster auslesen von Einzelinstanzen mit RECCONECT
$ret = Read_S7_Instance(33566 , 1);
if ($ret >= 1)
{
echo "Es ist der Fehler " . $ret . "beim lesen der S7-Instanz aufgetreten";
}
//Muster auslesen aller S7-Instanzen
//0 = Alle S7-Instanzen auf Scriptebene = IPS_GetObject($_IPS['SELF'])['ParentID']
//11 = Reconnect auf erste Instanz mit einen Versuch
$ret = Read_ALL_S7_Instance_of_Level(0,11);
if ($ret >= 1)
{
echo "Es ist mindestens ein Fehler beim lesen der S7-Instanzem aufgetreten (" . $ret .")";
}
?>
P.S. Ich selbst benutze ja sowieso das ganze mit nur „einer S7-Addressinstanz“ und konfiguriere diese immer beim auslesen „ON THE FLY“ um und funktioniert schon seit Jahren quasi fehlerfrei (habe nie Probleme mit Reconnect)
- Warum kann man die Hinweismeldungen nirgends im Eventhandling abfangen / mitbekommen
- wenn an der Verbindungsinstanz „DeltaLogic Netlink Pro“ eingestellt ist, kann der DIENST nicht mehr beendet werden
- im Build #3751, erscheinen bei Verbindungsinstanzen die nicht aktiv sind keine GRAUEN RUFZEICHEN mehr
Hänge mal hier alle meine S7-Scripts an, sollte es zu verständnissproblemen kommen einfach melden
tgusi74
S7_SCRIPTS.zip (242 KB)