zeitverhalten von libnodave

fubu16

Level-1
Beiträge
50
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
diese frage richtet sich an zottel und alle libnodave user!!

hat sich jemand schon einmal mit dem zeitverhalten von libnodave auseinandergesetzt bzw. wie schnell ein read oder write dauert und wieviele read´s und write´s man in welchem abstand hintereinander ausführen kann?

habe nähmlich das problem, dass ich in einer do....while schleife auf die sps lesend zugreifen muss bis eine bestimmte bedingung erfüllt ist, um daraufhin so schnell wie möglich in meiner anwendung zu reagieren...
wenn jemand eine elgantere lösung parat hat...würde ich sie gerne wissen.

danke im voraus
 
Naja ich les in SCADA.NET immer ganze Bereiche (bei mir heißen die dann S7 Areas) und Werte daraus dann die einzelnen Variablen aus. Sprich, ich les einfach den DB mit 400 Bytes und Werte aus dem Ergebnis aus. Geht eigentlich sehr schnell, zumindest über ISO/TCP.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja ....das problem ist ich,dass ich damit keine visualisierung bediene sondern eine relativ zeitkritische anwendung hab, die auch noch eine datenbank auf dem rücken hat, aber die db ist kein problem, da sie sehr schnell ist
 
Zuletzt bearbeitet:
fubu16 schrieb:
diese frage richtet sich an zottel und alle libnodave user!!

hat sich jemand schon einmal mit dem zeitverhalten von libnodave auseinandergesetzt...
Aber ja.
bzw. wie schnell ein read oder write dauert und wieviele read´s und write´s man in welchem abstand hintereinander ausführen kann?
Der Benchmark (testXXX -b) zeigt dir, wie schnell oder langsam es gehen kann und wie groß der Unterschied ist, ob 1 oder viele Bytes gelesen werden. Viele Bytes dauern nicht wesentlich länger, da schon 1 Byte den gesamten Overhead von Anfrage, Reaktionszeit der CPU, Quittungen erfordert.
Tips um möglichst hohe Geschwindigkeiten zu erzielen, stehen auch in der Dokumentation.
Ein Byte oder einen Merker von der Steuerung zu lesen und damit anzeigen zu lassen, ob andere Daten neu sind und gelesen werden sollten bringt eigentlich nur was, wenn die gesamte Datenmenge nicht in 2 PDUs (die für die Anfrage + die für die Daten) passen würde.
Über den Speicher der CPU "verstreute" Daten werden besser im Steuerungsprogramm in einen gemeinsamen Speicherbereich kopiert (oder besser, gleich dort angelegt).
Ich bin recht sicher, daß an der Geschwindigkeit nicht viel zu verbessern ist, weil die entscheidenden Dinge in der S7-Kommunikation festgelegt sind und konkurrierende Produkte das daher auch nicht schneller können.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
geschwindigkeit von libnodave

hallo zottel,
ich habe die sache mit der geschwindigkeit genauer untersucht ...und festgestellt dass die
kommunikation schnell genug für meine anwendung.......ABER

ich habe hier eine relative eigenartigen erscheinung bei meiner anwendung,.... kann es sein dass beim libnodave, wenn die anwendung unkontrolliert abgebrochen wird, (also auf die plc kein disconnect ankommt) beim wieder connecten auf plc problemme entstehen können, bzw alles langsamer wird oder gar kein connect auf die plc möglich ist.....wenn ja ...was kann man dagegen tun??
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
fubu16 schrieb:
ich habe das simple testIBH.c angepasst

und mein IBH-LINK geht von einem HUB auf das Profibus
"Protokoll"
Ok, mit Protokoll meinte ich, welches "daveProtoXXXX" deine Anwendung benutzt. Aber so ist es auch klar. Abbrechen ist beim IBH-Link besonders doof. Die nächste Version (dauert nicht mehr lang) wird eine Funktion zum Reset des NetLink haben, die ich aber nicht selbst testen konnte.
 
ok...dankeschön,

ich werde für´s erste die tastenkombination "Strg+C" abfangen
und dann mich aus der PLC sauber disconnecten....

dann müsste es ja beim nächsten connect keine probleme mehr geben,
.... wenn ich es richtig verstandenhabe oder???
 
Zuletzt bearbeitet:
Zottel schrieb:
Die nächste Version (dauert nicht mehr lang) wird eine Funktion zum Reset des NetLink haben, die ich aber nicht selbst testen konnte.


irgendwie hat mein sauberes disconnecten von der PLC auch nichts gebracht....ich muss wohl auf die nächste version von libnodave warten!!!!
apropos.....wann ca. kommt sie den raus die nächste version??:D
 
Zurück
Oben