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

Page 6 of 8 FirstFirst ... 45678 LastLast
Results 51 to 60 of 80

Thread: Neues libnodave Version (woher?)

  1. #51
    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
    @Höhlnle: Kannst du mir in kurzen worten vll. bischen code /function zeigen wie ich nen optimiersten (Wie prepare data in libnodave) auf menere DBS machen?

    @Question_mark: Wie muss das umgestetz werden, wie ist der Speicher (wo DB liegen) auf ner SPS aufgebaut.. wie ereicht man das DB's da hintereinanderliegen.. oder besser noch, wie kann ich unabhängig von DB's den rohen speicher lesen und den dann intern bei mir in DB auseinanderpfrimieln???

    Und ja ich werde ne nextra thread für die datenabfrage zur SPS verwenden.. da darf nix hängen. Durch die umgehen unvon OPC, spar ich mir die zeit des OPC daten austausch also statt PLC<-> OPC Ser <-> OPC Cli <-> App. auf PLC <-> App.

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

    Default

    EDIT: ich hab mal in C/C++ bischem it libnodave rumgespielt, und nen DB mit 40000Bytes ausgelesen:

    Code:
                timeGetSystemTime(&tStart,sizeof(tStart));
    
    
                int res= daveReadBytes(dc,daveDB,3,0,40000,vBuf);
                        
    
                timeGetSystemTime(&tEnd,sizeof(tEnd));
    
                int diff= tEnd.u.ms - tStart.u.ms;

    17ms für 40KBytes, ist das möglich??? res gibt 0 zurück.

  3. #53
    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 Question_mark View Post
    Die Treiberschnittstelle auf der untersten Ebene ist bei WinCC und Prodave mit hoher Wahrscheinlichkeit die gleiche. Aber über Prodave greift man über eine DLL-Schnittstelle zu, während bei WinCC Siemens einen OPC-Server und OPC-Client drübergesetzt hat.
    Mit Treiberschnittstelle meine ich die Ebene darunter. Sowohl bei prodave und WinCC (flexible) wird der Zugangspunkt der Appilkation angegeben (direkt oder ggf. indirekt). Dadurch wird der eigentliche Treiber festgelegt.
    Rainer Hönle
    DELTA LOGIC GmbH

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

  4. #54
    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 BorisDieKlinge80 View Post
    17ms für 40KBytes, ist das möglich??? res gibt 0 zurück.
    Nein, dies geht nicht. Da ist irgendwo ein Fehler drin.
    Rainer Hönle
    DELTA LOGIC GmbH

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

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

    Default

    Quote Originally Posted by BorisDieKlinge80 View Post
    EDIT: ich hab mal in C/C++ bischem it libnodave rumgespielt, und nen DB mit 40000Bytes ausgelesen:

    Code:
                timeGetSystemTime(&tStart,sizeof(tStart));
    
               int res= daveReadBytes(dc,daveDB,3,0,40000,vBuf);
                        
                timeGetSystemTime(&tEnd,sizeof(tEnd));
                int diff= tEnd.u.ms - tStart.u.ms;
    17ms für 40KBytes, ist das möglich??? res gibt 0 zurück.
    Die Länge bei daveReadBytes kann sinvollerweise nicht größer sein als die in einer PDU übertragbare Datenmenge (PDUlength - 18 ?).
    Darüberhinaus ist sie durch die Länge der verwendeten Puffer auf 2048 beschränkt.
    Das wird (noch) nicht überprüft. Für readBytes ist es nicht schwer, aber beim Lesen mehrerer Variablen müßte eine solche Rechnung die Länge der einzelnen Antwortblöcke einschließlich Adressinformation und Füllerbytes vorausberechnen.
    Insbesondere bei den Füllerbytes bin ich mir nicht sicher, ob sich jede S7 gleich verhält.
    Daher zieht readBytes einfach die Anfrage durch und wenn die CPU nicht meckert, gibt es auch 0 zurück.
    Ich werde mal schauen, was bei deiner Anfrage passiert.
    Last edited by Zottel; 30.01.2009 at 10:57.

  6. #56
    Join Date
    22.02.2007
    Location
    Sponheim
    Posts
    226
    Danke
    3
    Erhielt 10 Danke für 9 Beiträge

    Default

    Wenn es schnell gehen soll mit der Kommunikation, kannst du auch eine TCP-Verbindung zwischen SPS und PC projektieren und mit SEND/RECIEVE arbeiten.

    Dann sparst du dir die Zeit zum Anfragen bei der SPS. Im SPS-Programm kannst du dir die Daten dann zum PC senden lassen. Daten in die SPS schreiben kannst du mit LibNoDave direkt.
    Wie kann es sein, dass am Ende des Geldes noch Monat übrig ist?
    Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück!
    engbarth.es

  7. #57
    Join Date
    28.10.2005
    Location
    Ottweiler, Saar
    Posts
    968
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Default

    Quote Originally Posted by marcengbarth View Post
    Wenn es schnell gehen soll mit der Kommunikation, kannst du auch eine TCP-Verbindung zwischen SPS und PC projektieren und mit SEND/RECIEVE arbeiten.

    Dann sparst du dir die Zeit zum Anfragen bei der SPS. Im SPS-Programm kannst du dir die Daten dann zum PC senden lassen. Daten in die SPS schreiben kannst du mit LibNoDave direkt.
    Ich bin jetzt nicht so der Kenner von LibNoDave.
    SEND/RECEIVE von der SPS zu verarbeiten kann das LibNoDave?
    Last edited by argv_user; 30.01.2009 at 12:18.

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

    Default

    mit SEND/RECIEVE arbeitet ja man dann theoretisch noch ne ebene tiefer als libnodave etc. Dann müsste man aber wissen wie die SPS ihre DBS im speicher anlegt, adressierung etc. un auf pc Ebenen auseinerander nehmen... Oder wie meint ihr das?

  9. #59
    Join Date
    28.10.2005
    Location
    Ottweiler, Saar
    Posts
    968
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Default

    Quote Originally Posted by BorisDieKlinge80 View Post
    mit SEND/RECIEVE arbeitet ja man dann theoretisch noch ne ebene tiefer als libnodave etc. Dann müsste man aber wissen wie die SPS ihre DBS im speicher anlegt, adressierung etc. un auf pc Ebenen auseinerander nehmen... Oder wie meint ihr das?
    Bei SEND/RECEIVE (nicht RECIEVE) werden nur Datenblöcke übertragen.
    Die höheren Protokolle (FETCH/WRITE) fügen noch Adressangaben hinzu.

  10. #60
    Join Date
    07.07.2004
    Posts
    3,381
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Quote Originally Posted by Boris
    @Question_mark: Wie muss das umgestetz werden, wie ist der Speicher (wo DB liegen) auf ner SPS aufgebaut.. wie ereicht man das DB's da hintereinanderliegen.. oder besser noch, wie kann ich unabhängig von DB's den rohen speicher lesen und den dann intern bei mir in DB auseinanderpfrimieln???
    Mannomann Boris, warum denkst Du nur so kompliziert ??? Es ist doch dür Dich scheissegal, auf welchen absoluten Speicheradressen in der SPS die Daten oder Merkerbereiche liegen. Man kann diese Bereiche über einen absoluten oder symbolischen Namen ansprechen, es ist doch drissegal an welcher absoluten Adresse diese Daten im Speicher liegen. Und das macht den Umgang mit den Daten so einfach (sofern die Struktur bekannt ist)...
    Ein typischer Fehler der Programmierer in Hochsprachen, die EDV versucht sich an der SPS ...
    Lieber basteln und Kosten verbraten bis zum Ende. Bei mir rollen sich gerade die Fussnägel hoch ...

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Reply With Quote Reply With Quote Dir fehlen SPS-Grundkenntnisse  

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
  •