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

Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 23 von 23

Thema: LibNodave 64 Bit.

  1. #21
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    10.086
    Danke
    838
    Erhielt 2.970 Danke für 2.394 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    In Excel-VBA können Struct ("benutzerdefinierter Typ") nicht als Wert (ByVal) übergeben werden. Vermutlich daher bei daveNewInterface(..) die Übergabe der zwei Handle einzeln in VBA 32-Bit. Warum das gleiche Vorgehen in der 64-Bit Variante zum Excel-Absturz führt weiss ich nicht. Ich habe alles mögliche ausprobiert...
    (Gibt es von der 64-Bit-Kompilierung der DLL ein List-File, wo man sehen kann, welcher Maschinencode erzeugt wurde?)

    Zum Glück bietet Libnodave die Funktion daveNewInterface(..) auch als Variante mit Übergabe des Struct als Referenz: davePascalNewInterface(..) Damit funktioniert auch Excel 64-Bit.

    Der blaue Code führt zum Erfolg:
    Code:
    Public Type daveOSserialType
        rfd As LongPtr
        wfd As LongPtr
    End Type
    
    Private Declare PtrSafe Function davePascalNewInterface Lib "libnodave_jfkmod64.dll" (ByRef fds As daveOSserialType, ByVal name As String, ByVal localMPI As Long, ByVal protocol As Long, ByVal speed As Long) As LongPtr
    
    Sub readFromFAFM()
    Dim ph As LongPtr, di As LongPtr, dc As LongPtr
    Dim fds As daveOSserialType
    '...
    'Call daveSetDebug(daveDebugAll)
    
    Peer$ = "192.168.196.196"
    ph = openSocket(102, Peer$)
    If (ph > 0) Then
        fds.rfd = ph
        fds.wfd = ph
    '    di = daveNewInterface(ph, ph, "IF1", 0, daveProtoISOTCP, daveSpeed187k)   'schmiert ab!
        di = davePascalNewInterface(fds, "IF1", 0, daveProtoISOTCP, daveSpeed187k) 'funktioniert
        res = daveInitAdapter(di)
        If res = 0 Then
            dc = daveNewConnection(di, MpiPpi, Rack, Slot)
            res = daveConnectPLC(dc)
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren Libnodave 64-Bit (libnodave_jfkmod64.dll) mit Excel/VBA 64-Bit  

  2. #22
    Registriert seit
    12.07.2006
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Leute,

    Hat von Euch jemand die Libnodave Verbindung zur SPS mit der 64 Bit Version hingekriegt und zwar mit Win10 und Excel2016?
    Habe bisher immer mit VB.Net meine Verbindungen aufgebaut, hat auch Problemlos funktioniert. Ich habe die Version von Harald Libnodave] Beispiel TCP Verbindung zu S7-Welt versucht, jedoch bekomme ich immer die Meldung das libnodave_jfkmod64.dll nicht gefunden wurde. Diese habe ich jedoch in das Verzeichnis C:\Windows\System32 kopiert. Bin mir jedoch nicht sicher ob diese irgendwie registriert werden muss. Admin Rechte habe ich benutzt an dem kann es nicht liegen.
    libnodave_jfkmod64 nicht gefunden.jpg
    Weiss jemand was ich hier Falsch mache??
    Nikola

  3. #23
    Registriert seit
    25.02.2016
    Beiträge
    182
    Danke
    8
    Erhielt 38 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Beisamnen,

    ich bin zum Thema Libnodave leider noch Blutiger Anfänger hab mir jetzt mal mit PN/DP´s Beispiel aus den FAQ ein Bild gezeichnet nun scheitere ich aber mit der DLL ich habe es wie PN DP schreibt von
    https://github.com/dotnetprojects/Do...r/externalDlls das libnodave_jfkmod64.dll heruntergeladen (ich hoffe von github lädt man Dateien herunter indem man auf den RAW Button drückt).
    aber immer wenn ich das DLL Registrieren will kommt folgende Meldung:
    2016-07-12 15_35_22-System32.png

    Ich nutze WIN 10Pro x64 mit Office 2016.

    Besten dank schon mal!

    Edit hat sich erledigt
    habs rausgefunden Datei muss unter c Windows Sytem32 liegen dann läufts und kann auch über den RAE Knop geladen werden
    Danke!!
    Geändert von Wincctia (12.07.2016 um 16:16 Uhr)

Ähnliche Themen

  1. libnodave und ACControl auf Win7 64 Bit Prof
    Von Earny im Forum Hochsprachen - OPC
    Antworten: 15
    Letzter Beitrag: 29.10.2013, 19:18
  2. libnodave Bit setzen
    Von foreach im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 17.01.2013, 20:05
  3. Set Bit While Button IsPressed. Libnodave c#
    Von mrludvig im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.11.2012, 14:01
  4. libnodave 64 bit
    Von tflueckiger im Forum Hochsprachen - OPC
    Antworten: 7
    Letzter Beitrag: 18.08.2010, 09:39
  5. Libnodave + Excel einzelnes Bit (setzen bzw. abfragen)
    Von Otto im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 21.12.2006, 17:24

Lesezeichen

Berechtigungen

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