Liebe Community,
mich treibt gerade ein Thema um und ich möchte euch gerne um Hilfe bitten:
Ich nutze seit längerem einen Rutenbeck TCR IP4, unter anderem um einen Temperatursensor auszulesen. Das ganze klappt auch wunderbar - alle Schaltausgänge können geschalten werden, der Temperaturausgang kann ausgelesen werden. Ich nutze insgesamt 2 TCR IP4, wobei das 2. Gerät keinen Temperatursensor hat und damit nur per „send“ angesprochen wird. Nun habe ich an das 2. Gerät ebenfalls einen Temperatursensor angeschlossen und möchte nach „Schema F“ auch von dort den Temperaturwert auslesen --> Leider bekomme ich keine Rückmeldung vom Gerät. Geräteseitig schließe ich einen Defekt aus - konfiguriere ich das Gerät 2 wie Gerät 1 funktioniert das Auslesen der Temperatur.
Konfiguration UDP Socket 1 (nicht irreführen lassen - das ist das Gerät, bei dem die Abfrage NICHT funktioniert)
Konfiguration UDP Socket 2 (hier funktioniert die Abfrage)
Temperaturabfrage Gerät 1 (das ist das Gerät, bei dem die Abfrage NICHT funktioniert)
Temperaturabfrage Gerät 2 (hier funktioniert die Abfrage)
Abfrage Gerät 1 (das ist das Gerät, bei dem die Abfrage NICHT funktioniert)
<?
USCK_SendText(17754, "T ?");
?>
Abfrage Gerät 2 (hier funktioniert die Abfrage)
<?
USCK_SendText(16947, "T ?");
?>
Empfang Gerät 1 (das ist das Gerät, bei dem die Abfrage NICHT funktioniert)
<?
if ($_IPS['SENDER'] == "RegisterVariable")
{
$data = RegVar_GetBuffer($_IPS['INSTANCE']);
// neu empfangene Daten an $data anhängen
$data .= $_IPS['VALUE'];
//wenn das Trennzeichen ; in $data gefunden worden ist
if (strpos($data, '='))
{
// $data in durch = separierte Datensätze zerlegen
$datasets = explode('=', $data);
// $data auf den Inhalt des letzten (unvollständigen) Datensatzes setzen
$data = $datasets[count($datasets) - 1];
}
// Inhalt von $data im Puffer der RegisterVariable-Instanz speichern
RegVar_SetBuffer($_IPS['INSTANCE'], $data);
SetValueFloat(53436, floatval($data));
}
?>
Empfang Gerät 2 (hier funktioniert die Abfrage)
<?
if ($_IPS['SENDER'] == "RegisterVariable")
{
$data = RegVar_GetBuffer($_IPS['INSTANCE']);
// neu empfangene Daten an $data anhängen
$data .= $_IPS['VALUE'];
//wenn das Trennzeichen ; in $data gefunden worden ist
if (strpos($data, '='))
{
// $data in durch = separierte Datensätze zerlegen
$datasets = explode('=', $data);
// $data auf den Inhalt des letzten (unvollständigen) Datensatzes setzen
$data = $datasets[count($datasets) - 1];
}
// Inhalt von $data im Puffer der RegisterVariable-Instanz speichern
RegVar_SetBuffer($_IPS['INSTANCE'], $data);
SetValueFloat(47502, floatval($data));
}
?>
Konfiguration TRCIP4 - Gerät 1 (das ist das Gerät, bei dem die Abfrage NICHT funktioniert)
Konfiguration TTCIP4 - Gerät 2 (hier funktioniert die Abfrage)
Hat jemand eine Idee, wo der Fehler liegen könnte?
Danke für eure Hilfe, VG Olaf