TIA HTTP-String mit TSEND verschicken

TimeOUT

Level-1
Beiträge
125
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich versuche zur Zeit einen HTTP-String, welcher so aufgebaut ist:

'GET /cmd/<ich_bin_ein_befehl> HTTP/1.0/r/n/r/n'

über den TSEND-Baustein an meinen TCP/IP Teilnehmer zu verschicken.
Die Verbindung zwischen dem Teilnehmer und der CPU ist bereits aufgebaut.
Dazu habe ich das Siemens Beispiel verwendet.
http://support.automation.siemens.c...lib.csinfo&lang=de&objid=58875807&caller=view

Wie genau kann ich das ganze bewerkstelligen?

Im Beispiel wird ein Byte-Array an den Eingang des TSEND geschrieben.
Den Operand "SEND_DATA" als String zu deklarieren und den HTTP-String hineinzuschreiben, verweigert mein TIA.
"Der Operand String ist für diese Anweisung nicht zulässig."

Gruß
TimeOUT
 
Am besten kopierst dU deinen string in ein Array of Byte. Dieses Array kannst du dann am tsend anschliessen bedenke dass ein string auch zwei Infobytes enthält welche du beim kopieren ggf entfernen musst.

Ich persönlich bereite so einen zielbereich als struktur auf. Maximale länge als byte. Dann aktuelle länge als byte und ein array of char. Das array kommt dann an den tsend und aktuelle länge auch und zwar an LEN.


Mit freundlichen Grüßen René


Sent from my iPad using Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Genau so gehts. Danke!

edit: Einen kleinen Nachtrag hab ich dann doch noch.

Und zwar liefert mir der TRCV.STATUS := 0x7002 oder 0x804C abwechselnd.
Wobei 0x804C:

Temporärer Kommunikationsfehler:

  • Die Verbindung zum Partner kann derzeit nicht aufgebaut werden.
  • Die Schnittstelle empfängt neue Parametereinstellungen oder die Verbindung wird aufgebaut


    Aber die Verbindung ist doch aufgebaut?!
    Schließlich kann ich Befehle über TSEND an meinen TCP/IP Clienten schicken und er setzt diese auch um :confused:
 
Zuletzt bearbeitet:
Zurück
Oben