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

Ergebnis 1 bis 6 von 6

Thema: Tabelle je nach Input sortieren

  1. #1
    Registriert seit
    17.10.2013
    Beiträge
    27
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,
    ich habe folgendes Problem:
    Ich habe eine Tabelle mit 2000 unsortierten Elemente. Ich möchte jetzt je nach Input n, die n ersten kleinen Elemente ausgeben, bis ich mit meiner Tabelle komplett durchgelaufen bin.
    Am Ende soll ich eine sortierte Tabelle haben.
    Ich programmiere mit SCL.

    Z.B.: Tabelle aus 10 Elemente
    Tab:[9,0,3,2,1,4,6,5,8,7]
    n:=3 n:=4
    1. Schritt: [0,1,2] 1. Schritt: [0,1,2,4]
    2. Schritt:[0,1,2,3,4,5] 2. Schritt:[0,1,2,3,4,5,6,7,8]
    3. Schritt:[0,1,2,3,4,5,6,7,8] 3. Schritt:[0,1,2,3,4,5,6,7,8,9]
    4. Scrittt:[0,1,2,3,4,5,6,7,8,9]
    .....

    Danke im Voraus .
    Vokal12
    Zitieren Zitieren Tabelle je nach Input sortieren  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    dafür gäbe es ja Sortier-Algorhythmen, die man auch in SCL nachprogrammieren kann - z.B. Bubblesort (hierzu mal die Forums-Suchmaschine bemühen).
    Das Problem, dass du hier nur bekommen wirst, ist dass deine Zykluszeit während des Sortierens u.U. gewaltig ansteigt - sogar auch dann wenn du den Sortiervorgang selbst über mehrere SPS-Zyklen verteilst. Bist du dir darüber im Klaren ?

    Die Werte-Rückgabe wäre dann das nächste Thema. Hier bist du nicht wirklich dynamisch. An irgend einer Stelle mußt du eine maximale Grenze definieren.

    Gruß
    Larry

  3. #3
    Vokal12 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.10.2013
    Beiträge
    27
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    dafür gäbe es ja Sortier-Algorhythmen, die man auch in SCL nachprogrammieren kann - z.B. Bubblesort (hierzu mal die Forums-Suchmaschine bemühen).
    Das Problem, dass du hier nur bekommen wirst, ist dass deine Zykluszeit während des Sortierens u.U. gewaltig ansteigt - sogar auch dann wenn du den Sortiervorgang selbst über mehrere SPS-Zyklen verteilst. Bist du dir darüber im Klaren ?

    Die Werte-Rückgabe wäre dann das nächste Thema. Hier bist du nicht wirklich dynamisch. An irgend einer Stelle mußt du eine maximale Grenze definieren.

    Gruß
    Larry
    ich habe schon mit Bubblesort probiert aber meine zykluszeit war relativ groß. Deswegen bin ich auf die gekommen, mein Sortiervorgang aufzuteilen.

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... dann bräuchtest du dir doch nur die Bubblesort-Routine entsprechend aufteilen - z.B. so, dass du in jedem Zyklus nur 100 Umsortierungen machst.
    Der Baustein müßte dann für deine weitere Verarbeitung nur ein "Ready" ausgeben, wenn er durch ist (und vielleicht ein "Busy" generieren für die Dauer seines Ablaufes).

    Am Ende erzeugst du dir dann z.B. einen ANY-Pointer, der die Informationen des Speicherbereichs ausgibt, wo die umsortierten Daten abzugreifen sind.

    Gruß
    Larry

  5. #5
    Vokal12 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.10.2013
    Beiträge
    27
    Danke
    7
    Erhielt 0 Danke für 0 Beiträge

    Standard

    @ Larry,
    Sorry ich bin Anfänger mit SCL."Ready" und "Busy" sind mir noch unbekannt.
    Gruß
    Vokal12

  6. #6
    Registriert seit
    01.10.2012
    Beiträge
    203
    Danke
    12
    Erhielt 56 Danke für 36 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Larry meint den Rückgabewert der Funktion bzw. des Bausteins.
    Solange der Baustein nicht fertig mit sortieren ist, gibt er ein false zurück.
    Nüchtern betrachtet war es besoffen besser.

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 18.03.2009, 16:12
  2. sortieren in awl
    Von cosmo im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.08.2008, 10:56
  3. Antworten: 4
    Letzter Beitrag: 30.03.2007, 21:01
  4. Antworten: 2
    Letzter Beitrag: 04.12.2006, 09:11
  5. LOGO! CPU Analog Input / Digital Input
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 24.11.2005, 05:55

Lesezeichen

Berechtigungen

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