-> Hier kostenlos registrieren
Hallo zusammen,
ich bin auf der Suche nach Anregungen, zur sinnvollen Konvertierung von TCP Nutzdaten einer S7-Steuerung.
Konkret geht es darum aus einem empfangen BigEndian Byte[] generisch den passenden .net Typ zu ermitteln und entsprechend ab Offset x im Array zu konvertieren.
Da die BitConverter Klasse von .net leider nicht die Möglichkeit bietet zwischen Big- und LittleEndian umzuschalten müsste aktuell immer eine manuelle Drehung der Bytes stattfinden.
Um dies zu vermeiden, bin ich bei meiner Recherche auf den Mono.DataConverter gestoßen. Dieser erweitert die BitConverter-Klasse um entsprechende Funktionalität. Leider natürlich nicht für Array-Typen oder spezielle S7 Typ-Aufbauten wie String, DateTime etc...
Gibt es von Eurer Seite Erfahrungswerte, wie die Implementierung am sinnvollsten aussehen soll?
Ist der Einsatz von Desing Patterns wie Translator oder Interpreter sinnvoll oder steht der Aufwand in keiner Relation zum Nutzen?
Könnt ihr ggf. dlls empfehlen, die hierbei unterstützen?
Vorab vielen Dank für Eure Vorschläge!
Grüße!
ich bin auf der Suche nach Anregungen, zur sinnvollen Konvertierung von TCP Nutzdaten einer S7-Steuerung.
Konkret geht es darum aus einem empfangen BigEndian Byte[] generisch den passenden .net Typ zu ermitteln und entsprechend ab Offset x im Array zu konvertieren.
Da die BitConverter Klasse von .net leider nicht die Möglichkeit bietet zwischen Big- und LittleEndian umzuschalten müsste aktuell immer eine manuelle Drehung der Bytes stattfinden.
Um dies zu vermeiden, bin ich bei meiner Recherche auf den Mono.DataConverter gestoßen. Dieser erweitert die BitConverter-Klasse um entsprechende Funktionalität. Leider natürlich nicht für Array-Typen oder spezielle S7 Typ-Aufbauten wie String, DateTime etc...
Gibt es von Eurer Seite Erfahrungswerte, wie die Implementierung am sinnvollsten aussehen soll?
Ist der Einsatz von Desing Patterns wie Translator oder Interpreter sinnvoll oder steht der Aufwand in keiner Relation zum Nutzen?
Könnt ihr ggf. dlls empfehlen, die hierbei unterstützen?
Vorab vielen Dank für Eure Vorschläge!
Grüße!