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

Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 64

Thema: Libnodave auf 64Bit kompilieren???

  1. #41
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das Connecten kannst du schon in dem Config Fester probieren. Da gibt es unten eine Schaltfäche "Verbindung testen"
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  2. #42
    Registriert seit
    21.03.2009
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    lso im Config-Fenster kommt Verbindung erfolgreich. Aber im Progromm ist ja auch der Verbindungsaufbau erfolgreich. (openSocket und daveConnection) . ers bei ConnectPLC kommt ein Fehlercode zurück.
    Also ich mach jetzt Feierabend villeicht hast Du morgen Lust weiter zu machen.

    Mike

  3. #43
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Wenn du in meinem Config SCreen auf Test klickst, wird auch ConnectPLC() aufgerufen, und geprüft ob der Connect funktioniert hat! Also scheints nicht an der DLL zu liegen wenn der Connect so geht!

    Vielleicht kannst du deinen Code zum Verbindungsaufbau ja mal reinstellen...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  4. #44
    Registriert seit
    21.03.2009
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hier mal mein Code.
    Code:
    Private fds As libnodave.daveOSserialType
    Private di As libnodave.daveInterface
    Private dc As libnodave.daveConnection
    Private res As Integer
     
    Public Structure daveOSserialType
     Public rfd As IntPtr 
     Public wfd As IntPtr 
    End Structure
     
    
    fds.rfd = libnodave.openSocket(102, myIPAddress) 'Portstatus - lesen
    fds.wfd = fds.rfd 'Portstatus schreiben = Portstatus - lesen
    di = New libnodave.daveInterface(fds, "Palettenbahnhof", localMPI, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k)
     
    di.setTimeout(1000000)
    res = di.initAdapter
    If res = 0 Then'initAdapter OK
    ' Rack und Slot spielen keine Rolle bei diesem Protokoll
    dc = New libnodave.daveConnection(di, plcMPI, 0, 2)
    res = dc.connectPLC()
    End If
    
    Hier noch die Deklarationen der Lib-Aufrufe.

    Der Text scheint zu lang zu sein, deshalb der Rest in der nächsten Antwort.
    Geändert von MikeBi (12.04.2011 um 22:33 Uhr)

  5. #45
    Registriert seit
    21.03.2009
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Code:
    Public Declare Function openSocket Lib"libnodave.dll" (ByVal port As Integer, <MarshalAs(UnmanagedType.LPStr)> ByVal portName As String) As IntPtr 
     
     
    Private Declare Function daveNewInterface Lib"libnodave.dll" (ByVal fd As daveOSserialType, ByVal name As String, ByVal localMPI As Integer, ByVal useProto As Integer, ByVal speed As Integer) As IntPtr
    Public Sub New(ByVal fd As daveOSserialType, ByVal name As String, ByVal localMPI AsInteger, ByVal useProto As Integer, ByVal speed As Integer)
    pointer = daveNewInterface(fd, name, localMPI, useProto, speed)
    End Sub
    
    Protected Declare Function daveNewConnection Lib"libnodave.dll" (ByVal di As IntPtr, ByVal MPI AsInteger, ByVal rack As Integer, ByVal slot As Integer) As IntPtr
    Public Sub New(ByVal di As daveInterface, ByVal MPI As Integer, ByVal rack As Integer, ByVal slot As Integer)
    pointer = daveNewConnection(di.pointer, MPI, rack, slot)
    End Sub
     
    Protected Declare Function daveConnectPLC Lib"libnodave.dll" (ByVal dc As IntPtr) As Integer
    Public Function connectPLC() As Integer
    Return daveConnectPLC(pointer)
    End Function
    
    Ich hoffe ja immer noch, das ich irgendeine Variable als Integer statt als Pointer deklariert habe. Vielen Dank für Deine Bemühungen.

    Mike
    Geändert von MikeBi (12.04.2011 um 22:32 Uhr)

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

    Standard

    Code:
     Rack und Slot spielen keine Rolle bei diesem Protokoll
    Wieso sollte das so sein?

    Was für eine CPU? 300er oder 400er?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #47
    Registriert seit
    21.03.2009
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Es geht um eine 300er CPU. Der Text stammt aus der Vorlage. Ich kann nur sagen, wenn ich das Programm mit 32 Bit laufen lasse, gibt es kein Problem.

    Mike

  8. #48
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Wie sieht die Definition von daveOSserialType aus?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  9. #49
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Ah sorry, habs überlesen... Oben ist sie ja...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  10. #50
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Und wie hast dus gemacht? Meine dll in libnodave.dll umbenannt? Vielleicht liegt irgendwo noch ne falsche Version der libnodave.dll die genutzt wird? Start dein prg mal ohne dll im verzeichnis, obs dann nen fehler gibt!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

Ähnliche Themen

  1. Win7: 32 oder 64bit? ...und wenn 64bit: dann auch eine VM mit 32bit dazu?
    Von Perfektionist im Forum PC- und Netzwerktechnik
    Antworten: 9
    Letzter Beitrag: 29.07.2010, 15:34
  2. LibNodave 64bit write error on Linux
    Von 3electrons im Forum Hochsprachen - OPC
    Antworten: 3
    Letzter Beitrag: 23.04.2010, 19:42
  3. S7-Programm übersetzen/kompilieren?
    Von SPSstudent im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 16.12.2009, 00:40
  4. Antworten: 5
    Letzter Beitrag: 22.11.2006, 21:26
  5. libnodave mit DevC++ kompilieren
    Von Thomas_v2.1 im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 20.11.2006, 01:08

Lesezeichen

Berechtigungen

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