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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 30

Thema: Schnelle Datenübertragung mit DotNetSiemensPLCToolBoxLibrary (LibNoDave) Nummer 2

  1. #11
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Daumen hoch


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    S7Manager.zip

    Hier ist die neuste Version meines S7 Managers. Ich habe die Anzeige-Liste mit einem double-buffer flicker-frei gemacht. Man braucht die Device-Liste nun nicht mehr missbrauchen um verschiedene Verbindungen zur gleichen SPS aufzubauen. Es reicht jede SPS einmal in die Device-Liste einzutragen. Pro SPS kann nun eine beliebig lange Signal-Liste mit INT, DWORD, REAL und STRING[127] konfiguriert werden. Die Anzahl von notwendigen Verbindungen zur gleichen SPS wird im Hintergrund gemanaged. Dabei werden Zykluszeiten von 15-20ms erreicht, weil pro Verbindung immer nur eine PDU genutzt wird und jede Verbindung in einem separaten Thread bearbeitet wird.

    Da jede SPS einen eigenen Thread hat und jeder dieser Threads wieder Sub-Threads war es gar nicht so einfach so ein ausgekluegeltes System zu programmieren, es hat mich den ganzen Tag gekostet, aber es hat sich gelohnt. Das Programm ist noch ein bisschen schneller geworden und vor allem die Usability ist nun echt top. Sehr gut gefaellt mir auch, dass man die Signal-Liste mit copy/paste bearbeiten kann. An dieser Funktion werde ich morgen noch arbeiten.

    Weiterhin werde ich morgen, das speichern der Log-Dateie/en wieder einbauen, das fehlt in der aktuellen Version. Unter Optionen kann man dann den Ort waehlen, wo die Logdateien gespeichert werden sollen.
    Zitieren Zitieren Schnelle Datenuebertragung von SPS zu IPC  

  2. #12
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Was macht denn das Programm? Irgendwie erschließt sich mir das nicht. Ich kann eine SPS anlegen und dann?

    Du musst auch bedenken, dass eine S7 nur eine begrenzte Anzahl an Verbindungsressourcen hat, die nicht gerade hoch ist. Wenn du da so mit rumaast, sind die schnell aufgebraucht.

  3. #13
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Rotes Gesicht

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Was macht denn das Programm? Irgendwie erschließt sich mir das nicht. Ich kann eine SPS anlegen und dann?

    Du musst auch bedenken, dass eine S7 nur eine begrenzte Anzahl an Verbindungsressourcen hat, die nicht gerade hoch ist. Wenn du da so mit rumaast, sind die schnell aufgebraucht.

    Hallo lieber Thomas,

    hast du denn das Programm schon runtergeladen?

    1. Du kannst mehrere SPSen anlegen
    2. Pro SPS kannst du eine Variablentabelle anlegen, mit Adresse, Datentyp und Signal-Name.
    3. Dann baust du die Verbindung auf und kannst die Werte beobachten.
    4. Die Zykluszeit der Datenerfassung wird angezeigt und liegt dank der Verbindungsoptimierung bei 15-20ms. Das ist sehr schnell.
    5. Die Werte werden in Log-Dateien geschrieben.


    Hast du das Programm schon runtergeladen? Falls nicht, dann aber schnell jetzt...

    Wieviele Verbindungen darf denn eine Siemens S300 haben?? Kannst du mir das bitte mal sagen???
    Geändert von Burkhard (26.09.2015 um 20:16 Uhr)

  4. #14
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Ja, hab die exe aus dem Release Verzeichnis gestartet, das war wohl eine andere Anwendung. Die aus dem Debug sieht anders aus.

    Die Anzahl der Verbindungen sind je nach CPU unterschiedlich, steht im Datenblatt.

  5. #15
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Daumen hoch

    Hallo lieber Hansi, hallo bester Thomasius !

    ich habe nun eine neue und traumhafte Version meines "S7 Manager Data Collector" erstellt. Durch das ausgekluegelte "Connection-Splitting" und "Multi-Threading" kann ich fuer das Lesen eines Datenblockes nur rund 20 Millisekunden zu Buche schlagen. Jeder Datenblock wird dabei in vier Verbindungen aufgesplittet, die in 4 Einzel-Threads laufen. Das Aufsplitten der Verbindungen geht automatisch, weil geschaut wird wieviele Variablen in eine PDU passen, die PDU Groesse ist mit 222 angesetzt.

    Dabei geltent die Grundsaetze:

    1. JEDE SPS EIN THREAD

    2. PACK SOVIELE VARS IN PDU WIE MOEGLICH

    3. JEDE PDU EINE VERBINDUNG = EIN THREAD

    Bei insgesamt 3 Test-SPSen habe ich also 3 Threads fue die SPSen zusammen und dann vier Threads fuer jede SPS macht zusammen 3x4 + 3 = 15 Threads. Ein Wahnsinn! Hahaha.



    Capture1.jpg

    Capture2.jpg

    Capture3.jpg

    Hier nochmal die genauen Zykluszeit-Logging-Daten, wie man sieht schwankt die Zykluszeit zwischen 15 und 35 Millisekunden mit einem Mittelwert von etwa 25 Millisekunden.

    Capture1.JPG
    Angehängte Dateien Angehängte Dateien
    Geändert von Burkhard (27.09.2015 um 04:41 Uhr)

  6. #16
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Du musst auch bedenken, dass eine S7 nur eine begrenzte Anzahl an Verbindungsressourcen hat, die nicht gerade hoch ist. Wenn du da so mit rumaast, sind die schnell aufgebraucht.
    Ich kommuniziere in meinem Fall ueber die interne Profinet-Schnittstelle und nicht ueber ein CP343. Ich habe folgende Informationen gefunden, betreffend der maximalen Anzahl von parallelen Verbindungen.

    Communication via CP343-1
    One connection is occupied for each connected Modbus/TCP device.
    The maximum number of connections - and therefore the maximum number of Modbus/TCP devices that can be connected - is given in the technical data of the CP under "Performance data / Open communication". The number of possible connections for open communication or via SEND/RECEIVE blocks specifies how the maximum number of Modbus/TCP devices that can be connected to the CP343-1.
    There are no restrictions regarding the SEND/RECEIVE jobs that can be processed simultaneously.
    Communication via CP443-1
    One connection is occupied for each connected Modbus/TCP device.
    The maximum number of connections - and therefore the maximum number of Modbus/TCP devices that can be connected - is given in the technical data of the CP under "Performance data / Open communication". The number of possible connections for open communication or via SEND/RECEIVE blocks specifies how the maximum number of Modbus/TCP devices that can be connected to the CP443-1.
    There are restrictions for the CPU regarding the SEND/RECEIVE jobs that can run simultaneously. A data transfer of a length of up to 240 bytes occupies 1 connection resource in the CPU. A data transfer longer than 240 bytes occupies 2 connection resources in the CPU. Taking into consideration the Modbus/TCP header this means that as of 115 registers or 1825 coils/inputs 2 connection resources are occupied in the CPU.
    The maximum number of function calls is given in the technical data of the CPU under "S5-compatible communication > Max. number of simultaneous AG-SEND/AG-RECV jobs per CPU".
    By cascading the triggered jobs you can connect as many devices as the CP can operate. They might be addressed consecutively if necessary.

    Communication via the PROFINET interface of the CPU SIMATIC S7 is Modbus/TCP client
    If the SIMATIC S7 is working as a Modbus/TCP client, then theoretically there is no limit to the number of Modbus/TCP devices that can be connected. A connection can be disconnected via the "DISCONNECT" input of the Modbus/TCP function block and then connected with a different device.
    The number of devices that can be operated at the same time is limited by the maximum number of connections. The maximum number of connections is given in the technical data of the CPU under "Open IE communication > Max. number of connections".

    In the Siemens Document "Open IE Communication: Data Exchange
    S7-300/400 <-> S7-1200" I found the following information:

    The maximum number of connections for open IE communication depends on the used CPU. For the used CPU 315-2 PN/DP, max. 8 imultaneous connections can be established using “ISO-on-TCP”. By changing the IP address in the connection data block, data can be successively exchanged with more than 8 different communication partners via the same connection resource. “ISO-on-TCP” allows to tansfer up to 8,192 bytes per job.
    Geändert von Burkhard (28.09.2015 um 04:11 Uhr)

  7. #17
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Ich benutze allerdings folgende Kommunikationsbaugruppe:

    IM 151-8 PN/DP CPU interface module

    Technical specifications

    Open IE communication supported: Yes
    ISO on TCP (RFC1006) : Yes (via integrated PROFINET interface and
    loadable FBs)

    Maximum number of connections : 8
    Data length, max. : 32768 bytes

  8. #18
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Wenn ich mich mit dem Programmiergeraet auch ueber ISO on TCP verbinde, dann ist schonmal eine Verbindung weg, nehme ich an.

    Wenn dann zum Datensammeln gerade 7 Verbindungen offen sind, dann sind nunmehr alle Verbindungen aufgebraucht. Ich denke damit kann ich leben.

  9. #19
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.181
    Danke
    923
    Erhielt 3.289 Danke für 2.658 Beiträge

    Standard

    Zitat Zitat von Burkhard Beitrag anzeigen
    Ich benutze allerdings folgende Kommunikationsbaugruppe:

    IM 151-8 PN/DP CPU interface module
    LibNoDave kommuniziert mit der CPU per PG-Kommunikation oder OP-Kommunikation.
    Bei der IM 151-8 PN/DP CPU können maximal 12 solche Verbindungen genutzt werden. Falls die CPU weitere Kommunikation betreibt, dann sind weniger Verbindungen übrig.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #20
    Burkhard ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.11.2007
    Beiträge
    123
    Danke
    19
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Was denn nun? 12 oder 8 Verbindungen? In der Doku steht was von 8 Verbindungen, aber du sagst es sind 12.

Ähnliche Themen

  1. Antworten: 17
    Letzter Beitrag: 29.09.2015, 07:18
  2. DotNetSiemensPLCToolBoxLibrary -> nun mit Full-Manged TCP Connection
    Von Jochen Kühner im Forum Hochsprachen - OPC
    Antworten: 0
    Letzter Beitrag: 09.02.2015, 23:29
  3. Antworten: 0
    Letzter Beitrag: 22.03.2014, 15:48
  4. Datenübertragung mit t_send
    Von Papa_Bene im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 29.09.2010, 12:26
  5. Antworten: 0
    Letzter Beitrag: 09.03.2007, 19:22

Stichworte

Lesezeichen

Berechtigungen

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