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

Ergebnis 1 bis 8 von 8

Thema: Status der CPU mit Libnodave auslesen.

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,
    ich probiere den Excel Beispiel mit Libnodave aus und möchte später das Modul für die Visualisierung unter VB6 einsetzen. Alle Makros außer ( readDiagnostic ) funktionieren einwandfrei. Ich benötige diese Funktion, da ich später den Zustand der CPU abfragen möchte. Bei ausführen der Makro bekomme ich die Fehlermeldung " Laufzeitfehler 49 Falsche DLL-Anrufkonvention " und die Bearbeitung bleibt in der Zeile
    "res2 = daveReadSZL (dc, ID, 0 , buffer (0))" stehen. Auch mit anderen ID’s aus Siemens Handbuch funktionier das Makro nicht.
    Meine Hardware.
    Siemens FeldPG mit WinXP
    Verbindung mit AG über CP5611 (MPI)
    S7-313C und S7-316-2DP
    Libnodave 0.8.2


    Wäre nett wenn einer einen Tipp hat, danke im voraus.
    mfg

    Zitieren Zitieren Status der CPU mit Libnodave auslesen.  

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

    Standard

    Zitat Zitat von toki
    und die Bearbeitung bleibt in der Zeile
    "res2 = daveReadSZL (dc, ID, 0 , buffer (0))" stehen.
    Die Funktion daveReadSZL hat (seit Version 0.8.2) einen 5. Parameter "buflen" vom Typ int, mit dem die Größe des Buffers übergeben werden muß. Damit werden Zugriffsverletzungen verhindert, wenn der reservierte Speicher für die komplette SZL zu klein ist.


    Gruß Axel
    Man muß sparn wo mn knn!

  3. #3
    toki ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    01.05.2006
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Besten Dank,
    dass hat mir weitergeholfen. Das Makro funktioniert.
    Ich habe noch eine Frage, muss "buffer" und "buflen" gleich sein und wie groß darf der Wert maximal sein? Ich habe Wert 0 eingegeben und kann ohne Probleme verschiene Zustände und CPU –Informationen abfragen.

    Gruß Denis.

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

    Standard

    Zitat Zitat von toki
    Ich habe noch eine Frage, muss "buffer" und "buflen" gleich sein und wie groß darf der Wert maximal sein?
    "buffer" ist der Pufferspeicher, in dem die angeforderte SZL abgelegt werden soll, "buflen" gibt die Größe dieses Puffers in Bytes an, die beiden stehen also in direktem Zusammenhang. Der Hintergrund dafür ist, das nicht für jede SZL ein Index verfügbar ist, mit dem nur der Header mit den Größenangaben zurückgeliefert wird. Wenn das aber vorher nicht abgefragt werden kann, ist es nicht möglich die Puffergröße passend zu dimensionieren. Ist die SZL dann größer als der reservierte Puffer, so wird durch den Parameter "buflen" ein Kopieren von Daten über den Puffer hinaus verhindert. Die Größe ist meines Wissens nicht limitiert, wenn man mal von den Grenzen seitens Speicher und Datentyp (int) absieht.


    Gruß Axel
    Man muß sparn wo mn knn!

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

    Standard

    Ist aber SPS-seitig limitiert. Ich glaube die maximale Größe liegt hier bei ca. 64 kB. Dies erhält man z.B., wenn man die Anzahl der Diagnosepuffereinträge auf 3200 setzt (soweit ich weiß das Maximum für große SPSen). Etwas größeres ist mir nicht bekannt.
    Rainer Hönle
    DELTA LOGIC GmbH

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

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

    Standard

    Zitat Zitat von toki Beitrag anzeigen
    Hallo zusammen,
    ich probiere den Excel Beispiel mit Libnodave aus und möchte später das Modul für die Visualisierung unter VB6 einsetzen. Alle Makros außer ( readDiagnostic ) funktionieren einwandfrei. Ich benötige diese Funktion, da ich später den Zustand der CPU abfragen möchte. Bei ausführen der Makro bekomme ich die Fehlermeldung " Laufzeitfehler 49 Falsche DLL-Anrufkonvention " und die Bearbeitung bleibt in der Zeile
    "res2 = daveReadSZL (dc, ID, 0 , buffer (0))" stehen. Auch mit anderen ID’s aus Siemens Handbuch funktionier das Makro nicht.
    Meine Hardware.
    Siemens FeldPG mit WinXP
    Verbindung mit AG über CP5611 (MPI)
    S7-313C und S7-316-2DP
    Libnodave 0.8.2


    Wäre nett wenn einer einen Tipp hat, danke im voraus.
    mfg
    Sorry das Ich so einen alten Thread hervorkrame, aber hier ist die Rede von IDs in dem Siemens Handbuch! In welchem Siemens Handbuch finde Ich diese IDs??
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #7
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Sorry das Ich so einen alten Thread hervorkrame, aber hier ist die Rede von IDs in dem Siemens Handbuch! In welchem Siemens Handbuch finde Ich diese IDs??
    einige sind im system- und standardfunktionen-handbuch dokumentiert, aber lange nicht alle ... stichwörter: SZL und SFC51
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.311
    Danke
    932
    Erhielt 3.321 Danke für 2.683 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    SZL-ID sind auch in der CPU-Operationsliste aufgeführt, z.B. hier S7-300 CPU-Handbücher nach Operationsliste suchen.

    Gruß
    Harald
    Zitieren Zitieren Operationsliste  

Ähnliche Themen

  1. Werte / Status auslesen
    Von don.wastello im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 24.02.2010, 09:30
  2. Libnodave, VBA und Auslesen von Bits
    Von Fluffi im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 24.07.2009, 14:09
  3. Libnodave - Bausteininfos auslesen
    Von Jenser im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 02.05.2007, 17:42
  4. CPU status auslesen...
    Von hitchacer im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 02.05.2006, 13:09
  5. Mit Libnodave Diagnosepuffer auslesen
    Von Bewareofthis im Forum Hochsprachen - OPC
    Antworten: 6
    Letzter Beitrag: 09.11.2005, 17:22

Lesezeichen

Berechtigungen

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