Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Daten lesen aus DB mit libnodave

  1. #1
    Registriert seit
    19.04.2009
    Beiträge
    302
    Danke
    31
    Erhielt 40 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,


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

    Code:
              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?
    Zitieren Zitieren Daten lesen aus DB mit libnodave  

  2. #2
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    642
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Es wird das Bit gelesen, das im Funktionsaufruf angegeben wurde.
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  3. Folgender Benutzer sagt Danke zu Rainer Hönle für den nützlichen Beitrag:

    Proxy (05.03.2011)

  4. #3
    Proxy ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    19.04.2009
    Beiträge
    302
    Danke
    31
    Erhielt 40 Danke für 32 Beiträge

    Standard

    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.

  5. #4
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    642
    Erhielt 955 Danke für 769 Beiträge

    Standard

    Habe libnodave nicht hier. Wie ist denn die Deklaration von readBits?
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  6. Folgender Benutzer sagt Danke zu Rainer Hönle für den nützlichen Beitrag:

    Proxy (05.03.2011)

  7. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.759
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    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
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  8. Folgender Benutzer sagt Danke zu Jochen Kühner für den nützlichen Beitrag:

    Proxy (05.03.2011)

  9. #6
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.759
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von Proxy Beitrag anzeigen
    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!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  10. Folgender Benutzer sagt Danke zu Jochen Kühner für den nützlichen Beitrag:

    Proxy (05.03.2011)

  11. #7
    Registriert seit
    16.09.2009
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Proxy Beitrag anzeigen
    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

  12. #8
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.759
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von Magoo50 Beitrag anzeigen
    Bei diesem Auftrag wird das Bit 710 aus dem aktuellen DB gelesen
    Is klar! Und was ist der aktuelle DB?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  13. #9
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    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.
    Schneller geht es, ein ganzes Byte oder mehrere Bytes mittels
    daveReadBytes auszulesen und die
    einzelnen Bit-Werte dann in VB zu ermitteln (siehe unten).
    Allgemein:

    res = daveReadBits(dc, Speicherbereich, DB-Nummer, Bitadresse,
    Länge in Bytes, Lesepuffer(0))
    Beispiel:
    Der Wert des Merker M37.5 soll gelesen werden. Die absolute Bitadresse = 37 * 8 + 5 = 301. Der
    Wert wird zunächst in den Puffer
    buf(0) geschrieben und anschließend in die TextBox. Nach dem
    Schreibvorgang steht der Wert 0 oder 1 in der TextBox.

    Dim buf(0) As Byte
    res = daveReadBits(dc, daveFlags, 0, 301, 1, buf(0))
    txtM37_5Wert.Text = buf(0)
    ich sehe das so, daß hier aus db710 das bit 0.1 gelesen wird.

  14. #10
    Registriert seit
    09.08.2013
    Beiträge
    2
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von tnt369 Beitrag anzeigen
    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?

Ähnliche Themen

  1. SZL lesen mit LibNoDave
    Von GvOdin im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 29.01.2014, 10:57
  2. Archivierte Daten lesen
    Von Franz im Forum HMI
    Antworten: 3
    Letzter Beitrag: 07.09.2008, 19:54
  3. Libnodave Daten lesen/schreiben
    Von Acidic im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 02.06.2008, 08:32
  4. Daten lesen
    Von tomatensaft im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.10.2007, 16:33
  5. Daten aus DB lesen / in DB schreiben
    Von Supervisor im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 29.06.2006, 12:02

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •