Libnodave

dkg

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

ich versuche gerade mit Hilfe der Bibliothek "Libnodave" in C# Daten aus einer Siemens SPS (S7-1200) auszulesen. Nun war es mir möglich, eine Verbindung aufzubauen und auch die digitalen Eingänge auszulesen. Nun möchte ich noch die analogen Eingänge beziehungsweise Daten aus Datenblöcken lesen. Ich bekomme aber nach dem Aufruf der "readBytes" Funktion als Rückgabewert eine 10. Laut Doku ist die Information, die ich abrufen möchte nicht verfügbar.

Die Befehle sehen so aus:
readBytes(libnodave.daveAnaIn, 0, 0, 2, null) -> Erster Analogeingang
readBytes(libnodave.dave, 1, 3, 4, null) -> müsste Wert 3 aus Datenblock 2 auslesen, wenn ich alles richtig verstanden habe!?

Habe nicht wirklich Erfahrung, mit SPS Programmierung, somit verzeiht mir etwaige Anfängerfehler... ;)

mfg dominik
 
Über die Variablendienste von libnodave kann bei der S7-1200 nur auf Eingänge, Ausgänge, Merker und 300/400 kompatible Datenbausteine zugegriffen werden, Peripheriebereiche gehören nicht dazu.

Anstatt auf Eingänge zuzugreifen, legst du dir besser für die Schnittstelle zu libnodave einen extra Datenbaustein (z.B. "DB_VISU") an. Wichtig ist dass du den DB als 300/400 kompatibel anlegst, sonst kann libnodave nicht darauf zugreifen.

Einen Analogeingang würde ich dann im SPS Programm schon fertig in eine Real-Zahl mit entsprechender Einheit konvertieren, und den Wert in dem Schnittstellen-DB ablegen. Dann kann deine PC-Anwendung ohne weiter daran rumzurechnen direkt mit den Werten weiterarbeiten.
 
Zurück
Oben