Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 12 von 16 ErsteErste ... 21011121314 ... LetzteLetzte
Ergebnis 111 bis 120 von 156

Thema: PHP + Siemens PLC

  1. #111
    Registriert seit
    09.04.2014
    Beiträge
    18
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Ich habe mal einen kleinen Zusatz für die s7plc-Klasse programmiert, nach dem Schema was ich in #107 vorgeschlagen hatte.

    Für die Konfiguration gibt es drei CSV-Dateien:
    1) Stationskonfiguration mit Name, Ip-Adresse, Rack und Slot
    2) Blockkonfiguration: Das sind die Blöcke die aus der SPS gelesen werden sollen. Ein Block kann maximal 222 Bytes groß sein
    3) Tagliste: Hier werden die symbolschen Tagnamen aufgelistet. Die Adressen beziehen sich auf die Offsets der Blockkonfiguration

    Bei einer Anfrage werden alle Tags der Tagliste abgefragt und die Daten als json-Datensatz zurückgegeben.
    Schreiben funktioniert ebenfalls über json-Datensatz.

    In der Demo gibt es eine Testseite in der alle konfigurierten Tags abgefragt werden und die Daten in einer Tabelle aufgelistet werden. Es können auch in der Tabelle Werte geschrieben werden.

    Benötigt man nur eine einfache Liste um sich ein paar Werte anzusehen oder einzustellen, muss nur noch parametriert werden, d.h. die Einträge in den csv-Dateien anpassen.

    Wenn man sich auf seinem Android-Gerät einen Webserver installiert (gibts als App), kann man das Ganze direkt auf seinem Smartfon/Tablet etc. laufen lassen.

    Für Bavilo ist auch eine Bit-Auslese Funktion enthalten

    Das Programm ist nur als - wenn auch funktionsfähiges - Beispiel zu verstehen! Die Verwendung erfolgt auf eigene Gefahr!

    Anhang 24091

    Was soll den Qualität darstellen?

  2. #112
    Registriert seit
    29.03.2004
    Beiträge
    5.172
    Danke
    129
    Erhielt 1.506 Danke für 1.107 Beiträge

    Standard

    Zitat Zitat von Bavilo Beitrag anzeigen
    Was soll den Qualität darstellen?
    Das ist die Signalqualität in Anlehnung an den Quality Code von OPC. Wenn die Daten aus der SPS nicht gelesen werden konnten ist der Signalzustand BAD, wenn gelesen werden konnte dann GOOD. Bei OPC ist der Zustand ein 16-Bit Wert in dem noch mehr Zustände einmaskiert werden können, ich habs der einfachheit halber auf zeri Test-Werte beschränkt. Den Wert könnte man z.B. nutzen um einen Ausgabewert bei ungültigem Zustand entsprechend zu kennzeichen. Sonst hättest du ja keine Möglichkeit zu sehen, ob der Wert 0 oder false ein gültiger Wert ist oder nicht.

  3. Folgender Benutzer sagt Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    simplicisimus (26.05.2014)

  4. #113
    Registriert seit
    09.04.2014
    Beiträge
    18
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Achso!

    Gut ich muss sagen das ich nicht wie wahrscheinlich die meisten hier, recht wenig mit intensiver Programmierung von SPSen zu tun habe. Während meiner Ausbildung musste ich zwar mit S5 und S7 Programmieren aber das was ihr macht, werde ich im Leben nicht machen müssen. Da ich aber günstig an die S7 Steuerungen ran komme möchte ich diese für eine zukünftige Hausautomation einsetzen. Da muss ich keine komplexen Werte auslesen

    Aber trotzdem hat mir deine Lib viel viel weiter geholfen!

  5. #114
    Registriert seit
    07.03.2014
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Was ist mit der Ausgabe von JSON über PHP?

  6. #115
    Registriert seit
    30.08.2007
    Beiträge
    207
    Danke
    16
    Erhielt 22 Danke für 17 Beiträge

    Ausrufezeichen

    Hallo miteinander.

    Sorry, dass ich diesen Thread wieder nach oben schiebe, aber ich möchte auch gerne den Code von Thomas_v2.1 aus dem Posting #110 -> PHP + Siemens PLC <- ausprobieren.
    Es gelingt mir leider nicht, da ein "JSON-Fehler" vorliegt. Im Firefox 35.0.1 meldet Firebug folgenden Fehler:

    Code:
    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
    
    var data = JSON.parse(xmlhttp.responseText);
    -----------^
    Sogar meinen Internet-Explorer 11 habe ich aus dem Tiefschlaf geholt, aber auch dieser zeigt kein anderes Verhalten.
    Die CSV-Dateien habe ich meinen Bedürfnissen angepasst, also IP-Adresse und Datenbereiche.
    Ich besitze eine CPU315F-2PN/PD und habe keinen extra CP gesteckt.

    Weiß jemand, wie man diesen Fehler bereinigt?

    Gruß,
    poppycock
    Mit einem Computer löst man die Probleme, die man ohne einen Computer nicht hätte.
    Zitieren Zitieren JSON.parse: unexpected character  

  7. #116
    Registriert seit
    29.03.2004
    Beiträge
    5.172
    Danke
    129
    Erhielt 1.506 Danke für 1.107 Beiträge

    Standard

    Überprüfe mal was für Daten per Json zurückkommen. In Firebug kannst du das im Reiter "Konsole" sehen. Wenn du die Seite aktualisierst gibt es nach dem ersten Aufruf ein GET ... getTagConfig.
    Da schaust du rein was dort für Daten enthalten sind.

  8. #117
    Registriert seit
    30.08.2007
    Beiträge
    207
    Danke
    16
    Erhielt 22 Danke für 17 Beiträge

    Standard

    Hallo Thomas_v2.1,

    guter Tipp!
    Ich habe wohl einen Socket-Fehler, denn ich bekomme die Meldung:
    Code:
    "<br /> <b>Fatal error</b>: Call to undefined function socket_create() in <b>s7plc.php</b> on line <b>115</b><br /> "
    Liegt das vielleicht an meinem PHP-Webserver "QuickPHP", der als Portable-Version läuft?!
    Vielleicht kann dieser Webserver nicht mit Sockets umgehen...

    Gruß,
    poppycock
    Mit einem Computer löst man die Probleme, die man ohne einen Computer nicht hätte.

  9. #118
    Registriert seit
    30.08.2007
    Beiträge
    207
    Danke
    16
    Erhielt 22 Danke für 17 Beiträge

    Daumen hoch

    Hallo nochmal,

    ja, es lag an QuickPHP.

    Hab gerade deine Dateien auf einen "richtigen" Webserver geladen, damit funktioniert es!
    Vielen Dank für deine Programmierung der Webseiten.

    Mal schauen, was alles damit möglich ist!

    Gruß,
    poppycock
    Mit einem Computer löst man die Probleme, die man ohne einen Computer nicht hätte.
    Zitieren Zitieren Funktioniert doch!  

  10. #119
    Registriert seit
    29.03.2004
    Beiträge
    5.172
    Danke
    129
    Erhielt 1.506 Danke für 1.107 Beiträge

    Standard

    Ansonsten hättest du auch Server2Go verwenden können. Dieses lässt sich auch ohne Installation und Einrichtung starten, und das Projekt hier funktioniert damit auf jeden Fall. Damit teste ich meistens.

  11. #120
    Registriert seit
    08.08.2011
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Habe das gleiche Problem.
    ich bekomme den Fehler:
    Warning: socket_read() [function.socket-read]: unable to read from socket [0]: Ein nicht blockierender Socketvorgang konnte nicht sofort ausgeführt werden.
    in C:\webroot\S7\s7plc.php on line 193

    Ich verwende Apache 2.0 und PHP 5.0.5. Die Extension "php_sockets.php" habe ich aktiviert und trotzdem bekomme ich immer wieder diese Meldung. Verwendet wird eine SPS7 CPU 400 auf Rack 0 Slot 3. Datenbaustein 4 mit DW 8
    Im Script selbst habe ich folgendes hinterlegt:
    $PLC_IP="10.39.1.18";// IP-Adresse der SPS
    $Db_num_ints=4;// Datenbausteinnummer eines DBs mit Integer-Werten
    $Anz_ints=6;// Anzahl der Integes-Werte
    $Db_num_reals=8;// Datenbausteinnummer eines DBs mit Real-Werten
    $Anz_reals=6;// Anzahl der Real-Werten
    $plc=newS7PLC("S7400",$PLC_IP,0,3,"TestPLC");

    Habt Ihr einen Vorschlag für mich?
    Danke schonmal.


Ähnliche Themen

  1. Antworten: 17
    Letzter Beitrag: 18.11.2010, 16:36

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •