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

Ergebnis 1 bis 10 von 10

Thema: Bitmap per HTTP übertragen

  1. #1
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ist es möglich mit einer S7 ein Bitmap-File via HTTP an einen angeschlossenen Client zu übertragen?
    Stellt vielleicht sogar Siemens da schon fertige Bausteine (neben TCON, TSEND, etc.) für bereit?

    Oder ist das ganz und gar der falsche Weg und das sollte eher über einen PC gelöst werden?
    Als ich damals eine Kommunikation mit HTTP realisiert habe fand ich das Handling der im JSON-Format anfallenden Antworten schon sehr...naja bescheiden.

    Danke und Gruß
    TimeOUT
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110
    Zitieren Zitieren Bitmap per HTTP übertragen  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.406
    Danke
    392
    Erhielt 2.340 Danke für 1.947 Beiträge

    Standard

    Ich frage mal anders :
    Bist du denn sicher, dass du die Daten des Bitmap's in einem DB deiner SPS vorhalten möchtest (um sie übertragen zu können) ?
    Bedenke bitte : da kommen ganz schnell mal ein paar ganz viele Bytes zusammen ...
    Und dann : Wie kommen die Bitmap-Daten denn vorher in deine SPS rein ?

    Gruß
    Larry

  3. #3
    TimeOUT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hi Larry,

    Sicher bin ich mir überhaupt nicht. Ich wüsste im Grunde erstmal gar nicht, wie überhaupt das Vorgehen ausschaut.

    Ich habe auch gerade gesehen, dass das Bitmap als Binärdatei in das Gerät geschrieben werden muss. Dabei muss es als base64url String kodiert sein.
    Nur um es klar zustellen, ich möchte das nicht Umsetzen, ich will nur ein paar Infos einholen, ob es überhaupt praktikabel ist oder nicht. Meiner Meinung nach ist das mehr ein Thema für eine PC-Anwendung und nicht für eine Steuerung.

    Wie kommen die Bitmap-Daten denn vorher in deine SPS rein ?
    Eine sehr gute Frage!
    Soweit ich das verstanden habe, muss das Bitmap mit einem Tool zunächst in ein Binary-Format gebracht werden. Anschließend wird dies in einem HTTP Befehl (URI) an das Gerät übertragen.

    Gruß
    TimeOUT
    Geändert von TimeOUT (22.09.2016 um 11:04 Uhr)
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.016
    Danke
    511
    Erhielt 2.648 Danke für 1.910 Beiträge

    Standard

    Letzten Endes besteht diesen Bitmap in dem gewünschten Format nur aus X Bytes.
    Du kannst also so ein Bitmap mit einem Hexeditor öffnen die Bytes kopieren/abschreiben und in einen DB übertragen.
    Genau diese Bytes kannst du dann an die neuen Empfänger schicken. Dabei kann dir in der SPS egal sein, was das genau darstellt, nur die Bytefolge , die der Empfänger bekommt, muß passen.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.406
    Danke
    392
    Erhielt 2.340 Danke für 1.947 Beiträge

    Standard

    @Ralle:
    Das ist schon richtig, was du schreibst - wobei es Speichermäßig da ja ganz schnell Grenzen gibt ... egal welche CPU ...
    Ich sehe das allerdings auch eher so, wie der TE, dass nämlich dieses Thema in eine PC-Anwendung hinein gehört und nicht in eine SPS.

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.016
    Danke
    511
    Erhielt 2.648 Danke für 1.910 Beiträge

    Standard

    Na ja, wenn z.B. es um ein Logo für einen Etikettendrucker geht, kann man das durchaus so machen, das ist dann nicht so viel. Oder man hat das Logo bereits im Etkettendrucker. Hängt immer vom Drucker ab.
    Ansonsten hast du natürlich Recht.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    TimeOUT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also es handelt sich bei dem Bild um kein hoch aufgelöstes Format. Ganz im Gegenteil. Das Bitmap muss zunächst in ein Binary-file konvertiert werden, welches maximal 756Byte groß sein darf.
    Anschließend muss es in einen Base64Url String gewandelt werden, mit einer exakten Länge von 1008 Byte. Dies ist eine Aufgabe, die man ja zuvor am PC erledigen kann.

    Wenn ich mir anschließend, wie Ralle bereits erwähnt hat, die 1008 Byte in einem DB ablege und anschließend an den HTTP Befehl "anhänge" und übertrage sollte das klappen...hoffe ich
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110

  8. #8
    Registriert seit
    29.03.2004
    Beiträge
    5.367
    Danke
    134
    Erhielt 1.586 Danke für 1.158 Beiträge

    Standard

    Wenn das Bitmap statisch ist, warum soll es denn überhaupt von der SPS aus verschickt werden?

    Aber auch wenn es dynamisch sein soll ist das nicht so sehr aufwändig. Den fixen Teil würde ich dann am PC vorberechnen und in einem DB als Konstanten ablegen. Die Bitmap Daten als Byte Array in der SPS in einem DB ablegen, und dann musst du dir wohl oder übel eine Base64-Codierfunktion schreiben welche diese Daten vor der Übertragung entsprechend codiert. Das Hauptproblem dabei ist, dass du a) keine String-Funktionen verwenden kannst weil der String länger als 254 Zeichen wird, und b) außerdem die Stringfunktionen viel Laufzeit und Speicher kosten. Und evtl. musst du die Codierung auf mehrere Zyklen aufteilen, damit das restliche Programm nicht zu sehr beeinflusst wird.
    Die Genialität einer Konstruktion liegt in ihrer Einfachheit – Kompliziert bauen kann jeder.

    (Sergei Pawlowitsch Koroljow, sowjetischer Konstrukteur von Raketen und Weltraumpionier)

  9. #9
    TimeOUT ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.01.2012
    Beiträge
    125
    Danke
    28
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also die Vorverarbeitung (Bitmap --> Base64URL Binary -File) wird am PC gemacht.
    Anschließend öffne ich das fertige Binary-File mit einem passenden Editor und schreibe mir die Bytes (händisch) in einen DB (Vielleicht ein wenig mühsam, aber ich möchte jetzt nicht noch eine zusätzliche Funktion schreiben, mit der ich über SIMATIC hinaus mit Windows kommunizieren kann), dessen Inhalt ich anschließend an meinen HTTP-Befehl anhänge und an den Teilnehmer übertrage.

    Es soll von der SPS verschickt werden, weil diese Grafiken volatil im Teilnehmer gespeichert werden. Sprich: Bei einem Spannungsverlust muss die Grafik erst erneut an das Gerät übertragen werden.
    Software:
    STEP 7 5.5 + SP4 + HF6
    TIA Portal V13 SP1 Update 4
    TwinCAT V3.1
    Hardware:
    S7-400 CPU 414-3 PN/DP
    CPU 1516-3 PN/DP
    CX5020-0110

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.406
    Danke
    392
    Erhielt 2.340 Danke für 1.947 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ähh ... aber diese so aufbereiteten Daten kannst du doch dann auch z.B. via UDP an die SPS übertragen. Du mußt dann halt "nur" im SPS-Programm einen Baustein und ggf. einen anderen Port haben, der die Daten dann auf diesem Weg annimmt ...

    Du könntest in dem Fall dann sogar sicher stellen, dass etwas von PC hereingekommen ist, bevor du ggf. einen leeren DB-Inhalt an dein anderes Gerät weiter schickst ...

    Gruß
    Larry

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 01.06.2015, 11:53
  2. TIA Dateien per HTTP auf S7-1500 übertragen
    Von DiStra im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 12.08.2013, 13:49
  3. Bitmap in WinCC flexible
    Von visu90 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 27.06.2012, 16:57
  4. Bitmap in MoviconX (10.0) einfügen.
    Von mad_max im Forum HMI
    Antworten: 0
    Letzter Beitrag: 04.08.2008, 21:58
  5. Bitmap via Ethernet auf MP370 anzeigen
    Von Anonymous im Forum HMI
    Antworten: 4
    Letzter Beitrag: 23.09.2005, 16:07

Lesezeichen

Berechtigungen

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