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

Page 2 of 8 FirstFirst 1234 ... LastLast
Results 11 to 20 of 80

Thread: Neues libnodave Version (woher?)

  1. #11
    BorisDieKlinge80 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    14.05.2008
    Posts
    195
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    jetzt gehts (zahlendreher^^) Ich hab immer noch keine dok.. wil DB2 -> 22 Real werte aulesen... verwendung ISO_TCP:

    Code:
    fds.rfd = libnodave.openSocket(102,"................");
               // fds.rfd=libnodave.openSocket(102,args[0]);
                fds.wfd=fds.rfd;
                if (fds.rfd>0) { 
    
                    di =new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
                    di.setTimeout(1000000);
            //        res=di.initAdapter();    // does nothing in ISO_TCP. But call it to keep your programs indpendent of protocols
            //        if(res==0) {
    
    
                    dc = new libnodave.daveConnection(di,0 , rack, slot);
                    if (0==dc.connectPLC()) {
                        res=dc.readBytes(libnodave.daveFlags,2, 0, 88, null);
                        if (res==0) {
                            a=dc.getS32();    
                            b=dc.getS32();
                            c=dc.getS32();
                            d=dc.getFloat();
                            Console.WriteLine("FD0: " + a);
                            Console.WriteLine("FD4: " + b);
                            Console.WriteLine("FD8: " + c);
                            Console.WriteLine("FD12: " + d);
                        } else 
                            Console.WriteLine("error "+res+" "+libnodave.daveStrerror(res));
                    }
                    dc.disconnectPLC();
    aber dc.connectPLC gibt NULL zurück.. muss ich bei

    di =new libnodave.daveInterface(fds, "IF1", 0, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k);
    di.setTimeout(1000000);


    noch was ändern???

    ICH BRAUCH DOKU

  2. #12
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    du hast doch die dll eingebunden. also haste intellisense.

    statt Flags musst du daveDB nehmen aber steht ja alles da im Methodenkopf

  3. #13
    BorisDieKlinge80 is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    14.05.2008
    Posts
    195
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Default

    statt Flags musst du daveDB
    sorry aber ich weis nich was du meinst, ja ich sehe schon was für parameter die methoden erwarten, aber das hilft mir hier nichts...

    und wenn du die "flags" bei "readBytes" meinst, da kommt er ja nich mal hin

  4. #14
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    Quote Originally Posted by BorisDieKlinge80 View Post
    jetzt gehts (zahlendreher^^) Ich hab immer noch keine dok.. wil DB2 -> 22 Real werte aulesen... verwendung ISO_TCP:

    Code:
    byte[] buffer = new byte[88];
    res=dc.readBytes(libnodave.daveDB,2, 0, 88, buffer);
    So sollte es gehen

    Edit: Aso gitb es NULL oder 0 zurück. 0 wäre in dem Fall korrekt.
    Last edited by Key; 28.01.2009 at 15:58.

  5. #15
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    res=dc.readBytes(libnodave.daveDB,2, 0, 88, null);

    oder muss ich per polling ständig änderungen mit nem lokalen buffer vergleichen..... ??
    Ja. Must du. Und wenn ein OPC-Server das anders handhabt, bedeutet es, daß der ständig pollt.

    Hat jemand Interesse an eine Passiv-Version (PC startet Server auf Port 102, SPS verbindet sich damit)? Damit könnte die SPS Daten bei Änderung senden. Allerdings müssen dann auf der SPS-Seite Verbindungsaufbau und Fehlerbehandlung abgewickelt werden.

  6. #16
    Join Date
    03.09.2008
    Posts
    50
    Danke
    7
    Erhielt 2 Danke für 2 Beiträge

    Default

    Ist das ein Angebot es zu entwickeln oder hast du sowas schon da?

    @Boris: evtl.
    Code:
    private libnodave.daveConnection dc;
    vergessen?

  7. #17
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default

    Quote Originally Posted by Zottel View Post
    res=dc.readBytes(libnodave.daveDB,2, 0, 88, null);


    Ja. Must du. Und wenn ein OPC-Server das anders handhabt, bedeutet es, daß der ständig pollt.

    Hat jemand Interesse an eine Passiv-Version (PC startet Server auf Port 102, SPS verbindet sich damit)? Damit könnte die SPS Daten bei Änderung senden. Allerdings müssen dann auf der SPS-Seite Verbindungsaufbau und Fehlerbehandlung abgewickelt werden.
    Dieser Zusammenhang stimmt leider nicht. Der Unterschied zwischen aktiv und passiv ist nur, wer den Verbindungsaufbau initiiert. Der restliche Zugriff ist in beiden Fällen gleich. Wenn der PC Daten haben will, dann muss er sie normalerweise anfragen. Somit bringt eine Umstellung auf einen passive Verbindungsaufbau nichts außer Ärger, denn die SPS muss wissen, zu wem sie die Verbindung aufbauen soll. Andere TCP/IP-Adresse bedeutet somit andere Konfiguration. Und was dies bedeutet ist ja klar.
    Rainer Hönle
    DELTA LOGIC GmbH

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

  8. Folgender Benutzer sagt Danke zu Rainer Hönle für den nützlichen Beitrag:

    Zottel (28.01.2009)

  9. #18
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    Quote Originally Posted by Key View Post
    Ist das ein Angebot es zu entwickeln oder hast du sowas schon da?
    Fertig habe ich es nicht. Es sollte aber nicht allzu schwer zu realisieren sein.

  10. #19
    Join Date
    19.06.2003
    Posts
    2,299
    Danke
    85
    Erhielt 274 Danke für 179 Beiträge

    Default

    Dieser Zusammenhang stimmt leider nicht. Der Unterschied zwischen aktiv und passiv ist nur, wer den Verbindungsaufbau initiiert. Der restliche Zugriff ist in beiden Fällen gleich. Wenn der PC Daten haben will, dann muss er sie normalerweise anfragen.
    Zweifel! Die SPS (mit CPx43 oder Ethernet onboard) sollte doch mittels der Bausteine GET und PUT Daten (auf ihre Initiative) zu einem PC schicken können?
    Dabei wäre es vielleicht. noch schöner, wenn der PC diese Verbindung aufbaut, dann hätte man den Ärger mit der Konfiguration nicht...

  11. #20
    Join Date
    27.10.2005
    Location
    Schwäbisch Gmünd
    Posts
    5,629
    Danke
    698
    Erhielt 996 Danke für 809 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dies liegt aber nicht am aktiven oder passiven Verbindungasaufbau. Grundsätzlich sind bei projektierten Verbindungen ein paar zusätzliche Dinge wie BSEND, BRCV, USEND, URCV etc. realsierbar. Aber diese funktionieren, egal wer die Verbindung aufbaut.
    Wir können gerne am Forumstreffen uns ausführlich darüber unterhalten. Kommst du dieses mal wieder?
    Rainer Hönle
    DELTA LOGIC GmbH

    Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)

Similar Threads

  1. Fehler in libnodave oder in meiner Version...
    By Jochen Kühner in forum Hochsprachen - OPC
    Replies: 6
    Last Post: 04.03.2012, 22:24
  2. Neue Version meines LibNoDave Datenbank Protokollers...
    By Jochen Kühner in forum Simatic
    Replies: 2
    Last Post: 16.03.2009, 13:38
  3. libnodave: Woher kommt die "libnodave.net.dll"?
    By Thomas_v2.1 in forum Hochsprachen - OPC
    Replies: 2
    Last Post: 10.11.2008, 12:07
  4. Libnodave Version 0.8.4.4
    By Zottel in forum Werbung und Produktneuheiten
    Replies: 0
    Last Post: 08.02.2008, 16:55
  5. Libnodave Version 0.8
    By Zottel in forum Werbung und Produktneuheiten
    Replies: 46
    Last Post: 23.10.2005, 19:30

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •