-> Hier kostenlos registrieren
Hallo ihr Lieben,
Euro Hilfe ist hier dringend benötigt.....
in TIA17, 1500er SPS bin ich dabei, einen universalen FB zu schreiben, der die Bauteildaten (UDT) unserer Anlagen verwalten soll. Da bei jeder Anlage unterschiedliche Bauteildaten benötigt sind, soll die Struktur in der FB-Schnittstelle als Variant deklariert werden. Um die grundlegende Funktionen einheitlich zu halten, habe ich einen sozusagen Basis-UDT deklariert, der 4 Byte lang ist und am Anfang jedes Bauteildaten-UDT vorkommen soll.
Nun ist die Herausforderung, die ersten 4 Bytes bzw. diese Basis-Struktur in dem FB in eine temporäre Variable zu kopieren, um die einzelnen Bits in der Basis-Struktur auswerten zu können (Siehe Bild 1). Die einzige Möglichkeit dafür, die ich bis jetzt gefunden habe, ist Serialize/Deserialize, es funktioniert aber immer noch nicht richtig.
Die konkreten Fragen.
1- Kennt jemand eine einfachere Möglichkeit, um das Kopieren (Part.Base --> tmpBase) zu realisieren?
2- Wenn Serialize/Deserialize den einzigen Weg darstellten, brauche ich Hilfe. Beim Testen (Bild 2) gibt die Serialize-Anweisung immer den Fehler 8253 (Erklärung auf Bild 3 ), egal wie groß das Array of Byte "Buffer" ist. Beim letzten Test war Buffer 1024 Byte lang, wobei die umzuwandelnde Struktur 14 Bytes hatte.
Danke euch und Grüße
Euro Hilfe ist hier dringend benötigt.....
in TIA17, 1500er SPS bin ich dabei, einen universalen FB zu schreiben, der die Bauteildaten (UDT) unserer Anlagen verwalten soll. Da bei jeder Anlage unterschiedliche Bauteildaten benötigt sind, soll die Struktur in der FB-Schnittstelle als Variant deklariert werden. Um die grundlegende Funktionen einheitlich zu halten, habe ich einen sozusagen Basis-UDT deklariert, der 4 Byte lang ist und am Anfang jedes Bauteildaten-UDT vorkommen soll.
Nun ist die Herausforderung, die ersten 4 Bytes bzw. diese Basis-Struktur in dem FB in eine temporäre Variable zu kopieren, um die einzelnen Bits in der Basis-Struktur auswerten zu können (Siehe Bild 1). Die einzige Möglichkeit dafür, die ich bis jetzt gefunden habe, ist Serialize/Deserialize, es funktioniert aber immer noch nicht richtig.
Die konkreten Fragen.
1- Kennt jemand eine einfachere Möglichkeit, um das Kopieren (Part.Base --> tmpBase) zu realisieren?
2- Wenn Serialize/Deserialize den einzigen Weg darstellten, brauche ich Hilfe. Beim Testen (Bild 2) gibt die Serialize-Anweisung immer den Fehler 8253 (Erklärung auf Bild 3 ), egal wie groß das Array of Byte "Buffer" ist. Beim letzten Test war Buffer 1024 Byte lang, wobei die umzuwandelnde Struktur 14 Bytes hatte.
Danke euch und Grüße