Hallo allerseits,
was muss ich machen, um zu einer Instanz die physikalisch übergeordnete Instanz finden? Hintergrund der Frage: Beim Erzeugen einer Instanz vom Typ „ModBus RTU TCP“ entsteht automatisch eine übergeordnete „Client Socket“-Instanz, aber ich kann letztere nicht finden, um die Properties zu setzen. Sowohl IPS_GetParent() als auch IPS_GetInstanceParentID() liefern 0 zurück. In der physikalischen Baumansicht sind die Instanzen aber korrekt verknüpft.
Schöne Grüße
Ingo
Beispielcode:
$modbus = IPS_CreateInstance('{A5F663AB-C400-4FE5-B207-4D67CC030564}'); # ModBus RTU TCP
print("Instanz: $modbus
");
print("Logisch: " . IPS_GetParent($modbus) . "
");
print("Physikalisch: " . IPS_GetInstanceParentID($modbus) . "
");
$socket = IPS_CreateInstance('{3CFF0FD9-E306-41DB-9B5A-9D06D38576C3}'); # Client Socket
if (IPS_ConnectInstance($modbus, $socket))
print("Erfolgreich verbunden mit $socket
");
print("Logisch: " . IPS_GetParent($modbus) . "
");
print("Physikalisch: " . IPS_GetInstanceParentID($modbus) . "
");
liefert als Ergebnis:
Instanz: 55579
Logisch: 0
Physikalisch: 0
Erfolgreich verbunden mit 24273
Logisch: 0
Physikalisch: 0