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

Ergebnis 1 bis 4 von 4

Thema: libnoDave: InterfaceChanged zeitstemple von einem Block mit C# ermitteln

  1. #1
    Registriert seit
    13.04.2015
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich sitze seit einiger Zeit an dem Problem, dass ich mit meiner C# Anwendung den Zeitstempel der letzten Schnittstellenänderung ermitteln möchte. Allerdings kann ich die Funktion daveGetBlockInfo nicht in der .NET DLL von libnodave (libnodave.net.dll aus der version 0.8.5) finden. Ist die in irgendwo in einer Klasse versteckt?

    Grüße Chrisi
    Zitieren Zitieren libnoDave: InterfaceChanged zeitstemple von einem Block mit C# ermitteln  

  2. #2
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Schau mal in meiner Bibliothek: https://github.com/jogibear9988/DotN...ToolBoxLibrary

    da kannst du mit "PLCGetBlockInMC7" den MC7 COde eines Bausteines laden.
    und mit "
    MC7Converter.GetAWLBlock()" erhälst du dann ein "S7Block" welcher z.B. LastInterfaceChange als Property hat.

    Ansonsten sollten auch die Deklarationen für die Funktion in meiner Bibliothek sein!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

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

    Chrizzey (17.04.2015)

  4. #3
    Chrizzey ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.04.2015
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Okay, ich habe mich in deiner Bibliothek umgesehen, finde aber nichts, dass mir weiterhilft. Wo finde ich die DLL, die die Deklaration für
    Code:
    daveGetBlockInfo
    enthält.

    Mit der Alternative (M7 Code laden, zu AWL konvertieren und dann den Block selber auslesen) ginge es im Notfall auch, ist aber ungünstig, da der Wert zyklisch abgefragt wird.
    Geändert von Chrizzey (16.04.2015 um 09:26 Uhr)

  5. #4
    Chrizzey ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    13.04.2015
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe eine (hoffentlich) performante Lösung gefunden.

    Mit der Methode DaveConnection.getProgramBlock(int, int, byte[], ref int) lässt sich der MC7 Code eines Blocks herunterladen und im byte[] speichern. Bytes 22 bis 27 geben dabei den Zeitstempel der letzten Schnittstellenänderung an.
    Diese lassen sich dann wie hier beschrieben: DaveGetBlockInfo, format von modification date ?? in eine System.DateTime Struktur umwandeln.

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 24.01.2012, 12:43
  2. Ermitteln der U/min mit einem Inkrementalgeber
    Von AnMenzel im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.05.2009, 12:34
  3. [Frage] - Mit LibNoDave DB Größe ermitteln?
    Von marcengbarth im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 31.08.2007, 13:52
  4. Antworten: 1
    Letzter Beitrag: 14.12.2005, 21:42
  5. Parität aus einem DW ermitteln
    Von spunky im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 07.06.2005, 09:37

Lesezeichen

Berechtigungen

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