Länge von DB s und andere Libnodave Fragen

RobiHerb

Level-2
Beiträge
679
Reaktionspunkte
113
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie stelle ich die Länge von DBs und das Vorhandensein überhaupt fest.

Ich bekomme die Fehlermeldung 5, wenn ich lesen möchte, was es nicht gibt.

Kann man das vorher abfragen?

Gibt es eine Liste mit allen Fehlercodes? Theoretisch gibst in Dave auch eine Fumktion FehlerCode -> Text aber bei mir unter .Net ergibt das unlesbaren Mist, da wohl die Unicode Umwandlung fehlt.
 
Wie stelle ich die Länge von DBs und das Vorhandensein überhaupt fest.

Mit daveListBlocksOfType gibt es eine Liste der SPS vorhandenen Bausteine.
Mit daveGetBlockInfo lassen sich dann die Bausteineigenschaften abfragen.

Ich bekomme die Fehlermeldung 5, wenn ich lesen möchte, was es nicht gibt.

Kann man das vorher abfragen?

Gibt es eine Liste mit allen Fehlercodes? Theoretisch gibst in Dave auch eine Fumktion FehlerCode -> Text aber bei mir unter .Net ergibt das unlesbaren Mist, da wohl die Unicode Umwandlung fehlt.

Alle OPC-Server oder Treiber die ich bisher gesehen habe machen das genauso. Es wird eine Anfrage an den Datenbereich gestellt, und wenn dieser nicht vorhanden ist wird gilt/gelten das/die Items als gestört.
Nachteil an der Sache ist, dass wenn man z.B. einen Block von 100 Bytes aus einem DB liest, dieser aber nur 99 Bytes lang ist, der ganze Block "ungültig" ist. Aber so ist das nunmal.

Die defines der Fehlernummern stehen in der nodave.h.
 
Zurück
Oben