Libnodave auf S5 sehr langsam...

StefanK

Level-1
Beiträge
178
Reaktionspunkte
22
Zuviel Werbung?
-> Hier kostenlos registrieren
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:

Code:
[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
 
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.
 
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
 

Anhänge

  • testAS511-a.jpg
    testAS511-a.jpg
    100 KB · Aufrufe: 30
  • testAS511-b.jpg
    testAS511-b.jpg
    61,8 KB · Aufrufe: 19
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
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?
 
Zurück
Oben