libnodave timer/counter schreiben

b0den

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Zuerst einmal danke für das tolle Forum. Vielen Dank auch an Zottel für libnodave, ein wirklich sehr geiles Tool!

Nun habe ich ein kleines Problem: Könnte mir jemand eine .exe oder eine Wireshark-Aufzeichnung des schreibens eines Counters / Timers geben?
Kann es leider nicht selbst kompilieren.
Oder gibt es gar eine Test-Exe im libnodave, die das macht (habe nichts gefunden)?
Benutze übrigens Iso on TCP.

Herzlichen Dank!

schönen Grüß
b0den
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ja habe ich.
Es geht mir eher um den Aufbau eines write requests, wenn es sich um einen counter / timer handelt.
Da ich aus dem Source / Hilfe nicht recht schlau werde, würde ich mich freuen, wenn mir jemand ein Wireshark-Protokoll bzw. eine .exe mit einem Beispiel des Schreibens geben könnte.

Danke!

Gruß
b0den
 
du willst auf eine PLC zugreifen via IP und port, und im intervall daten auslesen bzw. schreiben?

Ja.
Genauer: ich will nur timer / counter schreiben. Also ein daveWriteBytes(daveCounter/Timer, ...)
Und davon bräuchte ich eine .exe / Aufzeichnung, z.B. wo irgendwas in irgendeinen Timer/Counter geschrieben wird.

Danke & Gruß

b0den
 
Es geht mir eigentlich um den schreibenden Zugriff auf Zähler / Timer auf der S7 mit libnodave.
Habe fast keine Erfahrung, von daher wäre mir o.g. lieber.
Trotzdem danke!
 
Es geht mir eigentlich um den schreibenden Zugriff auf Zähler / Timer auf der S7 mit libnodave.
Habe fast keine Erfahrung, von daher wäre mir o.g. lieber.
Trotzdem danke!
Selbst ich habe damit kaum Erfahrung.
1. Ändere den Quellcode von testXXX.exe und setze bei den Schreibtests daveTimer statt daveFlags oder daveDB ein.
2. Pro Timer brauchst du 2 byte Puffer, da der Timerwert 2 byte lang ist.
3. Ich erinnere mich nicht, ob der parameter len bei Timern die Anzahl der Bytes oder Timer angibt. Kannste ja probieren.
4. Danach kannst du selbst mit Wireshark aufzeichnen,
5. es gibt zwar eine Funktion getSeconds, die das S5T#-Format in Sekunden wandelt, aber nicht die Umkehrfunktion. Grund: Es gibt mehrere Möglichkeiten, dieselbe Zeit darzustellen, je nach Auflösung.

Was schreibt man eigentlich bei einem Timer, die LAUFENDE Zeit oder die ENDZEIT???
Und was passiert, wenn man auf einen laufenden Timer schreibt???
 
Zurück
Oben