Übertragungsgeschwindigkeit mit Libnodave und IBH Link

Pikador

Level-2
Beiträge
249
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich bin gerade am testen wie schnell die Datenübertragung zwischen IBH Link und PC ist. Natürlich mit Libnodave. Egal ob ich 20 oder 200 Byte empfange, es dauert immer ca. 1,4s. IBH Link hängt an der MPI Schnittstelle einer 3172DP CPU. Das Empfangen wird im Programm zyklisch ausgeführt. Verbinden und Trennen der Verbindung nur einmalig.
Hat jemand schon sowas programmiert? Geht es schneller?

Viele Grüße
Pikador
 
Die etwa gleiche Ausführungszeit wird wohl daran liegen, dass egal ob 20 oder 200 Bytes gelesen werden nur ein Telegramm übertragen wird. Die Datenmange die mit einer Anfrage bearbeitet werden kann liegt glaub ich bei etwa 220 Byte (PDU Größe ist CPU abhängig). Probier es mal mit 500 Byte, da müsstest du dann einen Unterschied haben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
1,4 Sekunden halte ich für sehr lange. Ich hätte hier Werte von unter 100 ms erwartet. Kann allerdings von der Zykluszeit der SPS abhängen.
Auch wenn es nicht libnodave ist:
In der Demoversion von ACCON-AGLink ist ein Beispiel dabei, das sich AGLink40_Performance nennt. Dieses verbindet sich mit der SPS, prüft welche DBs vorhanden sind, nimmt den größten und führt dann Lese- und bei Bedarf auch Schreibtests durch. Das Testprogramm liest unterschiedliche Blockgrößen jeweils 10 mal und gibt die Messwerte dann aus.
Da ACCON-AGLink auch den IBHLink unterstützt kannst du ja mal die Werte vergleichen.
 
Hallo Picador,
ich habe meine S7 gerade zu hause.
Ich benutze daveReadManyBytes von LibNoDave.
Die Werte wurden vom GetTickCount in VB2005 ermittelt.

Messungen der Übertragungszeiten beim Lesen:

Siemens-PC-Adapter mit 38400 Bit/s (einmalige Messung):
40 Bytes: 93 ms
400 Bytes: 359 ms
4000 Bytes: 3641 ms

MPI-LAN-Kabel mit 187,5 kBit/s
40 Bytes: 47 ms
400 Bytes: 109 ms
4000 Bytes: 1078 ms


Gruß
Earny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

danke erstmal für die Hilfe!

Die CPU ist gar nicht ausgelastet. Es ist eine zum Testen.
Ich habe die Demo Version von AGLink installiert aber das Testprogramm ist nicht dabei.
 
Das Programm befindet sich normalerweise in "C:\Dokumente und Einstellungen\All Users\Anwendungsdaten\DELTALOGIC\ACCON-AGLink\Samples\VC\AGL4 Tools". Einfach auf Start / Programme / DELTALOGIC / ACCON-AGLink / Beispiele klicken und dann nach VC / AGL4 Tools wechseln. Hier die Konfiguration vornehmen und AGLink40_Performance laufen lassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke! Habe gefunden! Bin wohl blind!

Ich habe den Test durchgeführt.
Gesammtzeit: 2860ms
2 Byte 14,6ms - 146ms gesammt
.....
446 Byte 70,3ms - 703ms gesammt
Es funktioniert schneller als ich erwartet habe.

Es liegt wohl an meinem Programm, dass es so langsam ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

den Fehler habe ich gefunden(glaube ich). Ich habe in jedem Tick-Ereignis die Methode dc.ConnectPLC() aufgerufen. Die ist wohl sehr langsam. Die wird jetzt nur ein Mal bei dem Aufbau der Verbindung aufgerufen. Jetzt geht richtig schnell.
Allerdings wenn ich mehr als 20 Byte empfange bekomme ich Fehler Nr. 5. Ich werde Morgen schauen was das heißt.

Schöne Grüße
 
Alles klar. Der DB den ich gelesen habe war ein bischen zu klein.
Jetzt funktioniert.

Vielen Dank!

p.s.
So viel ich weiss funktioniert Libnodave mit der Integrierten MPI Schnittstelle von einem Siemens PG nicht. Gibt es dazu eine alternative?
 
So viel ich weiss funktioniert Libnodave mit der Integrierten MPI Schnittstelle von einem Siemens PG nicht. Gibt es dazu eine alternative?
Wenn Du den S7Online-Zugang meinst, der funktioniert schon, aber nur mit einer CPU, aber Zottel ist da nicht so richtig glücklich damit (ich hoffe, ich habe das jetzt so richtig formuliert).
Wenn Du eine Alternative zu der "integrieren" MPI-Schnittstelle suchts, dann wäre ein ACCON-NetLink PRO eine interessante Sache. Wird auch direkt von libnodave unterstützt.
Wenn Du eine Alternative zu libnodave suchst, die die S7Online-Schnittstelle voll unterstützt, dann wäre ACCON-AGLink eine Möglichkeit. Kannst Du ja einfach mit der Demoversion probieren. Einfach "S7-PC/CP" statt "S7-NetLink" einstellen, das war es. An deinem Programm ändert sich dadurch übrigens nichts.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
...

Hallo,

Rainer Hönle schrieb:
Wenn Du den S7Online-Zugang meinst, der funktioniert schon, aber nur mit einer CPU, aber Zottel ist da nicht so richtig glücklich damit (ich hoffe, ich habe das jetzt so richtig formuliert).

Das liegt eigentlich daran, das nach meiner Erinnerung Slot und Rack in einem Byte der LibNodave mit einer falschen Verknüpfung erstellt werden. Ich habe das vor ein paar Jahren dem Zottel mal mitgeteilt, ich glaube aber das hat er bis heute noch nicht geändert.

Gruß

Question_mark
 
Zuletzt bearbeitet:
Zurück
Oben