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

Ergebnis 1 bis 7 von 7

Thema: Problem mit Zykluszeit in S7-3152DP n. Equal String Aufruf

  1. #1
    Registriert seit
    02.02.2006
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    wenn ich den S7 Baustein FC10 Equal String in meinem SPS Programm aufrufe, dann geht die Zykluszeit pro Aufruf um 35ms nach oben. Ist das normal?
    Wie kann ich einen String vergleichen ohne das die Zykluszeit so belastet wird?

    Gruß an alle
    Speedy_nrw
    Zitieren Zitieren Problem mit Zykluszeit in S7-3152DP n. Equal String Aufruf  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Wie lang ist denn dein String? Wenn du einfach einen String angelegt hast, ohne die Länge anzugeben werden 255 Byte benutzt !!!
    Besser String[20] o.ä. nehmen. Du kannst einen Vergleich auch byteweise durchführen und einen Zeiger weiterschieben. Den Vergleich dann je Zyklus für 1 oder mehrere Byte, so daß deine Zykluszeit nicht so stark belastet wird.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    speedy_nrw ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.02.2006
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die Antwort.
    Die Länge hatte ich schon auf String[10] begrenzt. Trotzdem kamm das Problem auf. Da ich aber nur ein paar Byte vergleichen muß, mache ich es dann wohl doch lieber zu Fuß Byte für Byte. Ist zwar etwas umständlicher aber die Zykluszeit wird dann kaum belastet.

    Danke
    Speedy_nrw
    Zitieren Zitieren Re: Problem mit Zykluszeit in S7-3152DP n. Equal String Aufr  

  4. #4
    Registriert seit
    13.09.2005
    Beiträge
    633
    Danke
    8
    Erhielt 8 Danke für 6 Beiträge

    Standard

    Das die Zykluszeit dermaßen nach oben geht ist leider normal.

    Also Byte für Byte vergleichen.

  5. #5
    Registriert seit
    05.01.2006
    Beiträge
    46
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo speedy_nrw,

    die Stings bestehen auch nur aus Zahlen, die allerdings als Zeichen interpretiert werden. Auf Grund dieser Basis kannst du eine Schleife verwenden. Dazu wäre das folge Programm eine Möglichkeit:



    Code:
    // Schleifen Voreinstellung
    
          AUF   DB     1                    // Erster DB zum vergleichen
          AUF   DI     2                    // Zeiter DB zum vergleichen als Instanz geöffnet
    
          L     L#0                         // Schleifen anfangswert laden
          T     #DIT_Schleifenwert          // Schleifenanfangswert laden
    
          L     L#1234                      // Letzte Adresse zum bearbeiten
          T     #DIT_Schleifenende          // Schleifenende speichern
    
    
    
    // Schleifenausführung
    
    RS50: SET                               // VKE-1 laden
          L     DBB [#DIT_Schleifenwert]    // DB-Bytewert laden
          L     DIB [#DIT_Schleifenwert]    // DB-Bytewert laden
          ==D                               // Wenn Werte gleich, dann
          SPB   RS60                        // Überspringe Aktion
    
    // --- Aktion wenn Wert ungleich ---
    
    
    
    
    // --- Ende ---
    
    
    
    // Kontrolle auf Schleifenende
    
    RS60: SET                               // VKE-1 laden
          L     #DIT_Schleifenwert          // Schleifenanfangswert laden
          L     L#32                        // Wert für Adressanpassung laden
          +D                                // Adresse anpassen
          T     #DIT_Schleifenwert          // Schleifenanfangswert speichern
          SRD   3                           // Adresse für Schleifenende Kontrolle anpassen
          L     #DIT_Schleifenende          // Schleifenende laden
          <D                                // Wenn noch nicht alle Werte bearbeitet, dann
          SPB   RS50                        // Sprung für erneuten Schleifendurchlauf
    Passe das Programm entsprechend an, und probiere es erneut. Das sollte die Zykluszeit nicht so stark belasten.

    Wenn du dann noch Fragen oder das Problem noch weiter besteht, melde dich einfach bei mir.
    Viele Grüße
    Matthias
    SPS .bz
    -----------------
    Rechtschreibfehler wurden absichtlich zur allgemeinen Belustigung hinzugefügt, wer einen findet, darf ihn natürlich behalten ...
    Zitieren Zitieren String vergleich  

  6. #6
    Anonymous Gast

    Standard

    sag mal hast du das beispiel für die schleife grad irgendwo gefunde oder wieso belästigst du jetzt alle damit? du müllst längst beantwortete beiträge zu!!!!!!!!!!!
    Zitieren Zitieren Belästigung  

  7. #7
    Registriert seit
    29.01.2005
    Beiträge
    277
    Danke
    4
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!

    Also ich denke das Tipps und Hinweise nicht als Müll bezeichnet werden sollten... Wenn es Dich stört, dann überlese es einfach...

    Viele Grüße, Tobias

Ähnliche Themen

  1. Ist das ein Problem der Zykluszeit?
    Von petzi im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 11.04.2011, 10:48
  2. Schreibweise String bei FC Aufruf
    Von SPS_Checker im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 06.03.2008, 18:29
  3. Problem mit FB-Aufruf in SCL
    Von puehri im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 07.08.2007, 10:32
  4. Problem bei mehrfach aufruf von FC
    Von mzva im Forum Simatic
    Antworten: 21
    Letzter Beitrag: 22.02.2007, 07:10
  5. Problem mit FB Aufruf in Codesys
    Von master im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 19.04.2006, 10:06

Lesezeichen

Berechtigungen

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