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

Ergebnis 1 bis 4 von 4

Thema: WagoLibHttp_02, http get dereferenzierung mit cfc

  1. #1
    Registriert seit
    07.07.2011
    Ort
    Schrobenhausen/Schiefling
    Beiträge
    228
    Danke
    36
    Erhielt 29 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi all,
    ich versuche mich erstmalig an http-get auf Basis des Wago-Anwendungshinweises: "Using library ”WagoLibHttp_02.lib” to communicate with remote web server.
    Ziel ist es, eine Netzsteckdose per cgi zu schalten und eine Statusrückmeldung auszuwerten.
    Die Schalung funktioniert aber ich habe noch Probleme mit der Auswertungsseite/Rückmeldung vom Funktionsbaustein HTTP-GET.
    Ich arbeite mit CFC und so sieht mein Programm aus:
    ScreenShot009.jpg
    online sieht das dann so aus:
    ScreenShot008.jpg
    Frage 1: Wie kann ich die Dereferenzierung korrekt in CFC machen? (psAntwort^-sAntwort)
    Ich gehe mal davon aus, dass irgendein Operator nach ADR (26) hin muß mit dem sAntwort verbunden wäre.
    Frage 2: Wo kann ich mich über diese Pointer-Geschichte schlau machen, es funktioniert zwar nach copy/paste aus dem Anwendungshinweis aber verstanden habe ich das nicht.
    Soweit ich das erkenne, wird auf der Inputseite der http-Befehl per ADR "umgewandelt" und an einen pointer (pabUrlData) eines arrays (abUrlData??) des Funktionsblockes übergeben.
    Auf der Outputseite kommt abContentData heraus und wird wiederum per ADR in einen pointer (psAntwort) "umgewandelt".
    Wenn ich aber online bin und das array abContentData öffne, finde ich keine Strings mit den Antworttexten.
    Am out-connector wird "???" angezeigt, im psAntwort ist ein Hex-Ausdruck und psAntwort^ bringt den korrekten String???
    Dank für Erleuchtung
    Gruß
    Zitieren Zitieren WagoLibHttp_02, http get dereferenzierung mit cfc  

  2. #2
    Registriert seit
    29.09.2014
    Ort
    Hessen
    Beiträge
    102
    Danke
    4
    Erhielt 22 Danke für 20 Beiträge

    Standard

    Zu 1:
    Adr -> deinString
    Gleich pointer^ -> deinString
    Also eigentlich ein schritt zu viel

    Zu 2:
    In der codesys Hilfe nach pointer suchen dort ist auch ein Beispiel.
    If you always do what you’ve always done, you’ll always get what you’ve always got.
    „Wer immer tut, was er schon kann, bleibt immer das, was er schon ist.“

    Henry Ford

  3. #3
    tomrey ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.07.2011
    Ort
    Schrobenhausen/Schiefling
    Beiträge
    228
    Danke
    36
    Erhielt 29 Danke für 22 Beiträge

    Standard

    Zitat Zitat von lord2k3 Beitrag anzeigen
    Zu 1:
    Adr -> deinString
    Gleich pointer^ -> deinString
    bei mir nicht:
    ADR: 6870...
    psAntwort^: <html....
    schau mein Anhang 2
    In der Codesys Hilfe hab ich schon geschaut aber leider nicht verstanden, deshalb s.o.
    Danke trotzdem!

  4. #4
    Registriert seit
    29.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    136
    Danke
    7
    Erhielt 67 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo tomrey,

    der nachfolgende Screenshot zeigt Dir eine Variante wie Du in der Programmiersprache CFC einen Pointer und die Dereferenzierung des Pointers über den Inhaltsoperator "^" verweden kannst.

    CFC_Pointer.jpg

    Bezogen auf den Funktionsbaustein „HTTP_GET“ aus der ”WagoLibHttp_02.lib” wird hier intern im FB mehr oder weniger Komplex dies selbe Syntax verwendet.
    Anstelle eines Strings, wie im Screenshot zu sehen, wird beim FB HTTP_GET“ als Input ein POINTER TO ARRAY OF BYTE („pabUrlData“) verwendet. Der Pointer übergibt dann die Startadresse und die Länge (wie viel Byte das Array besitzt) wird über die Variable „uiUrlLength“ ermittelt. Im Anschluss wird intern im FB über die Dereferenzierung des Pointers mit den eigentlichen Werten weiter gearbeitet in selbiger Vorgehensweise über die Variable „abContentData“ und „uiContentLength „ die Antwort ausgegeben.
    Ich hoffe mit dieser Erklärung konnten alle Deine Fragen beantwortet werden.
    Ihr/Euer

    WAGO Support Team
    WAGO Kontakttechnik GmbH & Co. KG
    http://www.wago.com

    mailto:support@wago.com
    phone: +49 (0) 571 887 - 555

Ähnliche Themen

  1. Step 7 SCL / CFC - Zugriff auf CFC-Bausteinparameter
    Von hub im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 13.02.2015, 16:30
  2. TIA HTTP-String mit TSEND verschicken
    Von TimeOUT im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.06.2014, 09:54
  3. Beckhoff CX mit Webserver - HTTP Kompression
    Von anthi174 im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 25.09.2012, 09:42
  4. Pointer auf Array - Dereferenzierung
    Von ksc im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 20.12.2011, 10:19
  5. Antworten: 3
    Letzter Beitrag: 11.09.2007, 20:38

Lesezeichen

Berechtigungen

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