Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wer hat Erfahung mit libnodave.dll?

Forumthread: Wer hat Erfahung mit libnodave.dll?

Wer hat Erfahung mit libnodave.dll?
13.08.2017 12:18:23
Rainer
Hallo Excelfreunde,
ich habe mit libnodave.dll unter Windows XP und Office 2010 eine Mappe erschaffen, die wunderbar einfach per Mausklick Werte aus einer Siemens S7 SPS ausliest.
Das habe ich zu einer eigenen Verwunderung sogar hinbekommen.
Aber offenbar funktioniert die libnodave.dll auschließlich unter 32bit. Habe ich irgendeine Chance, das unter Windows 7 aufwärts (vermutlich muss ich bald auf 10 umsteigen) mit 64bit zum laufen zu bekommen?
Ich habe das Office 2010 als 32bit installiert, aber das hat (vermutlich sehr offensichtlich für Profis) nichts gebracht.
Wer hat Ideen?
Gruß,
Rainer
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wer hat Erfahung mit libnodave.dll?
13.08.2017 13:16:14
Hans
Moin moin,
das schmeißt Google zu deiner Frage aus.....
https://www.google.de/search?site=&source=hp&q=libnodave.dll+64+bit&oq=libnodave.dll+&gs_l=psy-ab.1.2.0i30k1l4.1600.1600.0.4524.1.1.0.0.0.0.87.87.1.1.0....0...1.1.64.psy-ab..0.1.86.dkwKiyqXAPY
Schönen Sonntag
Hans
Anzeige
AW: Wer hat Erfahung mit libnodave.dll?
14.08.2017 11:47:21
Rainer
Hallo Hans,
der Webdienst "Google" war mir schon bekannt, aber danke für deine "Mühe".
Rainer
AW: Wer hat Erfahung mit libnodave.dll?
13.08.2017 14:28:27
Martin
Hallo Rainer,
alternativ wäre auch die Installation einer Virtuellen Maschine (z.B. VirtualBox oder VMLite XP Mode) möglich. Ist zwar mit etwas Installationsaufwand verbunden, aber damit sollte deine alte Programmierung ohne weitere Anpassungen funktionieren.
Viele Grüße
Martin
Anzeige
AW: Wer hat Erfahung mit libnodave.dll?
14.08.2017 11:50:01
Rainer
Hallo Martin,
prinzipiell eine Idee, aber da verstecke ich lieber den alten Laptop vor der IT.
Spaß beiseite, ich suche eine Lösung, die es möglich macht die Exceldatei am Ende auch anderen Kollegen zur Verfügung zu stellen, welche noch weniger Software- und Programierkenntnisse haben als ich.
Da halte ich die VM nicht zwingend für eine praktikable Lösung.
Gruß,
Rainer
Anzeige
AW: Wer hat Erfahung mit libnodave.dll?
14.08.2017 12:13:49
Rainer
Ich denke ich muss die Frage noch etwas genauer erläutern, evtl. war es zu ungenau?
In der libnodave Version 0.8.5. gibt es einen fertigen VBA Modul, welcher die Referenzen zur libnodave.dll herstellt und eine Sub enthält, um Werte auszulesen (unter anderem).
Da gibt es zuerst eine große Zahl Kompilierfehler, also habe ich alle "Private Declare Function" geändert in "Private Declare PtrSafe Function". Dies führt später beim Zugriff auf diese Functions zur Fehlermeldung Laufzeitfehler 48 - "libnodave.dll" nicht gefunden.
Bei der Suche im Internet bin ich auf die "DotNetSiemensPLCToolBoxLibrary-master" gestoßen, welche die Versionen "libnodave_jfkmod.dll" und "libnodave_jfkmod64.dll" bereitstellt. Der Fehler ist aber der gleiche. Die dll liegen im System32 Ordner.
Die Frage ist also, ob jemand Erfahrung hat den Modul unter 64bit einzusetzen?
Danke und Gruß,
Rainer
Anzeige
AW: Wer hat Erfahung mit libnodave.dll?
17.08.2017 04:26:12
Rainer
Hallo Excel-Freunde,
ich denke ich habe das Problem gefunden.
Zum einen ist mein Laptop jetzt zur Reperatur unterwegs, da nicht nur Excel keine dll Dateien öffnen mag, sondern auch andere Anwendungen. Mehrere Bluescreens haben mich auch davon überzeugt, dass unter Umständen meine HDD einen Treffer hat und erneuert werden möchte.
Zum anderen habe ich die Funktionsdeklaration (hoffentlich) soweit verstanden, dass ich mit

#If VBA7 Then
Private Declare PtrSafe Sub daveSetDebug Lib "libnodave_jfkmod64.dll" (ByVal level As Long) _
#Else
Private Declare Sub daveSetDebug Lib "libnodave_jfkmod.dll" (ByVal level As Long)
#End If
zum Ziel kommen sollte. Jetzt muss ich nur noch den Witz mit "PtrSafe" und "LongPtr" verstehen.
Ein falsch gesetzes "LongPtr" in einer anderen Funktion (AlwaysOnTop) hat mich gestern viel Zeit gekostet.
Ich melde mich, wenn der Test erfolgreich ist.
Gruß,
Rainer
Anzeige
;
Anzeige

Infobox / Tutorial

Erfahrungen mit libnodave.dll unter Excel und Windows


Schritt-für-Schritt-Anleitung

  1. Installiere die libnodave.dll: Lade die passende Version von libnodave.dll herunter. Achte darauf, dass du die 64-Bit-Version für ein 64-Bit-Betriebssystem verwendest.

  2. Referenz hinzufügen: Öffne Excel, gehe zu den VBA-Entwicklertools (ALT + F11) und füge die libnodave.dll als Referenz hinzu.

  3. VBA-Code implementieren: Nutze den folgenden Code als Basis, um die Verbindung zur libnodave.dll herzustellen:

    #If VBA7 Then
    Private Declare PtrSafe Sub daveSetDebug Lib "libnodave_jfkmod64.dll" (ByVal level As Long)
    #Else
    Private Declare Sub daveSetDebug Lib "libnodave_jfkmod.dll" (ByVal level As Long)
    #End If
  4. Zugriff auf die SPS: Erstelle Funktionen, um Werte von der Siemens S7 SPS auszulesen. Achte darauf, die korrekten Aufrufparameter zu verwenden.

  5. Fehlerbehebung: Teste deine Implementierung und achte auf eventuelle Fehlermeldungen. Bei Problemen kannst du die libnodave anleitung konsultieren.


Häufige Fehler und Lösungen

  • Laufzeitfehler 48 - "libnodave.dll" nicht gefunden: Stelle sicher, dass die DLL im richtigen Verzeichnis (z.B. System32) vorhanden ist. Überprüfe auch die 32-Bit/64-Bit-Kompatibilität.

  • Kompilierungsfehler bei "Private Declare": Verwende die PtrSafe-Syntax für 64-Bit-Umgebungen, wie im obigen Beispiel gezeigt.

  • Bluescreens oder Systemfehler: Diese könnten auf Hardwareprobleme hindeuten. Prüfe die Integrität deiner Festplatte und führe gegebenenfalls Reparaturen durch.


Alternative Methoden

  • Virtuelle Maschinen: Wenn der direkte Zugriff auf die libnodave.dll nicht funktioniert, könntest du eine virtuelle Maschine (z.B. VirtualBox) mit einem 32-Bit-Betriebssystem einrichten. So kannst du ältere Software ohne Komplikationen ausführen.

  • dotnetsiemensplctoolboxlibrary: Eine weitere Option ist die Verwendung der DotNetSiemensPLCToolBoxLibrary, die alternative DLLs bereitstellt. Diese könnten eventuell besser mit deiner Umgebung kompatibel sein.


Praktische Beispiele

Hier ist ein einfaches Beispiel, um einen Wert von einer SPS auszulesen:

Sub ReadValueFromSPS()
    Dim level As Long
    level = 1 ' Setze den Debug-Level
    daveSetDebug level
    ' Hier würde der weitere Code zum Auslesen des Wertes folgen
End Sub

Dieses Beispiel zeigt, wie du den Debug-Level setzt, um mögliche Fehlerquellen besser nachvollziehen zu können.


Tipps für Profis

  • Debugging in VBA: Nutze die Debugging-Tools in VBA, um Fehler schneller zu identifizieren. Setze Haltepunkte und überprüfe Variablenwerte während der Ausführung.

  • Dokumentation: Halte eine eigene Dokumentation zu deiner Implementierung. Notiere dir alle Anpassungen, die du an der libnodave anleitung vornimmst, um spätere Fehlerquellen schnell zu erkennen.

  • Community-Support: Nutze Foren wie das psy ab forum, um Erfahrungen und Lösungen mit anderen Nutzern zu teilen.


FAQ: Häufige Fragen

1. Funktioniert libnodave.dll unter Windows 10?
Ja, libnodave.dll kann unter Windows 10 verwendet werden, solange die 64-Bit-Version korrekt installiert und referenziert ist.

2. Gibt es eine einfache Anleitung zur Nutzung von libnodave?
Ja, die libnodave anleitung bietet eine gute Übersicht. Du findest dort grundlegende Informationen zur Implementierung und Nutzung der DLL.

3. Wie kann ich 32-Bit Excel auf einem 64-Bit System nutzen?
Installiere die 32-Bit-Version von Excel, um die Kompatibilität mit 32-Bit-DLLs wie libnodave.dll zu gewährleisten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige