Ich möchte ein Voltcraft PSP 12010 Netzgerät über die RS232
Schnittstelle fernsteuern und da ich dies auch gerne über eine Webseite
machen würde, will ich zum Kommunizieren PHP nutzen, um genau zu sein
die PHP Serial Extension von TheByteWorks.
Leider bekomme ich noch nicht zusammen, wie der Code genau aussehen
muss, obwohl beides eigentlich dokumentiert ist.
Die Dokumentation zur PHP Serial Extension hier:
http://www.thebyteworks.com/phpserial/php_ser_reference.html
und die Doku der Schnittstelle des Netzgerätes hier:
http://www.produktinfo.conrad.com/datenblaetter/500000-524999/512410-da-01-en-Schnittstellenprotokoll_PSP_12010.pdf
Eigentlich müssten ja mit dem Befehl ser_write("") (oder muss ich
ser_writebyte()nehmen?) entsprechend Daten via COM-Port geschickt werden
und der Code wiefolgt aussehen:
<?php
ser_open( "COM1", 2400, 8, "None", "1", "None" );
if (ser_isopen()) echo "Port is open!";
ser_write("AB0100H");
ser_close("COM1");
?>
Ich bekomme auch die Meldung, dass der Com Port offen ist, nur weiß ich
eben nicht, was ich in dne write Befehl reinschreiben muss.
Conrad dokumentiert wiefolgt:
Communication Frame
VSP series communicates in a fixed length frame. Each communication
frame has three
bytes. The first byte is the command followed by the two data bytes.
Frame remains three
bytes even if command does not have any data. Command formats are given
below.
2.Set Output Relay ON/OFF: (ABh) (S) (R)
This sets output voltage to given value
S 1: Set Relay to ON
0: Set Relay to OFF
R Reserved (Keep it to 0h)
Example: To set output relay ON command will be AB0100H.
Aber wenn ich den das Beispiel in den Write-Befehl schreibe, schaltet
das Gerät nicht auf on. Es bekommt aber offensichtlich etwas über die
Schnittstelle, da die manuelle Steuerung am Gerät selbst blockiert ist.
Hat jemand eine Idee, wie ich die Befehle schreiben muss, damit sie das
Gerät verarbeitet? Oder funktioniert das evtl. gar nicht mit der PHP
Serial Extension?
Vielen Dank für eure Hilfe.