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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 152254
Url: https://administrator.de/contentid/152254
Ausgedruckt am: 25.11.2024 um 00:11 Uhr
5 Kommentare
Neuester Kommentar
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
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
Schau dir doch mal an, wie z.B. pack() arbeitet: http://de.php.net/pack
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
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