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

Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte
Ergebnis 51 bis 60 von 64

Thema: Libnodave auf 64Bit kompilieren???

  1. #51
    Registriert seit
    21.03.2009
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das ist auf jeden Fall deine Lib. Die Dll umbenennen war einfacher aus die ganzen Deklarationen der Aufrufe abzuändern.

    Mike

  2. #52
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Hmmmm.... Seh halt keinen Fehler, und da es mit meiner Wrapper Dll funzt. Vielleicht kannst du mir ja deinen Quellcode zuschicken, dann probier Ich es auf meinem 64Bit Pc, oder du nutzt halt meine ConnectionLib.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  3. #53
    Registriert seit
    21.03.2009
    Beiträge
    18
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,

    ich habe mal die entsprechenden Code-Teile in ein Projekt kopiert. Das Project ist in VB.Net. Vielleicht findes Du jetzt etwas.

    Mike
    Angehängte Dateien Angehängte Dateien

  4. #54
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Hmm mal schaun wo Ich das jetzt testen kann, mein Kollege hat seinen Laptop platt gemacht und Win7 32 Bit installiert, aber Ich finde schon was... Dauert halt noch 1,2 Tage...

    Mfg.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #55
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Bekomms im Moment nicht zum laufen, auch mit meinem Programm nicht.

    Aber es hatte auf meinem Kollegen seinen 64 Bit Laptop schon funktioniert!

    Nun ist das Problem, das send() in libnodave von Winsock funktioniert noch (die Daten werden auch gesendet) aber das select() von Winsock liefert danach den Fehler "WSAGetLastError: 10038" d.h. das Socket ist nun ungültig... Komm aber im Moment nicht dahinter was da falsch läuft...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

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

    Standard

    Also auch das reseten von Winsock wie hier: http://www.windowsbbs.com/windows-7/...s-7-64bit.html und ausführen als Administrator hat nichts gebracht!

    (Wenn einer noch ne Idee hat, her damit!)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #57
    Registriert seit
    02.05.2011
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo zusammen!

    Ich habe die Diskussion hier nun komplett durchgelesen und mir ist nicht ganz klar, ob es nun eine funktionierende 64bit Version gibt, oder nicht...

    Ich habe jedenfalls mit libnodave_jjfkmod64.dll aus dem neuesten siemensplctoolboxlib-77369.zip bisher keinen Erfolg gehabt. Bis zum daveConnectPLC funktioniert alles, aber dann gibt es den -1 Return Code...

    Vielleicht zur Information: ich nutze einen jna Java Wrapper um die DLL, um sie aus Java heraus nutzen zu können. Mit der 32bit DLL funktioniert mein Programm aus einer 32bit JRE einwandfrei. Aus der 64bit JRE mit der 64bit DLL leider nicht. Gibt es irgendwas, was ich machen könnte, um weitere Ursachenforschung zu betreiben?

    Schöne Grüße, Frank

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

    Standard

    Also Ich habe schon mal eine Verbindung zustande gebracht, aber im Moment gehts nicht mehr! Die select Anweisung in libnodave auf den Socket gibt einen fehler aus!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  9. #59
    Registriert seit
    02.05.2011
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also... hier ist, was ich mit Hilfe von Wireshark herausbekommen habe:

    Wenn ich die 32bit Version mit rack=1 und slot=2 aufrufe, ergibt das einen Destination TSAP von 0202.

    Bei der 64bit Version kommt mit den gleichen Werten eine Destination TSAP von 0122 heraus und die funktioniert ganz sicher nicht, also Return Code -1: connection refused.

    Jetzt werde ich mir mal den Code anschauen und versuchen herauszubekommen, wie die unterschiedlichen TSAPs zustande kommen könnten.

  10. #60
    Registriert seit
    29.03.2004
    Beiträge
    5.797
    Danke
    144
    Erhielt 1.707 Danke für 1.239 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von fschaeckermann Beitrag anzeigen
    Also... hier ist, was ich mit Hilfe von Wireshark herausbekommen habe:

    Wenn ich die 32bit Version mit rack=1 und slot=2 aufrufe, ergibt das einen Destination TSAP von 0202.

    Bei der 64bit Version kommt mit den gleichen Werten eine Destination TSAP von 0122 heraus und die funktioniert ganz sicher nicht, also Return Code -1: connection refused.

    Jetzt werde ich mir mal den Code anschauen und versuchen herauszubekommen, wie die unterschiedlichen TSAPs zustande kommen könnten.
    Die TSAPs werden in libnodave meiner Meinung nach eh falsch zusammengebaut. Was aber bei der normalen Anwendung mit libnodave nicht weiter auffällt, weil man nur aus einer CPU Daten auslesen kann und diese immer im Rack 0 sitzt.

    Bei IsoOnTcp findest du die Rack/Slot angaben in nodave.c in Zeilen 4025/4026.
    Code:
    	    dc->msgOut[17]=dc->rack+1;
    	    dc->msgOut[18]=dc->slot;
    Und das ist falsch. In Zeile 4000 steht wie es richtig aussieht:
    Rack (Bit 7-5) and Slot (Bit 4-0)

    Eine von 0 abweichende Rack-Nummer hat man nur wenn man einen CP in einem anderen Rack sitzen hat.

    Korrekte Destination-TSAP wären z.B.:
    0x010f -> Rack 0, Slot 15 (z.B. CPU)
    0x012a -> Rack 1, Slot 10 (CP)
    0x014a -> Rack 2, Slot 10 (CP)

Ä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
  •