OSCAT Forum

oscat.lib => oscat.lib fuer TwinCAT/CoDeSys => Thema gestartet von: klaus1 am 24. Mai 2017, 12:02:19

Titel: HTTP_GET
Beitrag von: klaus1 am 24. Mai 2017, 12:02:19
stell ich mir das zu einfach vor:
VAR
   HTTP_GET: HTTP_GET;
   httpdata: URL;
   IP_C: IP_C;
    S_BUF: NETWORK_BUFFER;
    R_BUF: NETWORK_BUFFER;
END_VAR

IF AKTION = TRUE THEN
httpdata  := STRING_TO_URL(CONCAT(CONCAT(CONCAT('https://user:Kennwort@192.168.1.50:443/beckhoff/pushbullet.php?subject=',smtp_subject),'&'),smtp_body),'','');
HTTP_GET(GET := TRUE, URL_DATA := httpdata,  IP_C := IP_C, S_BUF := S_BUF, R_BUF := R_BUF);
END_IF;

HTTP_GET.GET := FALSE;

DONE wird nie true... :-( geht überhaupt HTTPS ? Bei port steht null, darum explizit mit 443 angegeben!

Titel: Re: HTTP_GET
Beitrag von: peewit am 24. Mai 2017, 12:43:01
hallo

auf jeden fall musst du noch den baustein IP_CONTROL damit verknüpfen

öffne die oscat.network lib als projekt und schau mal in den order "demo" dort gibt es auch ein demoprogramm wo http verwendet wird.
Titel: Re: HTTP_GET
Beitrag von: klaus1 am 24. Mai 2017, 13:37:20
Danke für die Info.
leider immer noch kein Erfolg (auch ohne authentication und mit http)  :-[

VAR
   HTTP_GET: HTTP_GET;
   IP_CONTROL_1: IP_CONTROL;
   DNS_CLIENT: DNS_CLIENT;
   URL_DATA: URL;
   IP_C: IP_C;
    S_BUF: NETWORK_BUFFER;
    R_BUF: NETWORK_BUFFER;
   TON_1: TON;
   F_TRIG: F_TRIG;
   http_release: BOOL;
   http_get_done: BOOL;
   enable: BOOL:=TRUE;
END_VAR

IF AKTION = TRUE THEN
      URL_DATA := STRING_TO_URL('http://192.168.1.50/pushbullet.php?subject=Title&msg=test','','');
      DNS_CLIENT(ACTIVATE:=enable, DOMAIN:=URL_DATA.DOMAIN,IP_C:=IP_C,S_BUF:=S_BUF,R_BUF:=R_BUF);

          IP_CONTROL_1(IP := DWORD_OF_BYTE(192,168,1,50),TIME_OUT:=T#4s, S_BUF := S_BUF, R_BUF := R_BUF, IP_C := IP_C);
      HTTP_GET(IP4:=DNS_CLIENT.IP4,GET := DNS_CLIENT.DONE, URL_DATA := URL_DATA,  IP_C := IP_C, S_BUF := S_BUF, R_BUF := R_BUF,MODE:=0, UNLOCK_BUF:=http_release);
      http_get_done := HTTP_GET.DONE;
      TON_1(IN:=http_get_done,PT:=T#1s);
      http_release := TON_1.Q;
          F_TRIG.CLK:=http_get_done;
      enable := F_TRIG.Q;
END_IF;

HTTP_GET.GET := FALSE;
Titel: Re: HTTP_GET
Beitrag von: peewit am 25. Mai 2017, 07:00:03
hallo

in deinem beispiel spielt zwar keine rolle aber bei

IP_CONTROL_1(IP := DWORD_OF_BYTE(192,168,1,50)

musst du an ansich die ip-adresse des dns angeben
das ist normalerweise ein dns im internet oder dein router

aber egal

ich empfehle dir im demo ordner das programm "http_demo" zu nehmen und damit die ersten schritten zu machen

wenn es nicht geht dann schaue auf die bausteine. die geben nähmlich auch informationen aus (fehlercodes etc..)

diese infos benötige ich um einen kommentar abgeben zu können. !!
Titel: Re: HTTP_GET
Beitrag von: klaus1 am 25. Mai 2017, 07:58:53
Danke für deine Hilfe!
Mein Router / DNS hat die IP 192.168.1.1 werde gleich Mal ändern.
Ich tu mir schwer mit Demo da ich im Structured Text arbeite. Das Demo aber grafisch vorliegt...

HTTP_STATUS: ''
ERROR: 0
UNLOCK_BUF =FALSE
DONE =FALSE
Titel: Re: HTTP_GET
Beitrag von: klaus1 am 26. August 2017, 22:34:35
gibt es auch ein stuctured Text beispiel, das ich einbinden kann? Vielen Dank.
Titel: Re: HTTP_GET
Beitrag von: peewit am 27. August 2017, 06:53:26
in der bibliothek selber gibt es einen ordner mit demo-programmen
Titel: Re: HTTP_GET
Beitrag von: Dagoberto am 12. Februar 2019, 08:47:18
Understand that this is the place to gather the right knowledge and read it immediately.