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

Seite 3 von 8 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 79

Thema: LibNodave mit Routing usw...

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von bool Beitrag anzeigen
    Hab grad mal schnell die neue libnodave.dll mit ner CP5611 getestet, die S7Online Verbindung geht wieder, nach Verbindungstrennung wird die CP aber leider noch immer nicht für eine erneute Verbindung freigegeben.

    Gruss,

    bool
    Wie sieht das denn bei dir aus ??? Also wenn ich mit dem Seriellen Adapter die Verbindung trenne und neu verbinde klappts ohne Probleme. (Zumindest mit meinem Programm). Hast du das jetzt mit deinem Code, oder mit meinem Programm versucht?

    Hab auch noch einen CP5611 rumliegen, der läuft aber nicht mit meinem aktuellen Laptop, muss mal sehen, vielleicht kann Ich da nächste Woche nochmal was probieren!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  2. #22
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Wie sieht das denn bei dir aus ??? Also wenn ich mit dem Seriellen Adapter die Verbindung trenne und neu verbinde klappts ohne Probleme. (Zumindest mit meinem Programm). Hast du das jetzt mit deinem Code, oder mit meinem Programm versucht?

    Hab auch noch einen CP5611 rumliegen, der läuft aber nicht mit meinem aktuellen Laptop, muss mal sehen, vielleicht kann Ich da nächste Woche nochmal was probieren!
    Habs mit meinem eigenen Programm ausprobiert, der S7Online Verbindungsauf- und Abbau funktioniert eigentlich ganz unspektakulär wie in meinem separten Thread gepostet, siehe:
    http://www.sps-forum.de/showthread.php?t=35831

    Allerdings habe ich bei meinem Test heute noch die libnodave.Connection() aufgerufen, nicht die für TCP/IP überarbeitete neue Funktion.
    Ich werde jetzt am Wochenende mal versuchen Deine Connection lib zu verwenden. Vielleicht läuft es dann mit dem Reconnect in Verbindung mit S7Online besser, alle anderen Verbindungsarten über MPI,MPI2 und ISO onTCP funktionieren ja auch bei mir via Reconnect (z.B. wenn jemand während dem Protokollieren das Kabel gezogen und wieder eingesteckt hat) problemlos.

    Gruss,

    bool

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

    Standard

    Zitat Zitat von bool Beitrag anzeigen
    Habs mit meinem eigenen Programm ausprobiert, der S7Online Verbindungsauf- und Abbau funktioniert eigentlich ganz unspektakulär wie in meinem separten Thread gepostet, siehe:
    http://www.sps-forum.de/showthread.php?t=35831

    Allerdings habe ich bei meinem Test heute noch die libnodave.Connection() aufgerufen, nicht die für TCP/IP überarbeitete neue Funktion.
    Ich werde jetzt am Wochenende mal versuchen Deine Connection lib zu verwenden. Vielleicht läuft es dann mit dem Reconnect in Verbindung mit S7Online besser, alle anderen Verbindungsarten über MPI,MPI2 und ISO onTCP funktionieren ja auch bei mir via Reconnect (z.B. wenn jemand während dem Protokollieren das Kabel gezogen und wieder eingesteckt hat) problemlos.

    Gruss,

    bool
    Also Ich habe auf jeden Fall was geändert, das wenn du DisconnectPLC aufrufst, beim S7Online Protokoll auch was gesendet wird!

    Rufst du bei dir auch sicher DisconnectPLC auf?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  4. #24
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Also Ich habe auf jeden Fall was geändert, das wenn du DisconnectPLC aufrufst, beim S7Online Protokoll auch was gesendet wird!

    Rufst du bei dir auch sicher DisconnectPLC auf?
    Jup, wird auch jedes mal ins Debugfile geloggt. Hier mal ein Beispiel wenn nach wiederholten Lesefehler automatisch die Verbindung abgebaut wird. Der Lesefehler kommt hier zustande, da die S7Online Verbindung nach dem ersten Reconnect nicht wirklich funktioniert, da die Schnittstelle zuvor von wem auch immer (Programm, .NET, OS...) nicht wieder freigegeben wurde. Die S7Online Verbindung gibt interessanter Weise jedoch wie man im Log erkennen kann beim connectPLC grünes Licht...:

    11.06.2010 07:19:06:906 Start Connection via S7Online ...
    11.06.2010 07:19:06:921 S7Online Local Address: 0
    11.06.2010 07:19:06:921 S7Online Remote Address: 2
    11.06.2010 07:19:06:921 S7Online Baudrate: 187.5k
    11.06.2010 07:19:06:921 S7Online CPU rack: 0
    11.06.2010 07:19:06:921 S7Online CPU slot: 2
    11.06.2010 07:19:06:937 S7Online Reconnecting after: 5 read errors
    11.06.2010 07:19:06:937 S7Online Reconnecting Interval: 20000 ms
    11.06.2010 07:19:06:953 Open S7Online Connection (PG/PC Interface) - Used Adapter: CP5611(Auto)
    11.06.2010 07:19:06:953 Open S7Online Connection (PG/PC Interface) - Local Address: 0
    11.06.2010 07:19:06:953 Open S7Online Connection (PG/PC Interface) - Timeout: 1sec (L4_TIMEOUT = 1
    11.06.2010 07:19:06:968 Open S7Online Connection (GetForegroundWindow)... hWnd=328754
    11.06.2010 07:19:06:968 Open S7Online Connection (before 1st call of libnodave.openS7online)... fds.rfd=1
    11.06.2010 07:19:06:968 Open S7Online Connection (libnodave.openS7online)... fds.rfd=1
    11.06.2010 07:19:06:984 Open S7Online Connection (libnodave.openS7online)... S7Online intern=Kein Fehler
    11.06.2010 07:19:06:984 Open S7Online Connection (di.initAdapter)... res=0 - ok
    11.06.2010 07:19:07:750 Open S7Online Connection (di.listReachablePartners) ... Result: 126
    11.06.2010 07:19:07:781 Open S7Online Connection - detected MPI/Profibus device addresses: 0 2
    11.06.2010 07:19:08:578 Open S7Online Connection (dc.connectPLC)... res=0 - ok
    11.06.2010 07:19:08:593 Open S7Online Connection successfull
    11.06.2010 07:19:10:421 Datalogger: Starting without Trigger
    11.06.2010 07:19:10:421 Datalogger: Preparing Poll data...
    11.06.2010 07:19:10:578 Datalogger: Logfile started...
    11.06.2010 07:19:10:578 Datalogger: Polling data started...
    11.06.2010 07:19:10:781 Error from dc.execReadRequest: -128 = Unexpected function code in answer
    11.06.2010 07:19:10:984 Error from dc.execReadRequest: -128 = Unexpected function code in answer
    11.06.2010 07:19:11:187 Error from dc.execReadRequest: -128 = Unexpected function code in answer
    11.06.2010 07:19:12:796 Error from dc.execReadRequest: -128 = Unexpected function code in answer
    11.06.2010 07:19:12:812 Error from dc.execReadRequest: -128 = Unexpected function code in answer
    11.06.2010 07:19:12:812 Close Connection (dc.disconnectPLC)... res=0 - ok
    11.06.2010 07:19:12:812 Close Connection (di.disconnectAdapter)... IntPtr=0
    11.06.2010 07:19:12:828 Close Connection (closeS7online)... fds.rfd=1
    11.06.2010 07:19:12:828 Close Connection (closeS7online)... res=0 - ok


    Habe grad mal versucht Dein TestVB Programm zu starten nachdem ich das erforderliche .NET Framework 4.0 auf meinem Rechner installiert habe (mein Programm basiert der Kompatibilität halber noch auf .NET Framework 2.0 auf, kann das ggf. das Problem sein?) bekam ich nachdem ich das TestVB Programm geöffnet hatte leider 17 Fehlermeldungen und musste feststellen, dass die ConnectionLibrary bei den Projekt-Verweisen nicht gefunden werden konnte. Ich hab dann versucht diese per Link auf die DLL (per Durchsuchen und Auswählen der LibNoDaveConnectionLibrary.dll) neu einzubinden, es kam jedoch beim Pfad immer wieder die selbe Meldung "<System kann den angegebenen Verweis nicht finden>". Was mache ich hier falsch?
    Bin wie gesagt VB.NET bzw. hochsprachentechnisch noch am einsteigen, vor allem was "komplexere" Projektverlinkungen anbelangt.

    Danke schon mal im voraus für jeden Tipp.

    Gruss,

    bool

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

    Standard

    Nutze mal die test csharp. das müsste es auch schon ein exe file geben! nur zum testen ob der reconnect geht!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  6. #26
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Nutze mal die test csharp. das müsste es auch schon ein exe file geben! nur zum testen ob der reconnect geht!
    Gesagt, getan und tut? ...leider nicht:

    Hab die bereits von Dir erstellte TestLibrary.exe (unter Verwendung der libnodave.dll vom 10.06. 08:31 mit 148kB) ausgeführt, doch auch mit dem Programm funktioniert nur der erste Connect via S7Online mittels der CP5611 (PCI), nach einem Disconnect und erneutem Connect (auch mit Warten mehrer Minuten zwischen Disconnect und Reconnect) wird beim anschliessenden zyklischen Lesen einer Variablen (hier Taktmerkerbyte MB190) ebenfalls "Error: Unexpected function code in answer" ausgegeben.
    Interessanterweise funktionierte das Lesen über S7Online bei Deinem Programm 1-2 mal wieder wenn zwischendurch z.B. eine Verbindung über ISOonTCP aufgebaut wurde, dann ging auf einmal auch das nicht mehr.

    Beobachtung:
    Auch wenn eine S7Online Verbindung über "Disconnect" abgebaut wird, wird die Schnittstelle nicht wieder freigegeben. Dies äussert sich dadurch, dass wenn man unter "PG/PC Schnittstelle einstellen" geht und sich die Parameter des eben verwendeten Adapters ansehen möchte folgende Meldung kommt: "Die benutze Schnittstelle kommuniziert gerade.Sie können die Eigenschaft im Moment nicht ändern.". Auch kann, solange das Programm welches die Verbindung aufgebaut hatte, geöffnet ist kein anderer Adapter unter "PG/PC Schnittstelle einstellen" ausgewählt werden. Das zeigt doch, dass diese nicht wieder freigegeben wurde. Daran ändert sich nichts ob man nur 5 Sekunden oder 10 Minuten wartet. Erst das Beenden des Programms bringt die erhoffte Schnittstellenfreigabe.

    Ich hoffe Du kannst dieses Verhalten auf Deinem System ebenfalls nachvollziehen, da sich Dein Testprogramm TestLibrary.exe bei mir ebenso verhalten hat.

    Gruss,

    bool

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

    Standard

    Zitat Zitat von bool Beitrag anzeigen
    Gesagt, getan und tut? ...leider nicht:

    Hab die bereits von Dir erstellte TestLibrary.exe (unter Verwendung der libnodave.dll vom 10.06. 08:31 mit 148kB) ausgeführt, doch auch mit dem Programm funktioniert nur der erste Connect via S7Online mittels der CP5611 (PCI), nach einem Disconnect und erneutem Connect (auch mit Warten mehrer Minuten zwischen Disconnect und Reconnect) wird beim anschliessenden zyklischen Lesen einer Variablen (hier Taktmerkerbyte MB190) ebenfalls "Error: Unexpected function code in answer" ausgegeben.
    Interessanterweise funktionierte das Lesen über S7Online bei Deinem Programm 1-2 mal wieder wenn zwischendurch z.B. eine Verbindung über ISOonTCP aufgebaut wurde, dann ging auf einmal auch das nicht mehr.

    Beobachtung:
    Auch wenn eine S7Online Verbindung über "Disconnect" abgebaut wird, wird die Schnittstelle nicht wieder freigegeben. Dies äussert sich dadurch, dass wenn man unter "PG/PC Schnittstelle einstellen" geht und sich die Parameter des eben verwendeten Adapters ansehen möchte folgende Meldung kommt: "Die benutze Schnittstelle kommuniziert gerade.Sie können die Eigenschaft im Moment nicht ändern.". Auch kann, solange das Programm welches die Verbindung aufgebaut hatte, geöffnet ist kein anderer Adapter unter "PG/PC Schnittstelle einstellen" ausgewählt werden. Das zeigt doch, dass diese nicht wieder freigegeben wurde. Daran ändert sich nichts ob man nur 5 Sekunden oder 10 Minuten wartet. Erst das Beenden des Programms bringt die erhoffte Schnittstellenfreigabe.

    Ich hoffe Du kannst dieses Verhalten auf Deinem System ebenfalls nachvollziehen, da sich Dein Testprogramm TestLibrary.exe bei mir ebenso verhalten hat.

    Gruss,

    bool
    Also ich kann das nicht nachvollziehen, zumindest nicht mit dem seriellen Adapter über S7Online! Bei mir hat jeder Verbindungs auf und Abbau geklappt! Bei mir machts mit S7Online nur Probleme wenn Step 7 im Hintergrund läuft... (Ich habe alle Prozesse mit s7 gekillt!). Funktioniert das ganze den richtig wenn du agling statts libnodave verwendest?
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  8. #28
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Also ich kann das nicht nachvollziehen, zumindest nicht mit dem seriellen Adapter über S7Online! Bei mir hat jeder Verbindungs auf und Abbau geklappt! Bei mir machts mit S7Online nur Probleme wenn Step 7 im Hintergrund läuft... (Ich habe alle Prozesse mit s7 gekillt!). Funktioniert das ganze den richtig wenn du agling statts libnodave verwendest?
    Der Verbindungsaufbau an sich (auch nach einem Abbau) wird bei mir auch immer positiv gemeldet (siehe auch Debugfileauszug weiter oben), jeflicher Zugriff auf die SPS wie z.B. Lesefunktionen gehen im Anschluss jedoch schief!!!
    Hast Du nach dem Connect -> Disconnect -> Connect im Anschluss auch eine Variable versucht zu lesen und das ging bei Dir fehlerfrei?

    Das Abschiessen der gesamten S7 Prozesse habe ich noch nicht versucht, wenn dies jedoch für das Funktionieren der Kommunikation mit libnodave via S7Online nötig sein sollte, wäre das auf jeden Fall nicht grade sehr elegant, Ich werde es heute abned auf jeden Fall mal ausprobieren.

    Hast Du auch mal nach einem S/Online Connect -> Read ON -> Read OFF -> Disconnect versucht die Schnittstellen Paramter des "PG PC Schnittstelle einstellen" Dialogs zu öffnen und hat dieser dann nicht reklamiert, dass die Schnittstelle noch in Verwendung ist? (wichtig: bevor das Programm beendet wurde welches die Schnittstelle verwendet hat)

    Gruss,

    bool

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

    Standard

    Zitat Zitat von bool Beitrag anzeigen
    Der Verbindungsaufbau an sich (auch nach einem Abbau) wird bei mir auch immer positiv gemeldet (siehe auch Debugfileauszug weiter oben), jeflicher Zugriff auf die SPS wie z.B. Lesefunktionen gehen im Anschluss jedoch schief!!!
    Hast Du nach dem Connect -> Disconnect -> Connect im Anschluss auch eine Variable versucht zu lesen und das ging bei Dir fehlerfrei?

    Das Abschiessen der gesamten S7 Prozesse habe ich noch nicht versucht, wenn dies jedoch für das Funktionieren der Kommunikation mit libnodave via S7Online nötig sein sollte, wäre das auf jeden Fall nicht grade sehr elegant, Ich werde es heute abned auf jeden Fall mal ausprobieren.

    Hast Du auch mal nach einem S/Online Connect -> Read ON -> Read OFF -> Disconnect versucht die Schnittstellen Paramter des "PG PC Schnittstelle einstellen" Dialogs zu öffnen und hat dieser dann nicht reklamiert, dass die Schnittstelle noch in Verwendung ist? (wichtig: bevor das Programm beendet wurde welches die Schnittstelle verwendet hat)

    Gruss,

    bool
    Jo, hab Ich alles Probiert, und das ging bei mir auch ohne Probleme. Sowohl mit TCP/IP über S7Online als auch mit der Seriellen Schnittstelle über S7Online. Keine Probleme. Hab auch meine CP 5511 Karte gefunden, mit der probier Ich es am Montag mit dem alten Laptop nochmal.
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  10. #30
    Registriert seit
    26.03.2010
    Beiträge
    94
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Jo, hab Ich alles Probiert, und das ging bei mir auch ohne Probleme. Sowohl mit TCP/IP über S7Online als auch mit der Seriellen Schnittstelle über S7Online. Keine Probleme. Hab auch meine CP 5511 Karte gefunden, mit der probier Ich es am Montag mit dem alten Laptop nochmal.
    Ok, da bin ich auf jeden Fall mal gespannt, was das Ergebnis mit Deinem Laptop sein wird. Meine beiden Systeme (Laptop und Desktop) welche Probleme mit dem Reconnect von libnodave unter S7Online haben sind übrigens beides Rechner mit XP SP3.

    Nach noch ein bischen herum probieren mit dem von Dir zur Verfügung gestellten vorcompilierten Programm "TestLibrary" habe ich ausserdem noch festgestellt, dass wenn man zum Forcieren eines Übertragungsfehlers z.B. das MPI Kabel während des zyklischen Lesens entfernt hat und danach wieder gesteckt hat, das Lesen der Testvariable hin und wieder wieder möglich war wenn man einen "Connect" ausgeführt hat, ohne zuvor zu "disconnecten". Wurde vor dem "Connect" ein "Disconnect" ausgeführt wie man (oder zumindest ich) es eigentlich erwarten würde, dann klappte der darauffogende Lesebefehl wie zuvor gepostet nicht.

    Kurz zusammen gefasst:

    Connect (erst bei 2tem Versuch ok) -> Read (MB190) -> MPI Kabel gezogen (erzwungener Lesefehler)-> Kabel wieder gesteckt -> Stop Read -> Disconnect -> Connect -> Read -> geht nicht! (Lesefehler)

    Connect (erst bei 2tem Versuch ok) -> Read (MB190) -> MPI Kabel gezogen (erzwungener Lesefehler)-> Kabel wieder gesteckt -> Stop Read -> Connect ohne Disconnect -> Read -> geht!

    Wie auch zuvor beschrieben wurde auch mit der "Testlibrary" (Version vom 10.06.) nach einem S7Online Connect -> Read (MB190) -> Stop Read -> Disconnect der Adapter unter "PG/PC Schnittstelle einstellen" nicht wieder freigegeben, auch nicht wenn ich die vier "S7***" Prozesse über den Taskmanager abgeschossen habe. Dies äussert sich bei mir indem ich eine Meldung bekomme, dass der Adapter grade kommuniziert und die Parameter nur schreibgeschützt geöffnet werden können. Erst wenn das "TestLibrary" Programm beendet wurde, wird bei meinem Desktop der ADapter wieder freigegeben. (mein Laptop hat noch kein .NET 4.0 installiert-> Was ist eigentlich der Grund für die Abhängigkeit der Testlibrary von .NET 4.0?)

    Es wäre auf jeden Fall klasse wenn Du der Reproduzierbarkeit halber das oben beschriebene Verhalten ebenfalls mit dem Programm "Testlibrary" vom 10.06. ausprobieren könntest, Danke schon mal im voraus.

    Gruss,

    bool
    Geändert von bool (14.06.2010 um 07:39 Uhr)

Ähnliche Themen

  1. Probleme mit Libnodave und Routing
    Von Thorsten Schier im Forum Hochsprachen - OPC
    Antworten: 17
    Letzter Beitrag: 10.08.2010, 13:34
  2. LibNodave mit Routing und Connection Library...
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 21.06.2010, 11:49
  3. LibNoDave und Connection Library mit Routing...
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 27.05.2010, 08:06
  4. LibNodave TCP MPI Routing
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 10.05.2010, 22:30
  5. Routing?
    Von smoe im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 30.01.2004, 23:00

Lesezeichen

Berechtigungen

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