Forum: PC-Programmierung PHP-Befehle zum Steuern von Voltcraft PSP 12010


von Hans M. (007schaefchen)


Lesenswert?

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.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Vermutlich soll das eine Hexadezimale Darstellung sein im "Example", 
probier mal
1
ser_writebyte(0xAB)
2
ser_writebyte(0x01)
3
ser_writebyte(0x00)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.