S7Online Schnittstelle, Win7 und (libnodave

Jochen Kühner

Level-3
Beiträge
4.291
Reaktionspunkte
527
Zuviel Werbung?
-> Hier kostenlos registrieren
S7Online Schnittstelle, Win7 und (libnodave oder accons7)

ich hab Probleme mit der S7Online Schnittstelle und libnodave unter Windows 7!

Wenn Ich die S7Online Schnittstelle mit dem TCP/IP Treiber unter CSharp mit libnodave verwende geht alles.

Wenn Ich aber z.B. versuche den Netlink Treiber über S7Online zu verwenden, dann stürtzt das Programm ab, so ballt in libnodave scp_open aufgerufen wird.

Wenn Ich aber die S7Onlinx.dll direkt in CSharp einbinde, dann crasht es bei einem Aufruf von scp_open noch nicht!

Hat für dieses Verhalten jemand eine Erklärung?
 
Zuletzt bearbeitet:
Die jeweils neuste! (S7Net 2.9.2, AGLink von gestern)

Ich hab das damit auch nur getestet um Fehler in LibNoDave auszuschließen!


Das komische ist ja nur, das direkte aufrufe von S7Onlinx.dll Funktionen aus einem CSharp Programm nicht zum absturz führen!

Genauso komisch ist, das S7Onlinex geht, wenn man die TCP Schnittstelle als Adapter einstellt!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jocen,

könntest du mir deinen Code zur direkten Verwendung der s7onlinx.dll bitte zur verfügung stellen, ich wollte diese DLL aus C# heraus verwenden, es würde mir evtl ein wenig Arbeit sparen. Es ist ja wohl nicht so einfach diese DLL direkt aus C# heraus aufzurufen.
Leider kann ich zu deinem eigentlichem Problem nicht weiter helfen.

mfG. klaly
 
dazu gibts keinen Code. Ich habe einfach nur scp_open aufgerufen, da libnodave schon beim Aufruf dieser Funktion crasht! Ich hab nicht die komplette Schnittstelle implementiert, sondern einfach nur zum test scp_open aufgerufen!
 
Hallo Jochen,

Wenn Ich aber z.B. versuche den Netlink Treiber über S7Online zu verwenden, dann stürtzt das Programm ab, so ballt in libnodave scp_open aufgerufen wird.

Wenn Ich aber die S7Onlinx.dll direkt in CSharp einbinde, dann crasht es bei einem Aufruf von scp_open noch nicht!

kannst du mal versuchen statt dem Netlink Treiber den PC-Adapter MPI Treiber zu benutzen. Evtl funktioniert es ja dann sauber.

Welche Version von Libnodave verwendest du ?
Ich verwende immer noch V0.8.4.3, für die S7Online habe ich auf alle Fälle mal den Aufruf SetSinecHWnd(h, handle); aus openS7online rausgeworfen, weil der meiner Meinung nach überflüssig ist.
Libnodave hat ja dafür gar keinen Eventhandler dafür.

Ich werde am Montag mal mit einem Windows7 32bit mal einen kleinen Test mit einer Libnodave machen. Mal schaun ob es bei mir auch crashed.

mfG. klaly
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nee kann Ich nicht, da Ich ja keinen Pc Karte habe! Aber testen obs abstürtzt kann ich ja...

Denn aufruf von setSinecHwnd hab ich auch rausgeschmissen, da dies ja nur bei asynchroner Verwendung von s7onlinx.dll sinn macht, was libnodave ja aber nicht tut!
 
Habs jetzt grad nochmal probiert, S7Online über libnodave oder AGLink stützt nicht ab, wenn kein NetLink vorhanden ist!

PS. Hat jemand über S7Online schon mal die PLCSIM Verbindung verwendet? Ich bekomme da nämlich keine Verbindung!
 
Habe jetzt einmal unter Win7 die Testfunktion im AGLink40_Config mit eingestellter S7Online-Schnittstelle aufgerufen und alles klappt wie es sollte. Kein Fehler, kein Absturz und Anzeige der angeschlossenen SPSen. Verwendet habe ich auch die Version 2.9.2 von S7Net.
Wann tritt das Problem wo genau auf? Ist eine Firewall aktiv?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, AGLink_Config geht bei mir auch. Erst wenn Ich den Verbindungsaufbau aus einem .NET Programm heraus versuche crasht es!

Jetzt verstehe ich nichts mehr. Ich dachte scp_open direkt funktioniert. Was geht denn jetzt nicht? Kannst Du mir ein kurzes Projekt mit AGLink, das den Fehler bei Dir erzeugt, zusenden? Meine Mailadresse hast Du ja sicher.
 
scp_open direkt in .net geht!

scp_open in libnodave in .NET genutzt stürzt ab!

scp_open (denk ich mal) über aglink in .NET stürzt ab.

AGLinkConfig geht

Mfg.
 
Zurück
Oben