Hallo
Ich warte z.Z. darauf das für meine PV-Anlage die EDL21 Zähler kommen.
Ich habe schon mal einen optischen Tastkopf gebaut nach den
Daten von EHZ Zählern (nach DIN EN 62056-21) z. B. von Hager • Seite 2 • Photovoltaikforum
Die Spannungsversorgung der Schaltung beziehe ich über eine Diode vom Stecker
Pin7 = RTS.
Mit einem USB zu RS232 Konverter kann ich mit einem PHP-Script die Schnittstelle testen.
Wenn ich mit meiner Logitech Harmony 765 den Optokopf befeuere bekomme ich schon im PHP-Script eine Ausgabe.
Wenn ttyUSB0 geöfnet wird schaltet sofort RTS auf High, dann wird der Optokopf mit Spannung versorgt.
Nun wollte ich das mit einem Moxa nPort 5110 machen.
Moxa Einstellungen=
Baud rate = 9600
Dat bits = 8
Stop bits = 1
Parity = None
Flow control = None
FIFO = Enable
Bekomme aber den RTS nicht auf High wenn ich die Schnittstelle öffne.
Nur wenn ich auf der Schnittstelle schreibe geht RTS auf High.
Wie bekomme ich RTS auf High ?
Gruß NetFritz
Ich warte z.Z. darauf das für meine PV-Anlage die EDL21 Zähler kommen.
Ich habe schon mal einen optischen Tastkopf gebaut nach den
Daten von EHZ Zählern (nach DIN EN 62056-21) z. B. von Hager • Seite 2 • Photovoltaikforum
Die Spannungsversorgung der Schaltung beziehe ich über eine Diode vom Stecker
Pin7 = RTS.
Mit einem USB zu RS232 Konverter kann ich mit einem PHP-Script die Schnittstelle testen.
Wenn ich mit meiner Logitech Harmony 765 den Optokopf befeuere bekomme ich schon im PHP-Script eine Ausgabe.
Wenn ttyUSB0 geöfnet wird schaltet sofort RTS auf High, dann wird der Optokopf mit Spannung versorgt.
Code:
#!/usr/bin/php5 <?php error_reporting(E_ALL); # 05.2011 by NetFritz # test1.php zum testen der USB->RS232 Schnittstelle. # # # 9600baud , 8datebits , no parity , 1Stopbit exec('stty 9600 cs8 -parenb -cstopb -F /dev/ttyUSB0'); if (!($fp= fOpen("/dev/ttyUSB0", "r"))) { echo 'Anschluss konnte nicht geöffnet werden!!!'; }else{ # $string=chr(hexdec("80")); # fwrite ($fp, $string ); echo $fp; $out =""; while(1) # while(feof($fp)) { $out= fread($fp, 10); echo ">>" . $out . "\n"; } } fclose($fp); ?>
Moxa Einstellungen=
Baud rate = 9600
Dat bits = 8
Stop bits = 1
Parity = None
Flow control = None
FIFO = Enable
Bekomme aber den RTS nicht auf High wenn ich die Schnittstelle öffne.
Nur wenn ich auf der Schnittstelle schreibe geht RTS auf High.
Code:
#!/etc/php5/cli <?php # ------------------------------------- # holt vom SML Zaehler die Werte # # 05.2011 by NetFritz # ------------------------------------- # # # Endlosschleife while(1){ $fp = fsockopen("tcp://192.168.2.254", 4001, $errno, $errstr); # fwrite($fp, "1800"); # fwrite($fp, "\r\n"); while(!feof($fp)) { $content .= fgets($fp); echo "->" . $content . "\n"; } fclose($fp); // Verbindung beenden } ?>
Gruß NetFritz