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

Seite 2 von 8 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 79

Thema: LibNodave mit Routing usw...

  1. #11
    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
    Rufst du denn disconnectPLC auf?

    Ja, für die tcp ip verbindung musst du die verbindung mit libnodave.daveConnection aufbauen, aber mit dem 2ten konstruktor mit mehr parametern!
    So nachdem ich dieses Wochenende der Gartenarbeit und Familie gewidmet hatte, habe ich nun noch ein bischen Zeit um mich wieder um das libnodave Projekt zu kümmern.

    Der Test mit Deiner neusten libnodave.dll (01.06. 23:44 mit 147kB) und libnodave.net.dll (compilierte libnodave.net.cs vom 28.05.2010 22:43) brachten bei mir leider das Ergebnis, dass selbst beim ersten Verbindungsaufbau (direkt nach Applikationsstart) via S7Online sich die Funktion dc.connectPLC mit dem Ergebnis -1 "no message defined" verabschiedet. Nach Wechseln der libnodave.dll zur älteren Version vom 12.05.2010 geht dann die S7Online Verbindung auch wieder.
    Interessanterweise hatte die Funktion diListReachablePartners() vor dem dc.connectPLC() auch bei der neuen dll die richtigen MPI Teilnehmer zurückgegeben.

    Die ISO on TCP und auch die MPI Verbindung via RS232 Adapter funktionierten übrigens auch mit der neuen dll weiterhin, die S7Verbindung wie beschrieben jedoch leider nicht.

    Um zu Deiner Frage zurück zu kommen, ja ich rufe die Funktion
    dc.disconnectPLC() beim Verbindungabbau auf, danach
    di.disconnectAdapter() und im Anschluss
    libnodave.closeS7online(fds.rfd) wenn es sich um eine S7Online Verbindung gehandelt hat.

    Ich hoffe Du hast noch eine Idee an was das liegen könnte.
    Wie bereits erwähnt, habe ich die dlls nicht im Systemverzeichnis, sondern nur im Projektverzeichnis liegen.


    Gruss,

    bool

    Geändert von bool (06.06.2010 um 23:29 Uhr) Grund: Zeitstempel und Quelle der dlls hinzugefügt

  2. #12
    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
    So nachdem ich dieses Wochenende der Gartenarbeit und Familie gewidmet hatte, habe ich nun noch ein bischen Zeit um mich wieder um das libnodave Projekt zu kümmern.

    Der Test mit Deiner neusten libnodave.dll und libnodave.net.dll brachten bei mir leider das Ergebnis, dass selbst beim ersten Verbindungsaufbau (direkt nach Applikationsstart) via S7Online sich die Funktion dc.connectPLC mit dem Ergebnis -1 "no message defined" verabschiedet. Nach Wechseln der libnodave.dll zur älteren Version vom 12.05.2010 geht dann die S7Online Verbindung auch wieder.
    Interessanterweise hatte die Funktion diListReachablePartners() vor dem dc.connectPLC() auch bei der neuen dll die richtigen MPI Teilnehmer zurückgegeben.

    Die ISO on TCP und auch die MPI Verbindung via RS232 Adapter funktionierten übrigens auch mit der neuen dll weiterhin, die S7Verbindung wie beschrieben jedoch leider nicht.

    Um zu Deiner Frage zurück zu kommen, ja ich rufe die Funktion
    dc.disconnectPLC() beim Verbindungabbau auf, danach
    di.disconnectAdapter() und im Anschluss
    libnodave.closeS7online(fds.rfd) wenn es sich um eine S7Online Verbindung gehandelt hat.

    Ich hoffe Du hast noch eine Idee an was das liegen könnte.
    Wie bereits erwähnt, habe ich die dlls nicht im Systemverzeichnis, sondern nur im Projektverzeichnis liegen.


    Gruss,

    bool

    Das liegt nicht an der dll denke ich. Habe im Moment das Problem, das Ich Änderungen welche ich vornehme nur mit einem tcp/ip zugang über s7online testen kann, da ich nur einen netlink usb als mpi adapter habe, welcher unter win7 im moment nicht über .net anwendungen ansprechbar ist! Werd mal schauen was ich nächste woche noch weiter darn machen kann, melde mich...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

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

    Standard

    Bitte prüfe doch kurz, ob ich Deine aktuellsten libnodave.dll und libnodave.net.cs (siehe Zeitstempel in meinem obigen Post) verwende oder ob es hier bereits neuere Versionen gibt welche zu testen es sich lohnen würde.

    Danke und Gruss,

    bool

  4. #14
    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
    Bitte prüfe doch kurz, ob ich Deine aktuellsten libnodave.dll und libnodave.net.cs (siehe Zeitstempel in meinem obigen Post) verwende oder ob es hier bereits neuere Versionen gibt welche zu testen es sich lohnen würde.

    Danke und Gruss,

    bool
    Denke schon, wenn es die Versionen aus diesem Thread sind! (Kann das nicht vergleichen, da Ich die Versionen im Moment nicht vorhalte, da Ich laufend was ändere ). Hab aber noch was gefunden, was Ich bei S7Online noch falsch mache... Ich bin ab Donnerstag wieder im Büro, dann such Ich mal meinen alten Seriellen MPI Adapter und Versuchs nochmal...

    Und danach mach Ich mich an's Routing von Netlink und Netlink lite...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  5. #15
    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
    Ja, für die tcp ip verbindung musst du die verbindung mit libnodave.daveConnection aufbauen, aber mit dem 2ten konstruktor mit mehr parametern!

    Habe ich das richtig verstanden?
    Für die TCP/IP Verbindung über S7Online muss ich die "libnodave.openS7online()" Funktionsvariante aufrufen bei welcher ich als zweiten Parameter das Fensterhandle übergebe und danach muss ich dann die neue Funktion "libnodave.daveNewExtendedConnection()" aufrufen und entsprechend parametrieren? Ist dies so korrekt? Muss ich dann trotzdem für die MPI über S7Online Verbindung die herkommliche "daveConnection" aufrufen oder kann ich dann für alle möglichen Verbindungen (MPI/Prifibus/TCP) diese erweiterte Funktion verwenden? Geht eigentlich dann auch ISOonTCP über S7Online? Ist zwar eigentlich unnötig, da es ja auch so geht, aber interessant wäre es auf jeden Fall zu wissen, ob man diese Verbindung weiterhin abfangen/blockieren muss.
    ...

    ...
    hab nun grad mal versucht die erweitere Funktion in meinem Programm aufyurufen, doch leider wird die Deklaration aus der libnodave.net.dll nicht erkannt.

    Ausug aus der libnodave.net.cs welche ich als dll compiliert und als dll eingebunden habe. Die entsprechende libnodve.dll liegt im selben Verzeichnis.

    [DllImport("libnodave.dll"/*, PreserveSig=false */ )]
    protected static extern IntPtr daveNewExtendedConnection(
    IntPtr di,
    byte[] destination,
    int DestinationIsIP,
    int rack,
    int slot,
    int routing,
    int routingSubnetFirst,
    int routingSubnetSecond,
    int routingRack,
    int routingSlot,
    byte[] routingDestination,
    int routingDestinationIsIP
    );

    Kannst Du ggf. noch ein paar Worte dazu schreiben was die einzelnen Routing Parameter bedeuten, auch unter dem Parmeter "byte[] destination" kann mir noch nicht so wirklich viel vorstellen.



    Danke und Gruss,

    bool
    Geändert von bool (07.06.2010 um 02:43 Uhr)

  6. #16
    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
    Habe ich das richtig verstanden?
    Für die TCP/IP Verbindung über S7Online muss ich die "libnodave.openS7online()" Funktionsvariante aufrufen bei welcher ich als zweiten Parameter das Fensterhandle übergebe und danach muss ich dann die neue Funktion "libnodave.daveNewExtendedConnection()" aufrufen und entsprechend parametrieren? Ist dies so korrekt? Muss ich dann trotzdem für die MPI über S7Online Verbindung die herkommliche "daveConnection" aufrufen oder kann ich dann für alle möglichen Verbindungen (MPI/Prifibus/TCP) diese erweiterte Funktion verwenden? Geht eigentlich dann auch ISOonTCP über S7Online? Ist zwar eigentlich unnötig, da es ja auch so geht, aber interessant wäre es auf jeden Fall zu wissen, ob man diese Verbindung weiterhin abfangen/blockieren muss.
    ...

    ...
    hab nun grad mal versucht die erweitere Funktion in meinem Programm aufyurufen, doch leider wird die Deklaration aus der libnodave.net.dll nicht erkannt.

    Ausug aus der libnodave.net.cs welche ich als dll compiliert und als dll eingebunden habe. Die entsprechende libnodve.dll liegt im selben Verzeichnis.

    [DllImport("libnodave.dll"/*, PreserveSig=false */ )]
    protected static extern IntPtr daveNewExtendedConnection(
    IntPtr di,
    byte[] destination,
    int DestinationIsIP,
    int rack,
    int slot,
    int routing,
    int routingSubnetFirst,
    int routingSubnetSecond,
    int routingRack,
    int routingSlot,
    byte[] routingDestination,
    int routingDestinationIsIP
    );

    Kannst Du ggf. noch ein paar Worte dazu schreiben was die einzelnen Routing Parameter bedeuten, auch unter dem Parmeter "byte[] destination" kann mir noch nicht so wirklich viel vorstellen.



    Danke und Gruss,

    bool
    Die libnodave.daveNewExtendedConnection() muss verwendet werden, wenn ich S7Online mit Routing oder TCP/IP verwende, da Ich dort mehr Parameter brauche. Auch bei TCP/IP mit Routing musst du diese verwenden. Bei den anderen Verbindungstypen werden bisher die zusätzlichen Parameter einfach ignoriert!

    byte[] destination ==> Vorhanden, da bei TCP/Ip über S7Online eine Ip übergeben werden muss (als Char array)
    int DestinationIsIP ==> Ist das Ziel eine IP oder eine MPi Adresse
    int routing ==>Routing Benutzen
    int routingSubnetFirst ==>Subnetz ID wie in Netpro
    int routingSubnetSecond ==> Subnetz ID wie in Netpro

    Du kannst das ganze ja mit meiner Connection Library prüfen, da ist das ganze schon implementiert (Da ist ja auch ein Beispiel Programm dabei!)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #17
    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
    Die libnodave.daveNewExtendedConnection() muss verwendet werden, wenn ich S7Online mit Routing oder TCP/IP verwende, da Ich dort mehr Parameter brauche. Auch bei TCP/IP mit Routing musst du diese verwenden. Bei den anderen Verbindungstypen werden bisher die zusätzlichen Parameter einfach ignoriert!

    byte[] destination ==> Vorhanden, da bei TCP/Ip über S7Online eine Ip übergeben werden muss (als Char array)
    int DestinationIsIP ==> Ist das Ziel eine IP oder eine MPi Adresse
    int routing ==>Routing Benutzen
    int routingSubnetFirst ==>Subnetz ID wie in Netpro
    int routingSubnetSecond ==> Subnetz ID wie in Netpro

    Du kannst das ganze ja mit meiner Connection Library prüfen, da ist das ganze schon implementiert (Da ist ja auch ein Beispiel Programm dabei!)
    ok, Danke für die Info.

    Werde ich mich gegen Ende der Woche damit beschäftigen.

    Gruss,

    bool

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

    Standard

    Ok, mit meiner Lib geht über S7Online kein Serieller Adapter mehr, habs grad getestet... Morgen schau Ich mir das dann... Melde mich!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Ok...  

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

    Standard

    So, nun hab Ich mal wieder was gemacht...

    MPI Adapter sollten nun auch wieder über S7Online gehen (kann leider nur mit einem Seriellen testen, sobald NetlinkUSB auch unter Windows 7 richtig läuft teste Ich auch damit!)

    Auch in meiner Connection Lib gibts ein bischen was neues:

    auslesen der CPU Bausteine, auslesen CPU Status (noch fehlerhaft, geht heute oder morgen abend).

    Download ab jetzt immer hier: http://jochensserver.dyndns.org/wordpress/?page_id=55
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Soooo  

  10. #20
    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
    So, nun hab Ich mal wieder was gemacht...

    MPI Adapter sollten nun auch wieder über S7Online gehen (kann leider nur mit einem Seriellen testen, sobald NetlinkUSB auch unter Windows 7 richtig läuft teste Ich auch damit!)
    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

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