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

Ergebnis 1 bis 6 von 6

Thema: [Frage] LibNoDave-Verbindung aktualisieren?

  1. #1
    Registriert seit
    22.02.2007
    Ort
    Sponheim
    Beiträge
    190
    Danke
    3
    Erhielt 10 Danke für 9 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen!

    Bin gerade dabei ein kleines Programm zu basteln, um Werte aus DB zu lesen und auch um welche reinzuschreiben.
    Schreiben funktioniert sehr gut, Lesen fast sehr gut

    Folgendes ist mir aufgefallen: Wenn ich eine Verbindung aufbaue und den DB auslese, dann bekomme ich alle Werte, schreibe ich nun Werte in den DB, dann werden die auch korrekt geschrieben. Lasse ich jetzt erneut den DB auslesen, dann stehen die neu geschriebenen Werte nicht drin.

    Beobachte ich den DB unter STEP7, dann sieht man auch die neuen Werte drin stehen.

    Hab dann versucht, beim Lesen die Verbindung jedes mal zu trennen und neu aufzubauen, dass funktioniert aber auch nicht. Wobei das auch nur für ein Test gut wäre, im laufenden Betrieb andauernd, die Verbindung beenden und neu herstellen kann ja so gut auch nicht sein.

    Achso, ich benutze Delphi 7 Enterprise, LibNoDave 0.8.4 und Methode GetInt(x)

    Danke schon mal im Voraus!
    Zitieren Zitieren [Frage] LibNoDave-Verbindung aktualisieren?  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Bist du sicher, daß das 2. Auslesen auch tatsächlich ausgeführt wird?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    22.02.2007
    Ort
    Sponheim
    Beiträge
    190
    Danke
    3
    Erhielt 10 Danke für 9 Beiträge

    Standard

    Ich hab jetzt den Code nicht da, aber auf meiner Form gibt's nen Button "lesen", im OnClick des Buttons wird dann per WHILE-Schleife eingelesen (ich weiß, ist nicht sehr elegant, ist ja auch nur ein Test )

    etwa so:

    Code:
    i := 0;  // Schleifenzähler
    j := 10;// Ende
    
    while i < j do
    begin
      data := noDave.GetInt(i);
      ListBox1.AddItem(IntToStr(data),nil);
      i := i +2;
    end;
    Ich gehe jetzt einfach mal davon aus, dass GetInt(i) jedes Mal auch den neuen Int-Wert anfragt.

    Allerdings muss ich dazu sagen, dass es mein erstes ernsthaftest Projekt mit LibNoDave ist. Die Schleife hab ich gewählt, da es zum Testen einfach der simpelste Weg war, wobei das doch schon schnell ist...

  4. #4
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Beitrag

    Hallo,

    Mit der Schleife 10x nacheinander auslesen, vergess das mal lieber ...
    Du musst der LibNoDave und der SPS auch eine Chance lassen, Deine Aufträge auszuführen

    Versuche doch erstmal nur einen Auftrag abzusenden, werte das Ergebnis und dann schau mal weiter.

    Gruß
    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Loop ???  

  5. #5
    Registriert seit
    19.09.2005
    Ort
    Freudenstadt
    Beiträge
    811
    Danke
    64
    Erhielt 101 Danke für 64 Beiträge

    Standard

    Zitat Zitat von marcengbarth Beitrag anzeigen
    Ich gehe jetzt einfach mal davon aus, dass GetInt(i) jedes Mal auch den neuen Int-Wert anfragt.
    Nein, GetInt liest aus dem internen Puffer der Komponente. Der wird nur durch erneuten Aufruf der Methode ReadBytes aktualisiert.

    Wenn in der Eigenschaft Interval ein Wert ungleich 0 steht, dann ist das die Zykluszeit in ms für den Thread, der das Lesen des in den anderen Eigenschaften angegebenen Datenbereichs durchführt. Steht 0 in der Eigenschaft Interval, dann wird jedesmal, wenn sich die Eigenschaften für die Adressierung ändern, nur einmal von der SPS gelesen. Die Methode ReadBytes mußt Du in dem Fall in Deinem eigenen Code aufrufen.


    Gruß Axel
    Man muß sparn wo mn knn!

  6. #6
    Registriert seit
    22.02.2007
    Ort
    Sponheim
    Beiträge
    190
    Danke
    3
    Erhielt 10 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke afk,

    das hilft mir echt weiter!!!

Ähnliche Themen

  1. Libnodave + Verbindung CPU
    Von Proxy im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 19.03.2011, 18:04
  2. Frage zu TCP/IP Verbindung
    Von snowbda im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 11.09.2009, 17:45
  3. Frage zu Libnodave und Hardware
    Von FC001 im Forum Hochsprachen - OPC
    Antworten: 13
    Letzter Beitrag: 25.07.2009, 12:26
  4. libnodave Verbindung
    Von Mike1972 im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 30.01.2008, 16:54
  5. Frage zu Libnodave und VB
    Von delphie im Forum Hochsprachen - OPC
    Antworten: 9
    Letzter Beitrag: 26.10.2005, 17:24

Lesezeichen

Berechtigungen

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