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

Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: PUT / GET, S7-300 zu mehreren S7-1200, Fehler Code dezimal 20

  1. #1
    Join Date
    28.09.2005
    Posts
    436
    Danke
    118
    Erhielt 91 Danke für 76 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe hier eine S7-300 mit einem CP343-1 über den ich mit PUT/GET insgesamt drei S7-1200 auslesen bzw. einen Sollwert schreiben möchte.


    Ich habe dazu für jede Verbindung einen FB welcher insgesamt 15 GET und einen PUT Aufruf enthalten (Diese werden der Reihe nach abgearbeitet). Jede diese Verbindung funktioniert für sich alleine ohne Probleme. Der Plan war, dass ich die Daten von der ersten S7-1200 lesen und wenn das abgeschlossen ist die nächste beginne – also nie mehrere Verbindungen gleichzeitig. Da kommt jedoch dann der Fehler 20:


    „Maximale Anzahl paralleler Aufträge/Instanzen ist überschritten
    Die Instanzen wurden bei CPU-RUN überladen (STOP-RUN-Übergang der CPU oder des CP ist erforderlich.)
    Ist beim Erstaufruf möglich“


    Es funktioniert dann immer nur die Verbindung die ich als erster gestartet habe, die anderen beiden nicht. Nach einem Stopp/Start der CPU, kann ich jeweils eine der drei Verbindungen ohne Probleme aufrufen.


    Gibt es da irgendeine unbekannte Grenze? Kann der CP343-1 nur eine Verbindung?


    Bitte um Hilfe.

    Lg Stefan

    2018-10-10 at 13-08-24.jpg2018-10-10 at 10-53-19.jpg
    Reply With Quote Reply With Quote PUT / GET, S7-300 zu mehreren S7-1200, Fehler Code dezimal 20  

  2. #2
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,613
    Danke
    1,094
    Erhielt 4,025 Danke für 3,253 Beiträge

    Default

    Verwendest Du die richtigen FB14/FB15 aus der Bibliothek SIMATIC_NET_CP?
    Schaltest Du erst zum nächsten Auftrag wenn der vorherige mit NDR oder ERROR beendet ist?
    Verwendest Du für eventuell parallele Aufträge auch verschiedene GET-Instanzen?
    Versuche mal nach STOP/RUN den Auftrag mit der größten Datenlänge zuerst auszuführen.

    Welche CPU hast Du genau? Bestellnummer und Firmwareversion
    Welchen CP hast Du genau? Bestellnummer und Firmwareversion
    Sind da noch weitere Verbindungen aktiv? Wie sieht Baugruppenzustand > Kommunikation der CPU aus? (zeig mal ein Bild)

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,613
    Danke
    1,094
    Erhielt 4,025 Danke für 3,253 Beiträge

    Default

    PS: auf 8 Verbindungen gleichzeitig GET sollte möglich sein.
    Wie werden die Kommunikationsressourcen in der S7-300 belegt?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  4. #4
    mst's Avatar
    mst is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    28.09.2005
    Posts
    436
    Danke
    118
    Erhielt 91 Danke für 76 Beiträge

    Default

    Hallo Harald, danke für die Hilfe.

    Quote Originally Posted by PN/DP View Post
    Verwendest Du die richtigen FB14/FB15 aus der Bibliothek SIMATIC_NET_CP? – Natürlich hatte ich die Falschen, jatzt hab ich die besagten aus der SIMATIC_NET_CP Bibliothek.
    Schaltest Du erst zum nächsten Auftrag wenn der vorherige mit NDR oder ERROR beendet ist? – JA
    Verwendest Du für eventuell parallele Aufträge auch verschiedene GET-Instanzen? - JA
    Versuche mal nach STOP/RUN den Auftrag mit der größten Datenlänge zuerst auszuführen. – Ist bereits so, ich lese 14x149Bytes 1x49Bytes

    Welche CPU hast Du genau? Bestellnummer und Firmwareversion 317-2AK14-0AB0 V3.3.12
    Welchen CP hast Du genau? Bestellnummer und Firmwareversion 343-1EX30-0XE0 V3.0.0
    Sind da noch weitere Verbindungen aktiv? Wie sieht Baugruppenzustand > Kommunikation der CPU aus? (zeig mal ein Bild) – Ich habe ISO on TCP Verbindungen, diese laufen über einem anderen CP 343-1 Lean

    Harald

    Ich habe jetzt die richtigen Bausteine, und es laufen auch zwei der drei Verbindgen jetzt reibungslos. Wenn ich die dritte Verbindung starte (gleiche Maschine, gleicher Verbindungspartner), bleibt das ganze bei einem GET Befehl stehen (meistens beim ersten), dieser gibt die Meldung aus DEC11
    „Warnung: Neuer Auftrag ist unwirksam, da vorangegangener Auftrag noch nicht abgeschlossen ist. Der Auftrag wird bereits in einer Prioritätsklasse mit niedrigerer Priorität bearbeitet.“
    Ich sehe auch Im Web Interface vom CP, das sich die Anzahl der gesendeten Aufträge permanent erhöht. Jedoch wird der GET Aufruf nicht mit DR oder ERROR quittiert. Stopp/Start der CPU und des Verbindungspartners hab ich schon mehrmals gemacht.

    2018-10-11 at 10-12-06.jpg2018-10-11 at 10-13-05.png

  5. #5
    Join Date
    06.10.2003
    Posts
    3,957
    Danke
    526
    Erhielt 639 Danke für 501 Beiträge

    Default

    Versuche es mal mit einer etwas größeren OB1-Zykluszeit und/oder mit den Ressourcen-Einstellungen "Zyklusbelastung durch Kommunikation" in der HW-Konfig der CPU. Wie groß ist die Zykluszeit überhaupt?
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  6. #6
    mst's Avatar
    mst is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    28.09.2005
    Posts
    436
    Danke
    118
    Erhielt 91 Danke für 76 Beiträge

    Default

    Quote Originally Posted by Onkel Dagobert View Post
    Versuche es mal mit einer etwas größeren OB1-Zykluszeit und/oder mit den Ressourcen-Einstellungen "Zyklusbelastung durch Kommunikation" in der HW-Konfig der CPU. Wie groß ist die Zykluszeit überhaupt?
    Anbei die Screenshots zu den Einstellungen bzw. Zykluszeiten.
    Du meinst das ich eine minderst Zykluszeit einstellen soll? - Das ist bei mir ausgegraut.
    Zum Thema Belastung der Zykluszeit durch Kommunikation - die eingestellten 20% berufen sich auf die Zykluszeitüberwachung von max. 150ms oder auf die Tatsächliche Zykluszeit?

    2018-10-11 at 13-26-02.png2018-10-11 at 13-25-35.png

  7. #7
    mst's Avatar
    mst is offline Erfahrener Benutzer
    Themenstarter
    Join Date
    28.09.2005
    Posts
    436
    Danke
    118
    Erhielt 91 Danke für 76 Beiträge

    Default

    Hab jetzt zum Probieren die Zykluszeit durch Kommunikation auf 50% gestellt. Nach wie vor gleiches verhalten

  8. #8
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,613
    Danke
    1,094
    Erhielt 4,025 Danke für 3,253 Beiträge

    Default

    Quote Originally Posted by mst View Post
    Zum Thema Belastung der Zykluszeit durch Kommunikation - die eingestellten 20% berufen sich auf die Zykluszeitüberwachung von max. 150ms oder auf die Tatsächliche Zykluszeit?
    auf die tatsächliche Zykluszeit. siehe den [Hilfe]-Button in dem Einstelldialog

    Quote Originally Posted by mst View Post
    „Warnung: Neuer Auftrag ist unwirksam, da vorangegangener Auftrag noch nicht abgeschlossen ist. Der Auftrag wird bereits in einer Prioritätsklasse mit niedrigerer Priorität bearbeitet.“
    [...]Jedoch wird der GET Aufruf nicht mit DR oder ERROR quittiert.
    Wie sieht Dein Programm der GET-Aufrufe aus? Läuft da was in verschiedenen OBs? Hast Du vielleicht einen Fehler in der Auftragssteuerung?

    Warum verwendest Du PUT/GET? Kannst Du nicht eine ISO-on-TCP- oder TCP-Verbindung programmieren mit AG_SEND/AG_RECV? Da könntest Du die reichlich 2100 Bytes zu einem Telegramm zusammenfassen und in einem Rutsch übertragen. Ohne großartige Auftragsverriegelung. Und schneller.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. #9
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    13,613
    Danke
    1,094
    Erhielt 4,025 Danke für 3,253 Beiträge

    Default

    Ich würde für den CP343-1 mal ein Firmwareupdate auf V3.1.3 machen, das geht einfach und schnell.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #10
    Join Date
    06.10.2003
    Posts
    3,957
    Danke
    526
    Erhielt 639 Danke für 501 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Um die Zykluszeit auf ein Minimum zu verlängern, kannst du z.Bsp. den OB1 mit dem OB35 synchronisieren. Dazu am Ende des OB1 einen Merker abfragen, der im OB35 gesetzt wird.

    Etwa so:
    Code:
    FUNCTION "ONKELS_ZYKLUSSYNCHRONISER ;-)": VOID
    
    VAR_IN_OUT
      SYNCH                : BOOL;                         // 1==Zyklusende, muss extern zyklisch gesetzt werden!
    END_VAR
    
    BEGIN
    
    //*** Schleife, bis Mindestzykluszeit erreicht ist
       REPEAT;
         UNTIL SYNCH
       END_REPEAT;
       SYNCH := false;
    
    END_FUNCTION
    Ich glaube aber eigentlich nicht wirklich, dass es in diesem Fall hilft.

    Es ist nun an der Zeit, uns einen weiteren Hinweis auf des Rätsels Lösung zu liefern! Ein bisschen Programmcode wäre nicht schlecht. Der wahrscheinlichste Fehler ist wohl der, dass ein neuer Auftrag angestoßen wird, während ein anderer noch nicht abgeschlossen ist. Zumindest sagt das die Diagnose.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

Similar Threads

  1. Replies: 2
    Last Post: 11.04.2017, 18:09
  2. Step 7 SFB15/14 Put/Get mit mehreren Datenbausteinen?
    By JFKjo in forum Simatic
    Replies: 9
    Last Post: 31.03.2017, 21:36
  3. Replies: 2
    Last Post: 29.03.2017, 11:39
  4. TIA Daten mit PUT von S7-300 auf S7-1200 senden geht nicht
    By captainchaos666 in forum Simatic
    Replies: 29
    Last Post: 18.11.2013, 08:20
  5. Replies: 21
    Last Post: 25.01.2013, 09:10

Tags for this Thread

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
  •