MPI6_ReadByte Zugriffszeit
Moderatoren: Matthias, Weiss_MHJ
MPI6_ReadByte Zugriffszeit
Hallo,
Wir setzen zur Zeit in mehreren Projekten den COMDrvS7 in der Version V6.21 ein um über Datenbausteine mit der S7 Steuerung zu kommunizieren.
In einem Projekt wird dazu alle 1000ms ein Block mit 8000byte gelesen. Bei Tests hat sich jezt heruasgestellt, dass der Lesevorgang über MPI6_ReadByte alleine schon ca. 1500ms benötigt. Da im gleichen Zyklus noch mehrere andere Datenbausteine ausgelesen werden müssen, ergeben sich hier erhebliche Verzögerungen.
Wodurch kann diese doch relativ lange Zugriffszeit beim Lesen veruhrsacht werden?
Gruß
Mario
Wir setzen zur Zeit in mehreren Projekten den COMDrvS7 in der Version V6.21 ein um über Datenbausteine mit der S7 Steuerung zu kommunizieren.
In einem Projekt wird dazu alle 1000ms ein Block mit 8000byte gelesen. Bei Tests hat sich jezt heruasgestellt, dass der Lesevorgang über MPI6_ReadByte alleine schon ca. 1500ms benötigt. Da im gleichen Zyklus noch mehrere andere Datenbausteine ausgelesen werden müssen, ergeben sich hier erhebliche Verzögerungen.
Wodurch kann diese doch relativ lange Zugriffszeit beim Lesen veruhrsacht werden?
Gruß
Mario
Hallo,
sehr viele Faktoren sind für die Kommunikationsgeschwindigkeit verantwortlich. Einige davon sind:
- Was für eine Verbindung besteht zwischen PC und SPS (TCP/IP, NetLink, USB-MPI, MPI über CP5711 ....)?
- Was für eine SPS wird angesprochen und welche Firmware hat diese?
Es gibt z.B. erhebliche Unterschiede in der Kommunikationsgeschwindigkeit zwischen 300er-CPUs mit Firmware 2.X und 3.X.
- Welche Zykluszeit hat die CPU?
- Wie viele weitere Kommunikationspartner sind mit der CPU verbunden?
Dazu zählen TPs/OPs, ist die CPU Master in einem Netz, Verbindungen zu weiteren CPUs (z.B. S7-Kommunikation).
- Wird die Verbindung zu der CPU offen gelassen oder wird diese bei jedem Lesevorgang geöffnet und wieder geschlossen?
Somit kann man mit den von Ihnen angegebenen Infos hier keine Aussage machen ob die Verbindung überhaupt langsam ist. Je nach Randbedingung könnte diese sogar schnell sein.
Gruss
sehr viele Faktoren sind für die Kommunikationsgeschwindigkeit verantwortlich. Einige davon sind:
- Was für eine Verbindung besteht zwischen PC und SPS (TCP/IP, NetLink, USB-MPI, MPI über CP5711 ....)?
- Was für eine SPS wird angesprochen und welche Firmware hat diese?
Es gibt z.B. erhebliche Unterschiede in der Kommunikationsgeschwindigkeit zwischen 300er-CPUs mit Firmware 2.X und 3.X.
- Welche Zykluszeit hat die CPU?
- Wie viele weitere Kommunikationspartner sind mit der CPU verbunden?
Dazu zählen TPs/OPs, ist die CPU Master in einem Netz, Verbindungen zu weiteren CPUs (z.B. S7-Kommunikation).
- Wird die Verbindung zu der CPU offen gelassen oder wird diese bei jedem Lesevorgang geöffnet und wieder geschlossen?
Somit kann man mit den von Ihnen angegebenen Infos hier keine Aussage machen ob die Verbindung überhaupt langsam ist. Je nach Randbedingung könnte diese sogar schnell sein.
Gruss
MPI6_ReadByte
Hallo,
hat leider etwas länger gedauert alle nötigen Informationen zusammenzutragen. Ich hoffe, damit alle Fragen beantworten zu können:
1. Die Verbindung wird über TCP/IP hergestellt
2. Es wird eine 319F-3 PN/DP CPU mit der Firmware Version 3.2.10 angesprochen
3. Die Zykluszeit beträgt 34ms
4. es sind 3 PGs, 3 OPs, 0 S7-Basis-Kommunikation, 0 S7-Kommunikation und 1 sonstige Kommunikation belegt. Ausserdem sind noch 2 Verbindungen über Industrial Ethernet offen.
5. Die Verbindung zur SPS wird nur beim Programmstart geöffnet. Die Abfragen über MPI6_ReadByte erfolgen dann zyklisch alle 1000ms ohne die Verbindung zu unterbrechen.
mfg
hat leider etwas länger gedauert alle nötigen Informationen zusammenzutragen. Ich hoffe, damit alle Fragen beantworten zu können:
1. Die Verbindung wird über TCP/IP hergestellt
2. Es wird eine 319F-3 PN/DP CPU mit der Firmware Version 3.2.10 angesprochen
3. Die Zykluszeit beträgt 34ms
4. es sind 3 PGs, 3 OPs, 0 S7-Basis-Kommunikation, 0 S7-Kommunikation und 1 sonstige Kommunikation belegt. Ausserdem sind noch 2 Verbindungen über Industrial Ethernet offen.
5. Die Verbindung zur SPS wird nur beim Programmstart geöffnet. Die Abfragen über MPI6_ReadByte erfolgen dann zyklisch alle 1000ms ohne die Verbindung zu unterbrechen.
mfg
Hallo,
die CPU bietet noch zwei Einstellungen, mit der die Kommunikation beeinflusst werden kann. Beide sind in der Hardwarekonfiguration der CPU vorhanden.
Die erste Einstellung nennt sich "Priorisierte BuB Kommunikation". Wird diese aktiviert, dann beschleunigt sich die Bedienen- und Beobachten-Kommunikation, allerdings wird dabei die Zykluszeit verlängert.
Diese ist mit 34ms bei der eingesetzten 319 schon jetzt relativ hoch.
Die zweite Einstellung nennt sich "Zyklusbelastung durch Kommunikation".
Auch hier kann sich die Zykluszeit der CPU drastisch erhöhen.
Sie sollten sich überlegen, ob eine Erhöhung der Zykluszeit ein Problem darstellt oder nicht. Wenn die Erhöhung kein Problem ist, dann beginnen Sie mit der Selektion der ersten Einstellung.
Gruss
die CPU bietet noch zwei Einstellungen, mit der die Kommunikation beeinflusst werden kann. Beide sind in der Hardwarekonfiguration der CPU vorhanden.
Die erste Einstellung nennt sich "Priorisierte BuB Kommunikation". Wird diese aktiviert, dann beschleunigt sich die Bedienen- und Beobachten-Kommunikation, allerdings wird dabei die Zykluszeit verlängert.
Diese ist mit 34ms bei der eingesetzten 319 schon jetzt relativ hoch.
Die zweite Einstellung nennt sich "Zyklusbelastung durch Kommunikation".
Auch hier kann sich die Zykluszeit der CPU drastisch erhöhen.
Sie sollten sich überlegen, ob eine Erhöhung der Zykluszeit ein Problem darstellt oder nicht. Wenn die Erhöhung kein Problem ist, dann beginnen Sie mit der Selektion der ersten Einstellung.
Gruss