-> Hier kostenlos registrieren
Hallo Leute,
hat irgendjemand schonmal einen Perfomance-Test gemacht um DBs aus (S7-300)SPSen auszulesen? Ich müsste einen Prototyp (in C#) entwickeln, der DBs aus SPSen über TCP/IP ausliest und dabei die Zeit misst.
Es handelt sich dabei um ziemlich viele SPSen (um die 100), die jeweils 1-4DBs haben - mit im Schnitt 600Bytes. Diese liegen in den DBs ziemlich eng beieinander. Die konvertierte Form der Daten bräuchte ich (vorläufig) nicht. Es reichen mir die Daten als Byte Array.
Momentan bin ich daran die S7.NET (http://s7net.codeplex.com/), Libnodave und AGLink Libraries zu testen.
Erfahrungen damit:
- S7.NET: kaum, funktioniert irgendwie noch nicht für meine Test-Software SPSen.
- Libnodave: Ab ca 450Bytes reicht wohl die ReadBytes nicht mehr aus und ich muss zur readManyBytes zurückgreifen. Die "Read multiple items" Variante werde ich auch noch Testen. Nur sehe ich hier ein Problem mit dem Platt machen der Empfangen Daten. Da müsste ich dann mit einer extra Schleife drüber um die Daten über getU8() in ein Byte Array zu schreiben und das kostet Zeit.
- AGLink: hier werde ich die ReadDataBytes und ReadMixEx Funktion verwenden. Einmal in der Synchronen und einmal in der Asynchronen Variante. Bei beiden Funktionen lese ich immer den kompletten DB. Bin noch am überlegen ob ich nicht auch noch die Optimierte Version der ReadMixEx Funktion testen soll. Nur glaube ich das sich der Overhead der Optimierung nicht lohnt, da die Bytes in den DBs ziemlich eng beieinander liegen.
Für Tipps und Ratschläge wäre ich sehr dankbar.
Viele Grüße
hat irgendjemand schonmal einen Perfomance-Test gemacht um DBs aus (S7-300)SPSen auszulesen? Ich müsste einen Prototyp (in C#) entwickeln, der DBs aus SPSen über TCP/IP ausliest und dabei die Zeit misst.
Es handelt sich dabei um ziemlich viele SPSen (um die 100), die jeweils 1-4DBs haben - mit im Schnitt 600Bytes. Diese liegen in den DBs ziemlich eng beieinander. Die konvertierte Form der Daten bräuchte ich (vorläufig) nicht. Es reichen mir die Daten als Byte Array.
Momentan bin ich daran die S7.NET (http://s7net.codeplex.com/), Libnodave und AGLink Libraries zu testen.
Erfahrungen damit:
- S7.NET: kaum, funktioniert irgendwie noch nicht für meine Test-Software SPSen.
- Libnodave: Ab ca 450Bytes reicht wohl die ReadBytes nicht mehr aus und ich muss zur readManyBytes zurückgreifen. Die "Read multiple items" Variante werde ich auch noch Testen. Nur sehe ich hier ein Problem mit dem Platt machen der Empfangen Daten. Da müsste ich dann mit einer extra Schleife drüber um die Daten über getU8() in ein Byte Array zu schreiben und das kostet Zeit.
- AGLink: hier werde ich die ReadDataBytes und ReadMixEx Funktion verwenden. Einmal in der Synchronen und einmal in der Asynchronen Variante. Bei beiden Funktionen lese ich immer den kompletten DB. Bin noch am überlegen ob ich nicht auch noch die Optimierte Version der ReadMixEx Funktion testen soll. Nur glaube ich das sich der Overhead der Optimierung nicht lohnt, da die Bytes in den DBs ziemlich eng beieinander liegen.
Für Tipps und Ratschläge wäre ich sehr dankbar.
Viele Grüße