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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: C#/LibNoDave: VS express 2013 - Anwendung

  1. #11
    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
    Zitat Zitat von Dirk_Sch Beitrag anzeigen
    So, habe jetzt mal versucht, die in VS2013 erstellte Anwendung auf dem 2010-Host zum Laufen zu bringen. Leider ohne Erfolg: Als Erstes wurde von VS2010 bemängelt, dass das Framework 4.5 nicht gefunden wird. Nachdem ich das Zielframework auf ".NET Framework 4 Client Profile" eingestellt hatte, konnte ich die Anwendung kompilieren. Beim Starten im Debugmodus wird bei der Zeile "fds.rfd = libnodave.openSocket(102, "192.168.1.210");" ein Ausnahmefehler angezeigt: "BadImageFormatExeption wurde nicht behandelt. Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0:8007000B) ... "

    Also in diese Richtung funktioniert es auch nicht.
    ist dein Rechner mit VS2010 wohl 32 Bit!
    Entweder die Anwendung unter 2013 als x86 compilieren, oder eine 64Bit libnodave verwenden!

    oder meine ToolBox (https://github.com/jogibear9988/DotN...ToolBoxLibrary), die verwendet automatisch 32/64 Bit libnodave, je nach bedarf!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  2. #12
    Dirk_Sch ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.06.2014
    Beiträge
    11
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von StefanK Beitrag anzeigen
    Nutzt du auf beiden Rechnern das Debug-Profil, oder hast du zufällig auf dem VS2013-Pc "release" eingestellt...

    ...oder...

    Wie ist die Ziel-CPU eingestellt? Any CPU, x86, x64...
    Nimm auf jeden Fall x86, der Fehler (BadImageFormatExeption wurde nicht behandelt. Es wurde versucht, eine Datei mit einem falschen Format zu laden..) ist mir nicht ganz unbekannt, aber schon lange her...
    Auch auf dem VS2013-PC habe ich das "Debug-Profil" (unter Projekt/Projektxxx-Eigenschaften/Erstellen/Konfiguration: Aktiv(Debug)) eingestellt.

    Für die Ziel-CPU habe ich alle drei Varianten probiert: "Any CPU", "x86" und "x64" (eingestellt unter: Projekt/Projextxxx-Eigenschaften/Erstellen/Zielplatform: ... und unter: Erstellen/Konfigurations-Manager/Plattform und "Aktive Projektmappenplattform:"). Je nach Einstellung musste ich die libnodave.dll in das entsprechende Debug-Verzeichnis kopieren (z.B. .../bin/Debug oder .../bin/x86/Debug ...) damit sie vom Compiler gefunden wird.
    Mit allen drei Einstellungsvarianten hatte ich keinen Erfolg, aber unterschiedliche Reaktionen: mit "Any CPU" und "x86" lieferte mir die Codezeile: "fds.rfd = libnodave.openSocket(102, "192.168.1.210")" eine 0 und das Programm konnte "ordentlich" (zwar ohne Kommunikation zur SPS) beendet werden. Mit der Einstellung "x64" wurde an dieser Stelle ein Ausnahmefehler provoziert: "Ein Ausnahmefehler des Typs "System.BadImageFormatException" ist in TestLND.exe aufgetreten. Zusätzliche Informationen: Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)".

  3. #13
    Dirk_Sch ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.06.2014
    Beiträge
    11
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    ist dein Rechner mit VS2010 wohl 32 Bit!
    Entweder die Anwendung unter 2013 als x86 compilieren, oder eine 64Bit libnodave verwenden!

    oder meine ToolBox (https://github.com/jogibear9988/DotN...ToolBoxLibrary), die verwendet automatisch 32/64 Bit libnodave, je nach bedarf!
    Danke für den Tipp. Werde ich mir auf jeden Fall anschauen.

    Aber noch mal zu LibNoDave: Wo finde ich eine 64Bit-Variante von libnodave (z.B. unter http://libnodave.sourceforge.net ?). Außerdem bleibt die Frage, warum ich unter VS2013 mit den Einstellungen für x86 keine Anwendung kompiliert bekomme, mit der ich eine Kommunikation zur SPS aufbauen kann?

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

    Standard

    Ne 64Bit Version findest in meiner Toolbox, die ist jedoch modifiziert, da solltest du dann gleich die Toolbox zum Verbinden verwenden!

  5. #15
    Registriert seit
    30.06.2007
    Ort
    Minden (Westf.)
    Beiträge
    178
    Danke
    42
    Erhielt 21 Danke für 21 Beiträge

    Standard

    Zitat Zitat von Dirk_Sch Beitrag anzeigen
    ...Außerdem bleibt die Frage, warum ich unter VS2013 mit den Einstellungen für x86 keine Anwendung kompiliert bekomme, mit der ich eine Kommunikation zur SPS aufbauen kann?
    Wenn ich das richtig verstehe, kannst du dein Projekt unter den oben genanten Einstellungen nicht kompilieren. Welche Fehlermeldung bekommst du?


    Der Fehler beim starten als 64Bit Anwendung (Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)) ist klar (mittlerweile); die "original" libnodave.dll funktioniert nicht in 64Bit Anwendungen

    Ich habe gerade keine SPS zur Hand, aber kann mein letztes Projekt ohne Probleme mit Visual Studio 2013 kompilieren. Und das auf einem 32Bit, sowie 64Bit Windows 8. Das Zielframework ist hier 4.0.



  6. #16
    Dirk_Sch ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.06.2014
    Beiträge
    11
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von StefanK Beitrag anzeigen
    Wenn ich das richtig verstehe, kannst du dein Projekt unter den oben genanten Einstellungen nicht kompilieren. Welche Fehlermeldung bekommst du?


    Der Fehler beim starten als 64Bit Anwendung (Datei mit einem falschen Format zu laden. (Ausnahme von HRESULT: 0x8007000B)) ist klar (mittlerweile); die "original" libnodave.dll funktioniert nicht in 64Bit Anwendungen

    Ich habe gerade keine SPS zur Hand, aber kann mein letztes Projekt ohne Probleme mit Visual Studio 2013 kompilieren. Und das auf einem 32Bit, sowie 64Bit Windows 8. Das Zielframework ist hier 4.0.
    Sorry, hier habe ich mich wahrscheinlich undeutlich ausgedrückt: Ich kann unter VS2013 alle drei Varianten ohne Fehler kompilieren. Nach dem Start (im Debug-Modus) erhalte ich mit der x64-Variante den Ausnahmefehler und in den beiden anderen Varianten bekomme ich "nur" keine Kommunikation zur SPS zustande (Codezeile: "fds.rfd = libnodave.openSocket(102, "192.168.1.210")" gibt nur eine "0" zurück).

    Was für ein Visual Studio benutzt Du? Ich verwende das Visual C#2013 in "Visual Studio Express 2013 für Windows Desktop" (Version 12.0.21005.1 REL) und .NET Framework Version 4.5.50938. Als Zielframework hatte ich sowohl ".NET Framework 4.5" als auch ".NET Framework 4 Client Profile" eingestellt. Jeweils ohne Erfolg.

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

    Standard

    lad dir mal hier : http://jochensserver.no-ip.org/wordpress/?page_id=58 die jfk vartab und sag ob du dich damit verbinden kannst.

  8. #18
    Dirk_Sch ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.06.2014
    Beiträge
    11
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    lad dir mal hier : http://jochensserver.no-ip.org/wordpress/?page_id=58 die jfk vartab und sag ob du dich damit verbinden kannst.
    Hallo Jochen,

    die JFK-VarTab habe ich mir runtergeladen und auch ausprobiert: ja, ich kann mich mit meiner SPS verbinden (über Config Connections/ISO over TCP ... ; Verbindung testen: Connected! (MLFB:6ES7 214-1AG40-0XB0))

    Gruß Dirk

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

    Standard

    Ok, dann gehts auf jeden fall von dem rechner mit libnodave (wobei mein programm ja eine modifizierte version nutzt). Aber warum dein call dann nicht funz... kein plan im moment. Kann dir nur sagen, dann versuchs halt über meine Bibliothek, damit scheints ja zu klappen (sonst würde jfk vartab ja auch nicht funktionieren)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  10. #20
    Registriert seit
    22.05.2009
    Ort
    Darmstadt
    Beiträge
    5
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,


    auch ich bekam mein libnodave Programm (Visual Studio Express -VBasic) unter 64Bit W7 nicht zum laufen. Nach langer suche habe ich herausgefunden, dass man bei den Express-Versionen die Zielplattform (x32 oder x64) nicht angeben kann.
    Die "mitgelieferte" DLL ist für x32. Wenn man bei der Vollversion als Zielplattform x32 angibt funktioniert alles auch unter 64Bit.

  11. Folgender Benutzer sagt Danke zu GAU für den nützlichen Beitrag:

    Jochen Kühner (20.07.2014)

Ähnliche Themen

  1. Antworten: 41
    Letzter Beitrag: 17.04.2013, 18:57
  2. Verbindung VB2010 Express <--> SPS mit libnodave
    Von JoEr im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 31.01.2013, 16:03
  3. Libnodave Anwendung schliessen
    Von Snoopy123123 im Forum Hochsprachen - OPC
    Antworten: 63
    Letzter Beitrag: 13.08.2009, 16:08
  4. OPC Client in Visual Studio 2005 Express Anwendung
    Von mike_roh_soft im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 06.06.2008, 14:48
  5. PCI Express ?
    Von Nutellla im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 19.05.2006, 12:33

Stichworte

Lesezeichen

Berechtigungen

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