# Libnodave 64 Bit Beispiel-Projekt (VB)



## Deep Blue (27 Februar 2019)

Hallo,

bitte steinigt mich nicht wenn ich frage, ob vielleicht jemand ein Beispielprojekt in VB lauffähig unter Win 64 Bit für mich hätte. Hatte eins im Forum für 32 Bit gefunden, was leider beim Aufruf der IP Adresse der SPS einen Fehler wirft:

"System.BadImageFormatException ist aufgetreten.  HResult=0x8007000B
  Nachricht = Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)"

Nehme mal an das es statt der 64 Bit die 32 Bit erwartet. Es fällt mir als nicht GitHub-Kenner schwer, dort die erforderlichen Dateien zusammen zu stellen. Daher frage ich hier nach einer "All In" Lösung.

Nochmals Sorry für die Anfrage, da ja bestimmt schon im Forum woanders gestellt. Aber ich finde die passende Lösung einfach nicht.


----------



## Ruud (10 September 2020)

Hallo,

Ich muss eine alte vb.net application (wodrin libnodave 32 bit) umsetzen nach eine 64 bits application, hast du vielleicht schon so ein beispiel?


----------



## Fluffi (10 September 2020)

Mit einem Beispielprogramm kann ich leider nicht dienen, aber ich kann dir sagen, dass der Wechsel an sich kein Problem sein sollte. Bei meinen Programmen, welche Libnodave verwenden, war das kein Problem. Einfach statt der 32-bit die 64-bit dll einbinden und das Programm auf x64 Zielarchitektur kompilieren.


----------



## Jochen Kühner (10 September 2020)

Schau dir mal meine Wrapper Bibliothek dazu an, inkl. einiger beispiele: https://github.com/dotnetprojects/DotNetSiemensPLCToolBoxLibrary


----------



## Ruud (14 September 2020)

Ok, dan probieren ich das mal, woher bekomme ich den 64-bit dll?


----------



## PN/DP (14 September 2020)

Ruud schrieb:


> Ok, dan probieren ich das mal, woher bekomme ich den 64-bit dll?


In dem Link von Jochen Kühner im Beitrag vor Dir gehe in den Ordner externalDlls/libnodave, da findest Du die libnodave_jfkmod64.*

Aus den Forums-FAQ:


PN/DP schrieb:


> Eine für 64-Bit kompilierte Version der libnodave.dll findet man hier:
> https://github.com/dotnetprojects/DotNetSiemensPLCToolBoxLibrary  /externalDlls/ *libnodave_jfkmod64.dll*
> siehe auch http://www.sps-forum.de/hochsprachen-opc/61647-libnodave-64-bit.html



Harald


----------



## Ruud (30 September 2020)

Ich probiere gerade die libnodave_jfkmod64.dll

In meine declartion habe ich die libnodave.dll ersetzt durch die libnodave_jfkmod64.dll

Private Declare Function daveNewInterface Lib "libnodave_jfkmod64.dll" (ByVal fd1 As Integer, ByVal name As String, ByVal localMPI As Integer, ByVal protocol As Integer, ByVal speed As Integer) As Integer



Wenn ich eine neue interface machen will bekomme ich eine fehler

 If sConnType = "ISO over TCP" Then myDI = daveNewInterface(myPH, "IF1", 0, daveProtoISOTCP, daveSpeed187k)

Attempted to read or write protected memory.










Hat jemand eine idee was ich hier falsch mache?


----------



## PN/DP (30 September 2020)

Ich hatte mit Excel 64 Bit VBA auch Probleme, daß daveNewInterface aus der libnodave_jfkmod64.dll abschmiert - wir konnten nicht klären warum.
Ich hatte dann Erfolg mit davePascalNewInterface(..) siehe hier

Harald


----------

