haegar75
Goto Top

Datenstruktur zur Laufzeit festlegen

Hallo Leute,
ich möchte mit meinem VB-Programm (.net) Daten einlesen. Es werden Beispielsweise 100Bytes eingelesen. Erschwerdend kommt hinzu, dass es sich bei den Einzeldaten um Bytes, Wörter oder Doppelwörter handeln kann. Ich dachte daran dass der User sich die Datenstruktur in der die eingelesenen Daten vorliegen über die Oberfläche zur Laufzeit zusammen bauen kann und die dann mit dem Datenstream gefüllt wird. Mir fehlt aber ein gescheiter Ansatz.. Hat vielleicht jemand ne Idee?
Gruß Haegar

Content-ID: 152254

Url: https://administrator.de/contentid/152254

Ausgedruckt am: 25.11.2024 um 00:11 Uhr

Friemler
Friemler 03.10.2010 um 14:27:05 Uhr
Goto Top
Hallo Haegar75,

ich weiß ja nicht für welchen Kreis von Anwendern Du dieses Programm schreiben willst, aber Otto Normalanwender käme mit Deinem Ansatz sicher nicht zurecht (Byte? Wort? Doppelwort? Hähh? Kopf kratz, Kopf schüttel, Klick auf beenden). Schreibe doch beim Erstellen der Datei einen Header vor die Nutzdaten, der den Aufbau beschreibt. Dann kann das Programm anhand dieser Informationen die Daten richtig einlesen.

Gruß
Friemler
Haegar75
Haegar75 03.10.2010 um 14:33:19 Uhr
Goto Top
Auf die Erstellung der übergebenen Daten (Header) habe ich keinen Einfluß, denn sie werden von einer SPS geliefert..
Der Aufbau der Daten ist variabel und mir erst zur Laufzeit bekannt, daher möchte ich die Struktur dann zusammenstellen. Auch von den übrigen User kann man das in dem Fall erwarten.. face-wink
dog
dog 03.10.2010 um 14:53:49 Uhr
Goto Top
Schau dir doch mal an, wie z.B. pack() arbeitet: http://de.php.net/pack
Friemler
Friemler 03.10.2010 um 15:15:11 Uhr
Goto Top
Hallo Haegar75,

die Menge der möglichen zurückgelieferten Datenstrukturen ist ja sicherlich endlich. Programmiere doch eine Auswahlliste für jede mögliche Datenstruktur. Je nach ausgewähltem Element benutzt Du die entsprechende Einlese-Routine.

Außerdem stellt sich mir die Frage, woher der User in einem speziellen Fall weiß, welche Datenstruktur gerade eingelesen werden soll und ob sich die Informationen darüber nicht auch in irgendeiner Weise von der SPS abfragen lassen.

Eine weitere Möglichkeit wäre, die Programmierung der SPS dahingehend zu ändern, das die SPS mit den Nutzdaten Informationen darüber liefert, wie die Nutzdaten aufgebaut sind. Eine Kennung als erstes Byte/Wort vor den Nutzdaten würde ja schon ausreichen. Anhand einer Tabelle im Programm auf dem PC wird dann die entsprechende Einlese-Routine gewählt.

Gruß
Friemler
Haegar75
Haegar75 03.10.2010 um 15:33:24 Uhr
Goto Top
Die Kombinationen sind zwar "endlich" aber es kann jede Länge und jede Kombination aus 5 verschiedenen Datentypen vorkommen. Die Daten werden prinzipiell nicht von der SPS geschickt, sondern über eine dll aus Datenbausteinen gelesen..