TIA Siemens LCom DB Versand

phai

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

ich arbeite aktuell mit der Siemens LCom Bibliothek und nutze dort die bekannten Mechanismen über SendBuffer und ReceiveBuffer, um Daten per TCP an einen Server zu übertragen.

Mein Ziel ist es, die Kommunikation generischer aufzubauen:

  • Ich möchte einen kompletten DB (Datenbaustein) an den SendBuffer übergeben und als Byte-Stream versenden
  • Auf der Gegenseite sollen die empfangenen Daten wieder in denselben DB zurückgeschrieben werden
  • Änderungen sollen also bidirektional synchronisiert werden
Die Herausforderung dabei:

  1. DB → Byte-Array (SendBuffer)
    Wie zerlegt man einen beliebigen DB vollständig in ein Byte-Array?
    Ziel wäre eine generische Lösung, unabhängig von der Struktur (kein manuelles Mapping von Variablen)
  2. Byte-Array → DB (ReceiveBuffer)
    Wie schreibt man die empfangenen Bytes sauber wieder zurück in den DB?
    Idealerweise ebenfalls generisch ohne feste Strukturdefinition
  3. Verwendung von ANY / DB_ANY
    Ich würde das Ganze gerne als Funktionsbaustein kapseln, der nur folgende Parameter bekommt:
    • DB_ANY (Quell-/Ziel-DB)
    • Startadresse
    • Länge (optional, ggf. automatisch ermittelt)
      Ziel:
      Der Baustein soll selbstständig Startadresse und Länge berechnen und den DB vollständig serialisieren bzw. deserialisieren.

Meine konkreten Fragen:

  • Gibt es in S7-1200 / TIA Portal eine saubere Möglichkeit, einen kompletten DB generisch als Byte-Array zu lesen/schreiben?
  • Arbeitet ihr hier mit BLKMOV, ANY-Pointern oder direktem Zugriff über AT-Sichten?
  • Wie löst ihr das Thema Strukturunabhängigkeit (z. B. bei gemischten Datentypen im DB)?
  • Gibt es Best Practices für so eine Art „DB-Serialization“ über TCP mit LCom?

Hintergrund ist, dass ich mir eine Art universellen TCP-Gateway-Baustein bauen möchte, der beliebige DBs ohne Anpassung übertragen kann (ähnlich wie ein generisches Protokoll).

Danke euch schon mal für eure Ansätze 👍
 
Zurück
Oben