Homepage

  • Projekte
  • Shop
  • Forum
Erweiterte Suche
  • Schnellzugriff
    • Unbeantwortete Themen
    • Aktive Themen
    • Suche
  • FAQ
  • Anmelden
  • Registrieren
  • Foren-Übersicht
  • Suche

Daten senden?

Ethernet Mega32 Experimentierboard
Antworten
  • Druckansicht
Erweiterte Suche
4 Beiträge • Seite 1 von 1
Krabby
Beiträge: 3
Registriert: 10.01.2012, 10:58:01

Daten senden?

  • Zitieren

Beitrag von Krabby » 04.05.2012, 11:55:29

Ich hab die Webserver Software nun soweit, dass der Webserver wunderbar funktioniert habe alle anderen Funktionen bisher rausgelassen. Ich habe nun 2 Variablen in denen Werte stehen die ich über Ethernet zur Verfügung stellen möchte.

Ziel ist es, dass eine S7 Simatic SPS Daten Anfordert und dann (am besten über TCP) den Inhalt der beiden Variablen gesendet bekommt.

Da der Webserver ja TCP unterstützt.... Was genau muss ich machen damit ich eine TCP Verbindung aufbauen kann? Da gibt es jetzt ja die Funktion create_new_tcp_packet die ich benutzen muss. Ist das korrekt? Was genau übergebe ich dieser Funktion ? Die Länge der Daten ist kein Problem und index ist dann der Inhalt den ich übertragen will oder wie? Ich hab keine Ahnung was ich tun muss :-)


Danke!
Nach oben

myjack
Beiträge: 35
Registriert: 03.05.2011, 12:51:54

Re: Daten senden?

  • Zitieren

Beitrag von myjack » 04.05.2012, 19:54:43

Nicht ganz. Mit index ist der index bzw. die Nummer der TCP-Verbindung gemeint.
An create_new_tcp_packet übergibst du du also die Größe der zu sendenden Datenmenge (die sollte kleiner sein als MAX_WINDOWS_SIZE, damit genug Platz für die Paketinformationen bleibt, und die Index-Nummer der gewünschten TCP-Verbindung.
Die Funktion holt sich dann automatisch den Inhalt aus der Variable "eth_buffer". In die schreibst du vor Ausführung von create_new_tcp_packet den Kram, den du senden willst.

Schau dir mal die http_get.c an, da ist der Ablauf vllt. etwas verständlicher.
Nach oben

Krabby
Beiträge: 3
Registriert: 10.01.2012, 10:58:01

Re: Daten senden?

  • Zitieren

Beitrag von Krabby » 11.05.2012, 08:13:13

WIe ermittle ich die größe der zu sendenden Datenmenge? Wenn ich einen Zahlenwert habe, als Beispiel 407.789. Was für einen Wert übergebe ich dann an die funktion für die größe des Pakets?

Als Index Nummer für die TCP Verbindung kann ich einfach 1 reinschreiben und sag dann der anderen Person die an der SPS sitzt welchen Index ich genommen habe damit die Verbindung funktioniert. Richtig?

Danke für deine Antwort, hat mir schon sehr geholfen!
Nach oben

myjack
Beiträge: 35
Registriert: 03.05.2011, 12:51:54

Re: Daten senden?

  • Zitieren

Beitrag von myjack » 11.05.2012, 09:16:17

WIe ermittle ich die größe der zu sendenden Datenmenge? Wenn ich einen Zahlenwert habe, als Beispiel 407.789. Was für einen Wert übergebe ich dann an die funktion für die größe des Pakets?
Den Zahlenwert musst du erst in einen String umwandeln, dann kannst du ihn an den eth_buffer anfügen und die Größe mit strlen(DEINE_VARIABLE) hochzählen.
Als Index Nummer für die TCP Verbindung kann ich einfach 1 reinschreiben und sag dann der anderen Person die an der SPS sitzt welchen Index ich genommen habe damit die Verbindung funktioniert. Richtig?
Falsch. Die Index-Nummer ist nur interne Sache. Damit weiß der stack, welche Verbindung (IP, Port, ACK, usw...)
Nach oben

Antworten
  • Druckansicht

4 Beiträge • Seite 1 von 1

Zurück zu „ETH_M32_EX“



  • Foren-Übersicht
  • Alle Zeiten sind UTC+02:00
  • Alle Cookies löschen

Powered by phpBB® Forum Software © phpBB Limited

Deutsche Übersetzung durch phpBB.de

Datenschutz | Nutzungsbedingungen

 

 

sitemap  |    |  datenschutz   |  impressum