Hallo zusammen,
da dies mein erstes „Unterstützungsgesuch“ ist, kurzer Background von mir:
ich habe derzeit eine WAGO 750-841 (standalone) zur Hausautomation im Einsatz (dazu kommen noch die normalen Fearture wie AGFEO-TK u. fli4l.de)
bei ips lese ich schon ein ganze Weile (seit ca. 1J) mit, da die Visu von WAGO (bzw. CodeSys) nicht doll ist (benötigt einen JAVA-Client).
Auf Grund der WAGO-Unterstützung u. 1-Wire habe mich für ips entschieden.
So weit - so gut …
Nun kommst - bevor ich mich an die WAGO traue (Verwendung von Merker etc.), dachte ich mir - schließe ich meine Temp-fühler (1-Wire Hygrosens per USB) als Startprojekt an.
Der oben genannte Thread plus Verlinkungen kommen mir sehr entgegen. Jedoch bekomme ich es einfach nicht zum fliegen
folgender Status: (gemaess der Anleitung oben)
1x I/O Instanz Comport
1x Splitter Instanz Cutter
1x RegisterVariable (ist das in meinem Falle „Tempwert_Sensor1“ ???)
Cutter mit Comport verbinden(Übergeordnete Instanz)den passenden Comport auswählen. Im Cutter Benutze Zeichen für Schnitte(Schnitte Benutzerdefiniert)
Links @, Rechts $ eintragen
RegisterVariable mit Cutter verbinden.
RegisterVariable dem Script zuweisen
Stand heute:
im Debugfenster von „Cutter_Tempsensoren“ sehe ich auch entsprechende Daten (jedoch bin ich mir nicht sicher - ob die korrekt aussehen …)
ein echo auf $IPS_VALUE ergibt 0 u.U. ist hier das Problem (weitere Suche nach der Methode von Cutter war für mich nicht erfolgreich - sorry)
konkrete Fragen:
- ist die Zuordnung im Objektbaum richtig (Anfängerfrage)?
- Sind die Daten im DEBUG-Fenster zur weiteren Verarbeitung korrekt?
- Was muss man tun, um die Daten auf die entsprechenden Variablen zu bekommen (gemaess Anleitung: mittels $IPS_VALUE, derzeit aber 0)
Vielen Dank schon im Voraus und eine spannende Zeit
<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File : Temp_Sensoren_Hygrosens.ips.php
Trigger : OnUpdate Tempwert_Sensor1
Interval :
*/
$buffer_temperatur1 = array();
$separator_temperatur1 = "V01";
// den "gecutteten" String von IPSYMCON "abholen"
echo $IPS_VALUE; // nur Testzwecke
$rs232bus = $IPS_VALUE;
// die zwei Byte hinter dem Separator (V01) "rausoperieren"
// ++++$buffer_temperatur1 = explode ($separator_temperatur1, $rs232bus, 2);
$buffer_temperatur1 = split ($separator_temperatur1, $rs232bus, 5);
$temperatur1 = $buffer_temperatur1[1];
SetValueString ("44974", $temperatur1); // nur Testzwecke
// jetzt Hex nach Float; damit Du es lesen kannst
$temperatur1 = (float) hexdec(substr ($temperatur1, 0, 4))/100;
// Export Variable nach IPSYMCON
SetValueFloat ("41986", $temperatur1);
?>