Zottel
Level-3
- Beiträge
- 2.299
- Reaktionspunkte
- 278
-> 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.
#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 */
Vielleicht kann da jemand helfen?
Au, Scheiße, ja...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.
Andernfalls kann mich auch keiner dazu zwingen...Falls die Antwort auf diese Frage nein ist, brauchst du nicht weiterlesen:
Ja. Wenn welche da sind.Kann man über S7online DBs lesen?
Wenn Eingänge, Ausgänge und Merker klappen, muß es grundsätzlich in Ordnung sein. Dann solten DBs gar kein Problem darstellen.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...
Auszug aus nodave.h:Jedoch beim Lesen von DBs bekomme ich stets res = 10.
#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 */
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.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.
Vielleicht kann da jemand helfen?
Da muß ein DB 5 vorhanden sein. Er muß mindestens 68+4 = 72 Bytes lang sein.ich programmiere in c# daher sieht die Funktion beispielsweise wie folgt aus:
dc.readBytes(libnodave.daveDB,5,68,4, by)
//by ist ein bytearray