#If Win64 Then [COLOR="#006400"]'*** Declarations for Excel 64-Bit with Libnodave 64-Bit[/COLOR]
Private Declare PtrSafe Function openSocket Lib "libnodave_jfkmod64.dll" (ByVal port As Long, ByVal peer As String) As LongPtr
Private Declare PtrSafe Function daveNewInterface Lib "libnodave_jfkmod64.dll" (ByVal fd1 As LongPtr, ByVal fd2 As LongPtr, ByVal name As String, ByVal localMPI As Long, ByVal protocol As Long, ByVal speed As Long) As LongPtr
Private Declare PtrSafe Function daveInitAdapter Lib "libnodave_jfkmod64.dll" (ByVal di As LongPtr) As Long
Private Declare PtrSafe Function daveNewConnection Lib "libnodave_jfkmod64.dll" (ByVal di As LongPtr, ByVal mpi As Long, ByVal Rack As Long, ByVal slot As Long) As LongPtr
Private Declare PtrSafe Function daveConnectPLC Lib "libnodave_jfkmod64.dll" (ByVal dc As LongPtr) As Long
'...
#Else [COLOR="#006400"]'Not Win64 *** Declarations for Excel 32-Bit with Libnodave 32-Bit[/COLOR]
'...
#End If
Sub readFromFAFM()
Dim ph As LongPtr, di As LongPtr, dc As LongPtr
'...
Call daveSetDebug(daveDebugAll)
Peer$ = "192.168.196.196"
ph = openSocket(102, Peer$)
If (ph > 0) Then
IFname$ = "IF1"
[COLOR="#FF0000"]di = daveNewInterface(ph, ph, IFname$, 0, daveProtoISOTCP, daveSpeed187k)[/COLOR]
res = daveInitAdapter(di)
If res = 0 Then
dc = daveNewConnection(di, MpiPpi, Rack, Slot)
res = daveConnectPLC(dc)