Zugriffszeit auf die SPS mit Variablenfunktionen.

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jochen

Ursache für die Unterschiedlichen Lesezeiten
Die Ursache für die so unterschiedlichen Lesezeiten ist gefunden.
Es liegt eindeutig an der Art der gewählten Verbindungsdaten.
Ich habe mal für drei verschiedene Verbindungsdaten Leseversuche
mit jeweils 700 Byte und deinem "ReadSpeedtest" durchgefühert.
Hier nun die Ergebnisse.

Verbindungsdaten 1: - Ethernet
Protokoll : Use Step7 DLL
Zugangspunkt : S7ONLINE (TCP/IP)
Siehe Bild 1 im Anhang
Lesezeiten für 700 Byte mit diesen Verbindungsdaten
Read with ReadValue (readManyBytes) : Bild2-1 [502ms], Bild2-2 [499ms]
Read with ReadValues (Tagliste) : Bild3-1 [522ms], Bild3-2 [499ms]
Read with libnodave (ibnodave readManyBytes): Bild4-1 [501ms], Bild4-2 [499ms]

Verbindungsdaten 2:
Protokoll : ISO over TCP
Zugangspunkt :
Siehe Bild 5 im Anhang
Lesezeiten für 700 Byte mit diesen Verbindungsdaten
Read with ReadValue (readManyBytes) : Bild 6-1 [25ms], Bild6-2 [17ms]
Read with ReadValues (Tagliste) : Bild 7-1 [33ms], Bild7-2 [22ms]
Read with libnodave (ibnodave readManyBytes): Bild8-1 [18ms], Bild8-2 [25ms]

Verbindungsdaten 3: - mit CP512
Protokoll : Use Step7 DLL
Zugangspunkt : S7ONLINE (CP5512 auto)
Siehe Bild 9 im Anhang
Lesezeiten für 700 Byte mit diesen Verbindungsdaten
Read with ReadValue (readManyBytes) : Bild 10-1 [83ms], Bild10-2 [87ms]
Read with ReadValues (Tagliste) : Bild 11-1 [86ms], Bild11-2 [90ms]
Read with libnodave (ibnodave readManyBytes): Bild12-1 [86ms], Bild12-2 [89ms]

Weil ich nur 5 Bilder anhängen kann kommen meherere Antworten.

Gruss hanjo
 

Anhänge

  • Bild1.jpg
    Bild1.jpg
    45,1 KB · Aufrufe: 5
  • Bild2-1.jpg
    Bild2-1.jpg
    39,6 KB · Aufrufe: 4
  • Bild2-2.jpg
    Bild2-2.jpg
    39 KB · Aufrufe: 1
  • Bild3-1.jpg
    Bild3-1.jpg
    38,9 KB · Aufrufe: 3
  • Bild3-2.jpg
    Bild3-2.jpg
    38,9 KB · Aufrufe: 1
Bilder Teil 2


Gruss hanjo
 

Anhänge

  • Bild4-1.jpg
    Bild4-1.jpg
    39,1 KB · Aufrufe: 2
  • Bild4-2.jpg
    Bild4-2.jpg
    39,2 KB · Aufrufe: 2
  • Bild5.jpg
    Bild5.jpg
    47,9 KB · Aufrufe: 5
  • Bild6-1.jpg
    Bild6-1.jpg
    38 KB · Aufrufe: 3
  • Bild6-2.jpg
    Bild6-2.jpg
    39,3 KB · Aufrufe: 2

Anhänge

  • Bild7-1.jpg
    Bild7-1.jpg
    38,6 KB · Aufrufe: 2
  • Bild7-2.jpg
    Bild7-2.jpg
    39 KB · Aufrufe: 0
  • Bild8-1.jpg
    Bild8-1.jpg
    39,5 KB · Aufrufe: 0
  • Bild8-2.jpg
    Bild8-2.jpg
    39 KB · Aufrufe: 0
  • Bild9.jpg
    Bild9.jpg
    46,9 KB · Aufrufe: 1
Bilder Teil 4

Das letzte Bild 12-2 lade ich nicht mehr hoch.

Gruss hanjo
 

Anhänge

  • Bild10-1.jpg
    Bild10-1.jpg
    38,8 KB · Aufrufe: 1
  • Bild10-2.jpg
    Bild10-2.jpg
    38,3 KB · Aufrufe: 0
  • Bild11-1.jpg
    Bild11-1.jpg
    39,8 KB · Aufrufe: 0
  • Bild11-2.jpg
    Bild11-2.jpg
    39,8 KB · Aufrufe: 0
  • Bild12-1.jpg
    Bild12-1.jpg
    38,9 KB · Aufrufe: 0
Hallo Jochen

Ursache für die Unterschiedlichen Lesezeiten
Die Ursache für die so unterschiedlichen Lesezeiten ist gefunden.
Es liegt eindeutig an der Art der gewählten Verbindungsdaten.
Ich habe mal für drei verschiedene Verbindungsdaten Leseversuche
mit jeweils 700 Byte und deinem "ReadSpeedtest" durchgefühert.
Hier nun die Ergebnisse.

Verbindungsdaten 1: - Ethernet
Protokoll : Use Step7 DLL
Zugangspunkt : S7ONLINE (TCP/IP)
Siehe Bild 1 im Anhang
Lesezeiten für 700 Byte mit diesen Verbindungsdaten
Read with ReadValue (readManyBytes) : Bild2-1 [502ms], Bild2-2 [499ms]
Read with ReadValues (Tagliste) : Bild3-1 [522ms], Bild3-2 [499ms]
Read with libnodave (ibnodave readManyBytes): Bild4-1 [501ms], Bild4-2 [499ms]

Verbindungsdaten 2:
Protokoll : ISO over TCP
Zugangspunkt :
Siehe Bild 5 im Anhang
Lesezeiten für 700 Byte mit diesen Verbindungsdaten
Read with ReadValue (readManyBytes) : Bild 6-1 [25ms], Bild6-2 [17ms]
Read with ReadValues (Tagliste) : Bild 7-1 [33ms], Bild7-2 [22ms]
Read with libnodave (ibnodave readManyBytes): Bild8-1 [18ms], Bild8-2 [25ms]

Verbindungsdaten 3: - mit CP512
Protokoll : Use Step7 DLL
Zugangspunkt : S7ONLINE (CP5512 auto)
Siehe Bild 9 im Anhang
Lesezeiten für 700 Byte mit diesen Verbindungsdaten
Read with ReadValue (readManyBytes) : Bild 10-1 [83ms], Bild10-2 [87ms]
Read with ReadValues (Tagliste) : Bild 11-1 [86ms], Bild11-2 [90ms]
Read with libnodave (ibnodave readManyBytes): Bild12-1 [86ms], Bild12-2 [89ms]

Weil ich nur 5 Bilder anhängen kann kommen meherere Antworten.

Gruss hanjo

Was mich wundert, ist das TCP/IP über S7Online so viel langsamer ist... Da es bei mir fast genau die gleiche Zeit gebraucht hat als wie TCP/IP direkt über libnodave zum CP...
 
Hallo Jochen

Du scheinst je ständig die aktuellen News immer aufzusaugen.

Mich hat beim Lesetest sehr überrascht, dass das Lesen über TCP/IP langsamer als das Lesen über den CP512 ist.
Ich glaube, das dies mit der Paketzusammenstellung, die bei TCP/IP erforderlich ist, zusammenhängt.
Mit "ISO over TCP" erhöht der feste Paketrahmen die Lesedauer erheblich.

Dabei fällt mir auch auf, dass ein Projekt, in dem es mehrere Touchpanels (z.B. MP370 o.ä.) gibt, die über TCP/IP kommunizieren, bei ungünstiger
Variablenprojektierung (z.B. wenn ein Array von 700 Bytes als Variable angelegt wird) zu Netzüberlastung bei zyklischem Lesen mit 100ms führt.


Gruss hanjo
 
Hallo Jochen

Du scheinst je ständig die aktuellen News immer aufzusaugen.

Mich hat beim Lesetest sehr überrascht, dass das Lesen über TCP/IP langsamer als das Lesen über den CP512 ist.
Ich glaube, das dies mit der Paketzusammenstellung, die bei TCP/IP erforderlich ist, zusammenhängt.
Mit "ISO over TCP" erhöht der feste Paketrahmen die Lesedauer erheblich.

Dabei fällt mir auch auf, dass ein Projekt, in dem es mehrere Touchpanels (z.B. MP370 o.ä.) gibt, die über TCP/IP kommunizieren, bei ungünstiger
Variablenprojektierung (z.B. wenn ein Array von 700 Bytes als Variable angelegt wird) zu Netzüberlastung bei zyklischem Lesen mit 100ms führt.


Gruss hanjo

Ja, aber libnodave nutzt für tcpip ja die gleichen pakete, und damit ist es ja erheblich schneller...

Jo, mit einem 700Byte Array und 100ms lesezyklus kannst du die Kommunikation schon überlasten, aber meist hat man in der Visu ja nur ein paar bytes auf zyklisch lesen (Störmeldungen) und bei diesen braucht man meist keine 100ms Lesetrigger. Und die restlichen Tags werden von der Visu ja nur gelesen wenn das Tag im aktuellen Bild auch genutzt wird!
 
Zurück
Oben