# Libnodave auf S5 sehr langsam...



## StefanK (23 November 2009)

Hallo,
ich verwende Libnodave (aktuelle Version) um auf eine S5-115U CPU943 lesend und schreibend zuzugreifen. Schnittstelle ist AS511 per PG- Kabel von PI auf Com-Port. Anwendung mit VB.NET entwickelt. Eine andere Verbindung ist nicht möglich, da über eine Infrarot-Datenschnittstelle von Sick kommuniziert wird.
Nun zum Problem: lesen oder schreiben von ein paar bytes (je 10) dauert jeweils ca 3- 4 Sekunden. Ist das normal? Geht das schneller?

Ab und zu kommt sogar Müll anstatt des realen Wertes beim lesen zurück.

Verbindung läuft so ab:


```
[SIZE=2]fds(1).rfd = libnodave.setPort([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"COM2"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"9600"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], AscW([/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"E"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]))[/SIZE]
[SIZE=2]fds(1).wfd = fds(1).rfd[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff] If[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] fds(1).rfd > 0 [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2]   di(1) = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] libnodave.daveInterface(fds(1), [/SIZE][SIZE=2][COLOR=#a31515][SIZE=2][COLOR=#a31515]"S5"[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2], 0, libnodave.daveProtoAS511, libnodave.daveSpeed187k)[/SIZE]
[SIZE=2]   res = di(1).initAdapter[/SIZE]
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]     If[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] res = 0 [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE]
[/COLOR][/SIZE][SIZE=2]       di(1).setTimeout(500000)[/SIZE]
[SIZE=2]       dc(1) = [/SIZE][SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] libnodave.daveConnection(di(1), 2, 0, 0)[/SIZE]
[SIZE=2]       res = dc(1).connectPLC[/SIZE]
[SIZE=2].[/SIZE]
[SIZE=2].[/SIZE]
[SIZE=2].[/SIZE]
```
 
Ich brauche das irgendwie schneller. Die Verbindung zur S5 lasse ich permanent offen.

Gruß
Stefan


----------



## Zottel (23 November 2009)

> lesen oder schreiben von ein paar bytes (je 10) dauert jeweils ca 3- 4 Sekunden. Ist das normal?


Nein! Ich habe jetzt keine S5 hier, aber es sollte eher z.B. zweimal pro Sekunde gehen.
Was bei dir falsch läuft ist schwer zu sagen. Ich habe keine CPU943 zum Probieren und VB nutze ich auch nicht. 
Was sagt ein Benchmark mit testAS511 -b?
Falls der auch sehr schlecht ist, bitte mal direkt (ohne Lichtstecke) probieren.
Unterschied?
testAS511 -d zeigt die bytes, die zwischen PC und SPS ausgetauscht werden. Damit sollte man sehen können, wo es hängt.


----------



## StefanK (24 November 2009)

Hallo,
danke für die schnelle Antwort, ich werde das heute Mittag testen, wenn ich wieder auf der Baustelle bin.


----------



## StefanK (24 November 2009)

*95U auch schneller...*

Hallo,
ich habe das ganze auf meiner 95U getestet, gleiches Ergebnis: 3,25 sek. für lesen oder schreiben. Die Zeit ist immer relativ gleich.

Verbindungsaufbau und Abbau dauern auch ca. 3 sek.

In den beiden Bildern ist das Ergebnis vom Benschmark-Test (testAS511 -b)


Uppps, sollte heißen: "95U auch nicht schneller" in der Überschrift


----------



## Ralle (24 November 2009)

Also, die AS511-Verbindung über Libnodave ist im Normalfall definitiv schneller. Was ich nicht mehr genau weiß, wieviel Zeit der Verbindungsaufbau an sich benötigt. Ich baue die Verbindung einmal auf und schließe sie erst, wenn sie nicht mehr genutzt werden soll oder ein Verbindungsabbruch erfolgte.


----------



## StefanK (24 November 2009)

Hallo Ralle,
der Verbindungsaufbau ist egal, sollt nur zur Info sein. Mit der Verbindung handhabe ich das genau wie du. Nur das lesen und schreiben ist definitiv zu langsam.

Ich habe gerade eine alte dll von IBH (Toolkit S5) getestet unter VB.NET. Damit geht es um ca. Faktor 2,5 schneller. Ich möchte allerdings bei Libnodave bleiben, da ich auch mit einer S7 spreche und das super klappt.

Gruß
Stefan


----------



## argv_user (24 November 2009)

Wenn die Übertragungsstrecke Fehler produziert, so könnte eine
Erklärung sein, dass sich die Bibliotheken von IBH und Zottel hier
unterschiedlich verhalten.

Hast Du schon den Rat von Zottel mit dem direkten Anstecken probiert?


----------



## StefanK (24 November 2009)

argv_user schrieb:


> Hast Du schon den Rat von Zottel mit dem direkten Anstecken probiert?


 
Hallo argv_user,
ja, ich bin im Moment noch im Büro mit einer 95U auf dem Schreibtisch verbunden. Schnittstellenadapter ist ebenfalls das PG-Kabel von PI auf Com-Port.


----------



## argv_user (24 November 2009)

StefanK schrieb:


> Hallo argv_user,
> ja, ich bin im Moment noch im Büro mit einer 95U auf dem Schreibtisch verbunden. Schnittstellenadapter ist ebenfalls das PG-Kabel von PI auf Com-Port.



Die Ausgabe von "testAS511 -b" sieht doch gut aus: 100 reads in 50 Sekunden.


----------

