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

Ergebnis 1 bis 9 von 9

Thema: CPU414 mit CP443: Kommunikation mit Fremd-SPS wird stetig langsamer

  1. #1
    Registriert seit
    05.11.2008
    Beiträge
    54
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    wir haben eine 414-3 mit einer CP443-1, darauf laufen etwa 15 Verbindungen mit anderen SPS (ISO-on-TCP). Zusätzlich die Kommunikation mit einer Atvise-Visualisierung.

    Für die Kommunikation verwenden wir die Bausteine "AG_SEND_CP400" und "AG_RECV_CP400" (beide V1.2).
    Nachdem es von Beginn weg Probleme gab rufen wir die SEND-Aufträge nur noch mit einem 0,5s-Impuls auf (natürlich mit DONE- bzw. ERROR-Überwachung).

    Folgendes Problem:
    Nach Neustart der CP (z.B. nach Erstellung einer neuen Verbindung) läuft die Kommunikation ganz normal, Laufzeit eines Signales vom Senden bis zur Rückmeldung ca. 1-1,5 sek.
    Danach wird die Kommunikation kontinuierlich langsamer, je mehr Daten ausgetauscht werden desto schneller geht diese "Verlangsamung". Wir hatten schon Pingback-Zeiten von über 40 sek. (dabei gehen aber keine Daten verloren).

    Allem Anschein nach liegt das Problem im Datenaustausch zwischen CP und CPU, die Diagnose der CP liefert keine Fehler, alle Aufträge laufen im 0,5s-Takt fehlerfrei ab.
    Testweise wurde bereits eine 2. CP443 eingebaut, über diese CP haben wir die Atvise-Visu geschaltet - keine Änderung.

    Kennt jemand dieses Problem, was kann man machen (evtl. Einstellungen an der CPU ändern)?

    lg
    momo
    Zitieren Zitieren CPU414 mit CP443: Kommunikation mit Fremd-SPS wird stetig langsamer  

  2. #2
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    Ich hatte so einen Effekt schon mal, da lief auf einer CP der Eingangspuffer voll (die Daten wurden von der CPU nicht schnell genug abgeholt).

    Rein rechnerisch: Bei ca. 15 Verbindungen mit 0,5s Sendetakt kommen ca. 30 Sendungen pro Sekunde an => es muss der Empfangspuffer ca. alle 33ms geleert werden
    Wirf mal einen Blick auf die Zykluszeit. Evtl. den Puffer mehrmals im Zyklus abfragen?!

  3. #3
    momo99 ist offline Benutzer
    Themenstarter
    Registriert seit
    05.11.2008
    Beiträge
    54
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Das klingt schlüssig. Zykluszeit dürfte etwa in dem Bereich liegen.
    Allerdings: Schon als wir nur ein paar wenige Verbindungen hatten, war das Problem vorhanden. Die "Verlangsamung" ging eben langsamer.

    Evtl. den Puffer mehrmals im Zyklus abfragen?!
    Wie macht man das?

  4. #4
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    In dem die "Empfangsfunktion" (bei mir war es z.B. der FC170) mehrmals hintereinander aufgerufen wird.

    In diesem FC170 wurde folgendes gemacht:
    - Daten empfangen (CALL FC60)
    - Auswerten der Empfangsdaten (NDR abfragen, Checksumme prüfen, Daten kopieren/verteilen)

  5. #5
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    Was mir gerade einfällt:
    Es sollte doch zu jeder Verbindung eine ID angelegt sein. Diese ID muss beim Empfang angegeben werden.
    Damit sollte zu jeder Verbindung eine eigen Empfangsfunktion (z.B. ein Aufruf des FC60) vorhanden sein?!
    Dadurch dürfte es nicht zum "volllaufen des Puffer kommen da ja je Zyklus jede Verbindung abgefragt wird.

    Wie sind die Verbindungen angelegt und wie werden sie in der CPU behandelt? Stell mal den Code ein!

  6. #6
    momo99 ist offline Benutzer
    Themenstarter
    Registriert seit
    05.11.2008
    Beiträge
    54
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ich rufe den RECV gemeinsam mit der SEND-Funktion im gleichen Netzwerk auf, den kompletten Kommunikationsbaustein dann im OB33, also auch alle 500ms.
    Evtl. liegt hier das Problem, soll ich die RECV-Funktionen trennen und aus dem OB1 zyklisch aufrufen?

    Hier die Funktion für eine Verbindung, ähnlich für 15 Verbindungen in 15 Netzwerken (mit den ID´s 1-15) gemacht:
    Code:
          CALL  "AG_SEND_CP400"
           ACT   :="Send/Rec".AG1_1.IMP
           ID    :=1
           LADDR :=W#16#1FFD
           SEND  :="Komm_AG1".SEND1_1
           LEN   :=20
           DONE  :="Send/Rec".AG1_1.DONE
           ERROR :="Send/Rec".AG1_1.ERR_S
           STATUS:="Send/Rec".AG1_1.STAT_S
    
          U     "Send/Rec".AG1_1.IMP
          R     "Send/Rec".AG1_1.IMP
          SPB   M00c
          UN    "Send/Rec".AG1_1.DONE
          UN    "Send/Rec".AG1_1.ERR_S
          UN    "IMP_NST"
          SPB   M00c
          UN    "Send/Rec".AG1_1.IMP
          S     "Send/Rec".AG1_1.IMP
    
    M00c: NOP   0
          CALL  "AG_RECV_CP400"
           ID    :=1
           LADDR :=W#16#1FFD
           RECV  :="Komm_AG1".REC1_1
           NDR   :="Send/Rec".AG1_1.NDR
           ERROR :="Send/Rec".AG1_1.ERR_R
           STATUS:="Send/Rec".AG1_1.STAT_R
           LEN   :="Send/Rec".AG1_1.LEN_R
    
    //eigene Überwachung
          U     "SysTkt2,0"                 //Lifebit senden
          =     "Komm_AG1".SEND1_1.Life_a
          L     S5T#10S                     //Lifebit retour
          U     "Komm_AG1".REC1_1.Life_a
          SE    T      1
          L     S5T#10S
          UN    "Komm_AG1".REC1_1.Life_a
          SE    T      2
          U     T      1                    //auswerten
          O     T      2                    //Alarm-Verbindung
          =     "DB_Visu".Stoe.AG1_1
          UN    "DB_Visu".Stoe.AG1_1        //Lampe Verbindung läuft
          =     "DB_Visu".H.Komm_AG1_OK
    
    //ferne Überwachung
          U     "Komm_AG1".REC1_1.Life_p
          =     "Komm_AG1".SEND1_1.Life_p

  7. #7
    Registriert seit
    17.06.2010
    Ort
    nähe Memmingen
    Beiträge
    610
    Danke
    93
    Erhielt 116 Danke für 100 Beiträge

    Standard

    Dann liegt es nicht an der Anzahl der Aufrufe sondern an der Häufigkeit (nur alle 500ms).
    Die Empfangsroutine darf nicht im (gleichen) zeitgesteuerten OB aufgerufen werden
    da sie häufiger bearbeitet werden muss wie Senderoutine!
    Am besten die Empfangsfunktion im OB1 zyklisch aufrufen und mit dem NDR Bit auf
    empfangene Daten reagieren.

  8. Folgender Benutzer sagt Danke zu tnt369 für den nützlichen Beitrag:

    momo99 (02.04.2015)

  9. #8
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.480
    Danke
    1.141
    Erhielt 1.242 Danke für 973 Beiträge

    Standard

    Zitat Zitat von momo99 Beitrag anzeigen
    Evtl. liegt hier das Problem, soll ich die RECV-Funktionen trennen und aus dem OB1 zyklisch aufrufen?
    Auf jeden Fall.
    Je nach Zykluszeit kann es sogar von Vorteil sein die Empfangsbausteine öfters im OB1 aufzurufen.

    Gruß
    Dieter

  10. Folgender Benutzer sagt Danke zu Blockmove für den nützlichen Beitrag:

    momo99 (02.04.2015)

  11. #9
    momo99 ist offline Benutzer
    Themenstarter
    Registriert seit
    05.11.2008
    Beiträge
    54
    Danke
    9
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK, super, danke!
    Ich werde das ändern und testen (lassen).
    Werde dann (hoffentlich abschliessend) berichten.

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 14.01.2015, 12:52
  2. Kommunikation OPC-Server wird langsamer
    Von Chimney im Forum Feldbusse
    Antworten: 0
    Letzter Beitrag: 03.02.2014, 15:20
  3. Step 7 S7-400H Kommunikation via Profibus CP443-5 mit einer S7-300
    Von Lockenfrosch im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 04.07.2013, 12:37
  4. Kommunikation CP443-5 mit C7 CPU 626/P DP
    Von M.R. im Forum Feldbusse
    Antworten: 2
    Letzter Beitrag: 26.07.2012, 01:56
  5. Kommunikation über Ethernet mit Fremd PC
    Von -Melanie- im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 27.05.2011, 13:28

Lesezeichen

Berechtigungen

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