# Übertragungsgeschwindigkeit mit Libnodave und IBH Link



## Pikador (12 März 2010)

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


----------



## MW (12 März 2010)

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.


----------



## Rainer Hönle (12 März 2010)

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.


----------



## Earny (13 März 2010)

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


----------



## Rainer Hönle (13 März 2010)

Und der IBHLink ist sicher schneller als der MPI-Adapter. Somit *MUSS* ein Wert unter 100 ms herauskommen.


----------



## Pikador (15 März 2010)

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.


----------



## Rainer Hönle (16 März 2010)

Pikador schrieb:


> Ich habe die Demo Version von AGLink installiert aber das Testprogramm ist nicht dabei.


Werde mich darum kümmern.


----------



## Rainer Hönle (16 März 2010)

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.


----------



## Pikador (16 März 2010)

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.


----------



## Rainer Hönle (17 März 2010)

Die Ursache schon gefunden und behoben?


----------



## Pikador (17 März 2010)

Nein, noch nicht. Ich habe jetzt aber keine Zeit dafür. Stressss!
Werd mich aber melden.

Viele Grüße


----------



## Pikador (18 März 2010)

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


----------



## Pikador (18 März 2010)

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?


----------



## Rainer Hönle (18 März 2010)

Pikador schrieb:


> 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.


----------



## Question_mark (18 März 2010)

*...*

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


----------

