TIA Mehrere Bausteine über TSend_C verschicken

Byte0815

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

ich würde gern 2 Bausteine über eine bestehende Iso on TCP Verbindung verschicken.
Realisiert habe ich das mit einem TSend_C und TRCV. Mit einem Baustein ist das kein Problem.
Jetzt wollte ich gern einen zweiten Baustein über diese Verbindung verschicken.

Mein Gedanke war das der TSend_C bereits eine Verbindung aufgebaut hat, wenn ich jetzt in der 1 SPS einen zusätzlichen TSend hinzufüge und die selbe ID nehme sollte es doch eigentlich klappen. Jedoch kommt immer ein Kommunikationsfehler.

Kann ich über 1 Verbindung auch nur 1 Baustein schicken oder mach ich da etwas komplett falsch ?

Danke schon mal :)

TIA V19 Update 2 1515R-2PN, 1511-1PN
 
Mit "Bausteine verschicken" meinst du Datenbausteine?
Sind die Datenbereiche gleich groß?
Mache eine Schrittkette oder einen Job-Zähler und kopiere jeweils den einen oder anderen Datenbereich in den TSend-Sendepuffer. Nach Done oder Error schalte zum anderen Bereich um.

Wie soll der Empfänger erkennen, welche Daten er empfangen hat? Die Daten kommen bei ihm ja quasi gemultiplext an.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja genau ich meine Datenbausteine.
Nein die Datenbereiche sind unterschiedlich.

Wie würde so etwas denn aussehen ? Habe damit gerade noch keine Erfahrungen.

Stimmt ist auch logisch beim genaueren drüber nachdenken
 
Die beiden Datenbereiche müssen natürlich mindestens gleich groß sein.
Um sie am Zielort wieder auseinander zu pusementuckeln könntest du ein Kenn-Byte mitsenden - also eine Variable, die dir zu unterscheiden hilft.
Am Zielort empfängst du zunächst in einem neutralen DB, wertest dann das Kenn-Byte aus und kopierst entsprechend des Inhalts dann in den Ziel-DB.
Warum aber packst du nicht beides in einen DB und verschickst den dann komplett - erspart dir einen Haufen Arbeit ...
 
Ich wusste nicht das es so kompliziert ist ^^

Ja dann schau ich mal das ich alles in einen DB gepackt bekomme
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Datenbereiche können auch unterschiedlich groß sein, wenn du z.B. ein Protokoll mit Textnachrichten implementieren willst. Dann wird es aber für den Empfänger viel schwerer, die Nachrichten zu empfangen und zu decodieren. Da braucht man noch Start-/Ende-/Trenn-/Kennungs-Zeichen.

Eventuell ist es viel einfacher, immer beide Datenbereiche zusammen zu senden. Dazu müssen die nicht aus dem selben DB stammen, sondern einfach hintereinander in den Sendepuffer kopieren. Achtung: Konsistenz beachten! z.B. Sendedaten nur zwischen den Sendeaufträgen in den Sendepuffer kopieren.
Willst du die Daten zyklisch senden oder nur bei Bedarf?
 
Zurück
Oben