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

Seite 8 von 17 ErsteErste ... 678910 ... LetzteLetzte
Ergebnis 71 bis 80 von 169

Thema: PHP + Siemens PLC

  1. #71
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Jochen...
    ähmm Wireshark???

    Ich schau mal was das ist und ob ich gebacken bekomme

  2. #72
    Registriert seit
    29.03.2004
    Beiträge
    5.366
    Danke
    134
    Erhielt 1.585 Danke für 1.157 Beiträge

    Standard

    Zitat Zitat von mike_roh_soft Beitrag anzeigen
    EDIT: Ich rufe s7plc_test_simple.php auf! Wenn ich Merker lese passiert das gleiche wie beim DB-lesen. Die Änderung von dir am Script bezieht sich doch auf das Schreiben WriteBytes(), nicht wahr? Ich versuche ja erstmal nur zu lesen...
    Ja, irgendwie hatte ich die Korrekturen nur bei WriteBytes eingebaut, warum auch immer. Musste natürlich in allen 3 Funktionen angepasst werden.
    Eigentlich habe ich auch gar keine Zeit und Lust den Code weiter zu supporten. Das Programm ist nun wirklich sehr überschaubar, da kann man auch selber einen Blick reinwerfen.

    Des weiteren kannst du mit getS16At() auch nur Daten aus dem Puffer lesen wenn du auch mindestens 2 Byte gelesen hast. Du liest aber 1 Byte aus der SPS und willst 2 Bytes lesen, das geht nicht.
    Angehängte Dateien Angehängte Dateien

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

    mike_roh_soft (09.03.2011)

  4. #73
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Hi Thomas,
    ich hab mir den Code schon etwas angesehen aber die ganzen x01/x02 etc. schrecken mich total ab... davon verstehe ich leider nichts!

    Ich kann dich verstehen, dass du da keine Lust mehr hast... ich versuche morgen nochmal mein Glück und wenns mich so interessiert werde ich es auch noch selbst herausbekommen wie es geht
    Frage mich nur wieso es bei den Anderen funktioniert hat?

    Danke vielmals!

    Mike

  5. #74
    Registriert seit
    29.03.2004
    Beiträge
    5.366
    Danke
    134
    Erhielt 1.585 Danke für 1.157 Beiträge

    Standard

    Zitat Zitat von mike_roh_soft Beitrag anzeigen
    Frage mich nur wieso es bei den Anderen funktioniert hat?
    Weil ich diese "Ausnahme" (und damit auch den Fehler) für die WinAC erst in einer späteren Version eingebaut habe. Ich hatte mal nur diese SPS zum testen da, und die schickt diese etwas seltsamen Pakete.

  6. #75
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard


    D.h. wenn ich ne alte Version genommen hätte, hätte ich dich nicht nerven müssen?

  7. #76
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Es funktioniert
    Leider kommt mir jetzt was dazwischen und ich kann nicht weiter machen...
    Aber grundsätzlich geht´s und ich kann ruhig schlafen

    Danke Thomas!!

  8. #77
    Registriert seit
    06.06.2008
    Beiträge
    191
    Danke
    8
    Erhielt 11 Danke für 7 Beiträge

    Standard

    Hi zusammen,

    ich habe mal etwas Zeit investiert und das PHP-Script von Thomas in eine Website (localhost/XAAMP/PLCSIM/NETTOPLC/FIREFOX) eingebaut.
    Die Daten werden zyklisch mit AJAX in die Seite geladen damit man keine unschönen Aktualisierungsefekte wie bei F5 oder so hat.

    http://img690.imageshack.us/img690/9642/j50.mp4

    Die Aktualisierungszeit des AJAX beträgt 500ms ... wie lange der Server braucht um die Daten zu liefern weiß ich noch nicht... sieht aber so aus als hätte ich im worstcase mehr als 1Sek.

    Ich versuche demnächst das ganze insichtlich Aktualisierungszeit zu optimieren. Keine Ahnung welche Zeiten da möglich sind!
    Sollte es nicht unter 500ms gehen, wird das ganze wohl nur zu Visu-Zwecken wie Statistiken einsetzbar sein und nicht zum Bedienen.

    Außerdem muss ich erstmal das PHP-Script von Thomas verstehen (wie kann man da einzelne bits lesen?) Thomas gibt es da evtl. was zum nachlesen?

    Gruß Mike

  9. #78
    Registriert seit
    29.03.2004
    Beiträge
    5.366
    Danke
    134
    Erhielt 1.585 Danke für 1.157 Beiträge

    Standard

    Zitat Zitat von mike_roh_soft Beitrag anzeigen
    Die Aktualisierungszeit des AJAX beträgt 500ms ... wie lange der Server braucht um die Daten zu liefern weiß ich noch nicht... sieht aber so aus als hätte ich im worstcase mehr als 1Sek.

    Ich versuche demnächst das ganze insichtlich Aktualisierungszeit zu optimieren. Keine Ahnung welche Zeiten da möglich sind!
    Sollte es nicht unter 500ms gehen, wird das ganze wohl nur zu Visu-Zwecken wie Statistiken einsetzbar sein und nicht zum Bedienen.

    Außerdem muss ich erstmal das PHP-Script von Thomas verstehen (wie kann man da einzelne bits lesen?) Thomas gibt es da evtl. was zum nachlesen?
    Hallo,
    um einzelne Bits zu lesen musst du aus einem gelesenen Byte das entsprechende Bit ausmaskieren. Am einfachsten machst du dir eine eigene ReadBit Methode welche Readbyte aufruft und das entsprechende Bit ausmaskiert. Es gibt zwar im S7-Protokoll extra Funktionen um einzelne Bits zu lesen, aber das Lesen eines einzelnen Bits "kostet" (im Sinne von Bandbreite und Zeit) genausoviel wie das Lesen eines ganzen Bytes.

    Bei der Performance gibt es ein grundsätzliches Problem wenn du das Skript auf einem Webserver laufen lässt, weil es bei jeder neuen Anfrage erst die Verbindung zu SPS aufbauen muss (TCP Connect, S7 Verbindungsaufbau) und dann erst Daten lesen kann.
    Eigentlich würde es reichen die Verbindung nur einmalig zu öffnen und dann offen zu halten, dann geht das Lesen wesentlich schneller vonstatten.

    Vielleicht ist es ja doch irgendwie möglich im Kontext des Webservers quasi einen Hintergrunddienst laufen zu lassen. Wenn das möglich ist, würde ich nämlich folgendermaßen vorgehen:
    Auf dem Webserver liegt eine Konfigurationsdatei für den S7-Server, mit den Daten Name, Datentyp, Adresse, Pollrate.
    Z.B.
    Messwert_1, REAL, DB1.DBD0, 1s

    Der Server baut dann einmalig die Verbindung zur SPS auf und pollt im entsprechenden Zyklus die Daten und legt sie in einem internen Speicher ab.

    Wenn dann ein XML Request z:b. für die Variable "Messwert_1" kommt, gibt der Server die Daten aus dem internen Speicher zurück (evtl. noch mit einem Statuswert). So kommen die Daten ohne große Wartezeit zurück.
    Vom Prinzip her also wie ein einfacher OPC-XML Server.

  10. #79
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.686
    Danke
    208
    Erhielt 413 Danke für 331 Beiträge

    Standard

    Ich denke man könnte auch versuchen auf Websocket (http://de.wikipedia.org/wiki/WebSocket) statts AJAX umzusteinen, für eine Visu. Das scheint ja dann doch zeitvorteile zu bringen! Inwieweit das von PHP unterstütz wird, kann Ich aber nicht sagen, und am Script von Thomas müsste dann bestimmt auch einiges gändert werden! Ab alle aktuellen Browser scheinen die ja schon zu unterstützen! (Sogar der IPhone Safari) (Ausser der IE (selbst in 9.0 noch nicht!), aber dafür gibts ja auch schon ne Lösung: https://github.com/gimite/web-socket-js)
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)
    Zitieren Zitieren Websockets statts AJAX  

  11. #80
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.686
    Danke
    208
    Erhielt 413 Danke für 331 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Um ein Script im Hintergurund laufen zu lasse, sollte man mal hiermit spielen: http://php.net/manual/de/function.ignore-user-abort.php

    Und hier was zu Websockets und PHP: http://code.google.com/p/phpwebsocket/
    ---------------------------------------------
    Jochen Kühner
    http://jfk-solutions.de/ - Softwareentwicklung, Programmierung, ...
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    IPhoneS7 - Inbetriebnahme Tool fürs IPhone (VarTab, Baustein-, PLC-Status)

Ä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
  •