Fragen zu Libnodave, die immer wieder kommen

Zottel

Level-3
Beiträge
2.299
Reaktionspunkte
278
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich bekam eben die 7. PN vom selben User. Ich kopiere sie mal hierhin und beantworte sie hier. Dann haben vielleicht auch andere was davon.
Ich weiß du bist sehr beschäftigt und kannst dich nicht um Kleinigkeiten kümmern aber um die Entwicklung von Libnodave zu fördern forderst du uns in der Doku auf dir Feedback zu geben.
Au, Scheiße, ja...
Falls die Antwort auf diese Frage nein ist, brauchst du nicht weiterlesen:
Andernfalls kann mich auch keiner dazu zwingen...
Kann man über S7online DBs lesen?
Ja. Wenn welche da sind.
Falls ja:
Ich arbeite mit Libnodave über S7online, da ich einen CP5611 verwende. Eingänge, Ausgänge und Merker lesen klappt tadellos. Großes Lob und Respekt...
Wenn Eingänge, Ausgänge und Merker klappen, muß es grundsätzlich in Ordnung sein. Dann solten DBs gar kein Problem darstellen.
Jedoch beim Lesen von DBs bekomme ich stets res = 10.
Auszug aus nodave.h:

#define daveResItemNotAvailable 10 /* means a a piece of data is not available in the CPU, e.g. */
/* when trying to read a non existing DB */
In der Anleitung wird darauf hingewiesen, dass es sich hierbei vermutlich um einen Fehler in der SPS handelt und mit daveStrerror bekommt man genauere hinweise. Es werden jedoch nur Vierecke ausgegeben.
Sorry für die Vierecke! Als ich das programmiert habe, nahm .NET an, daß ein Standard-String (8-Bit-Zeichen) zurückgegeben wird. Neuere .NET-Versionen erwarten heute Unicode. DIE haben das geändert, nicht ICH. Ich programmiere kein .NET und weiß nicht, wie ich es so machen kann, daß altes UND neues .NET zufrieden sind.
Vielleicht kann da jemand helfen?
ich programmiere in c# daher sieht die Funktion beispielsweise wie folgt aus:
dc.readBytes(libnodave.daveDB,5,68,4, by)
//by ist ein bytearray
Da muß ein DB 5 vorhanden sein. Er muß mindestens 68+4 = 72 Bytes lang sein.
 
Mal sehen

Mit den Strings werde ich mal sehen, was sich da machen lässt, allerdings nicht sofort. Ich hatte so ein Problem auch vor kurzem mit der Umsetzung einer DOS Zeichensatz Antwort aus einer alten SPS in die .NET Umgebung.
 
Zurück
Oben