# Daten lesen aus DB mit libnodave



## Proxy (5 März 2011)

Hallo,


hätte da einen frage zu libnodave in Verbindung mit DB's.


```
int s = dc.readBits(libnodave.daveDB, 710, 1, 1, null);
                    a = dc.getS8(); 
                    Console.WriteLine("FD0: " + a);
                    dc.readBytes(libnodave.daveDB,710,200,4,null);
                    float ds = dc.getFloat();
```

Das ist was ich programmiert habe, ein teil davon. Jetzt bekomm ich bei ds einen richtigen wert raus so weit so gut. Also verbindung funktioniert. Jedoch ist meine frage bei readBits. Was liest er da? Ein ganzes Byte? Oder liest er hier nur das erste Bit also 0.1?


----------



## Rainer Hönle (5 März 2011)

Es wird das Bit gelesen, das im Funktionsaufruf angegeben wurde.


----------



## Proxy (5 März 2011)

Du meinst das hier?
readBits(libnodave.daveDB, 710, 1, 1, null)
Wenn ich das richtig lese bzw. verstehe steht da ja DBX1.0 oder? Brächte ein Beispiel wie die adressierung genau ist.


----------



## Rainer Hönle (5 März 2011)

Habe libnodave nicht hier. Wie ist denn die Deklaration von readBits?


----------



## Jochen Kühner (5 März 2011)

Bei libnodave ist in irgendeiem Unterordner nee doku dabei, in der sind alle funktionen beschrieben. Kann aber sein das Readbits hier fehlt, wenn das so ist, schau bei readbytes nach, Ich glaub der unterschied war nur, das man die Byteadresse mal 8 nehmen muss (da man ja noch die bits adressieren können muss!)


----------



## Jochen Kühner (5 März 2011)

Proxy schrieb:


> Du meinst das hier?
> readBits(libnodave.daveDB, 710, 1, 1, null)
> Wenn ich das richtig lese bzw. verstehe steht da ja DBX1.0 oder? Brächte ein Beispiel wie die adressierung genau ist.



so wie ich das sehe adressierst du hier bit 0.1, bit 1.0 wäre eine 8 statts eine 1!


----------



## Magoo50 (31 März 2011)

Proxy schrieb:


> Du meinst das hier?
> readBits(libnodave.daveDB, 710, 1, 1, null)
> Wenn ich das richtig lese bzw. verstehe steht da ja DBX1.0 oder? Brächte ein Beispiel wie die adressierung genau ist.




Bei diesem Auftrag wird das Bit 710 aus dem aktuellen DB gelesen


----------



## Jochen Kühner (31 März 2011)

Magoo50 schrieb:


> Bei diesem Auftrag wird das Bit 710 aus dem aktuellen DB gelesen



Is klar! Und was ist der aktuelle DB?


----------



## tnt369 (31 März 2011)

hier mal der auszug aus der doku:



> *
> 4.1.1 ReadBits-Methode​*Die ReadBits-Methode dient dem Auslesen einzelner Bits aus der S7-CPU. Sobald mehr als ein Bit
> gelesen werden soll, ist von dieser Methode abzuraten. Es dauert relativ lange, für jedes Bit eine einzelne
> Anfrage an die SPS zu senden.
> ...


 
ich sehe das so, daß hier aus db710 das bit 0.1 gelesen wird.


----------



## schatschneider (9 August 2013)

tnt369 schrieb:


> hier mal der auszug aus der doku:
> 
> 
> 
> ich sehe das so, daß hier aus db710 das bit 0.1 gelesen wird.



Hallo!

Wo gibt es diese Doku?


----------



## Mobi (22 August 2013)

wofür gibts Google?

```
daveReadBits(daveConnection * dc, int area, int DB, int start, int len, void * buffer);
```


----------



## Prox (17 September 2013)

schatschneider schrieb:


> Hallo!
> 
> Wo gibt es diese Doku?



http://www.scribd.com/doc/163674638/LibNoDave-Mit-VB2005-Forum

10 Seiten ..

cu prox


----------



## Mobi (18 September 2013)

Innerhalb von einem Monat, sollte er die eigentlich schon gefunden haben.


----------

