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

Ergebnis 1 bis 5 von 5

Thema: Allen Bradley PLC5 - Integer Sortieren

  1. #1
    Registriert seit
    22.03.2006
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hi,

    stehe hier vor einer (für mich ) kniffligen aufgabe.

    30 integer words ( N20:0 bis N20:29 ) enthalten je einen
    decimal-wert unterschiedlicher grösse. nun möchte ich diese
    zahlen nach der grösse ordnen und dabei in einen anderen
    integer-file schieben. mit einem FBC bin ich bis jetzt nicht
    viel weiter gekommen. vll. habt ihr ein paar anregungen?

    danke im voraus.

    gruss,ede
    Zitieren Zitieren Allen Bradley PLC5 - Integer Sortieren  

  2. #2
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Welchen PLC5 hast Du denn? Die "Enhanced" Versionen unterstützen den Befehl "SRT". Ansonsten Basteln, sprich "Bubblesort" oder was ähnliches nachbilden. Könnte ungefähr so aussehen (Achtung: nicht getestet, habe keinen PLC hier):

    Code:
    SOR XIC B3/0 ONS B3/1 BST COP #N20:0 #N21:0 30 NXB OTL B3/2 BND EOR
    Code:
    SOR XIC B3/2 FOR 10 N7:0 0 29 1 EOR
    Code:
    SOR XIC B3/2 SUB 30 N7:0 N7:1 EOR
    Code:
    SOR XIC B3/2 FOR 11 N7:2 0 N7:1 1 EOR
    Code:
    SOR ADD N7:2 1 N7:3 EOR
    Code:
    SOR GRT N21:[N7:2] N21:[N7:3] BST MOV N21:[N7:3] N7:4 NXB MOV N21:[N7:2] N21:[N7:3] NXB MOV N7:4 N21:[N7:2] BND EOR
    Code:
    SOR NXT 11 EOR
    Code:
    SOR NXT 10 EOR
    Code:
    SOR OTU B3/2 EOR

  3. #3
    elektroede ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.03.2006
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    danke für die schnelle hilfe habe die enhanced version. habe jetzt
    also den "srt" befehl genutzt. danach war dann mein problem, dass der
    srt natürlich auch die integer mit dem wert "0" mitsortiert. das gab dann
    ein ziemlich unschönes bild und meine zahlenkolonne fing dann zb. erst bei
    N20:10 an.

    hier meine lösung ( wen es interessiert *g* )
    ich schiebe die 30 words erstmal in einen "schmierfile" ( N40:0) lasse sie dort mit dem "srt" sortieren. ein "fsc"(R8:1) zählt in dem" schmierfile" die position der ersten zahl > 0. ein "fal"(R8:2) schiebt dann, dank der indirekten adressierung in der expression vom "fal"( " #N40:[R8:1.POS] "), 30 words ab der von dem "fsc" ermittelten position in mein N20:0. somit habe ich die unschönen nullen aussortiert.

    gruss, ede

  4. #4
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    "fal"(R8:2) schiebt dann, dank der indirekten adressierung in der expression vom "fal"( " #N40:[R8:1.POS] "), 30 words ab der von dem "fsc" ermittelten position in mein N20:0. somit habe ich die unschönen nullen aussortiert.
    Da ist aber ein "COP" für die Scantime besser, also erst Länge für's kopieren berechnen (SUB, 30 - R8:1.POS), dann kopieren von #N40:[R8:1.POS] nach #N20:0 mit der Länge des zuvor ausgerechneten Ergebnisses.

    Ein SUB braucht:
    6.2µS
    Ein COP braucht:
    16.2+E[0.72]
    also
    16.2 + 30*[0.72] = 37.8µS
    macht zusammen 44µS



    Ein FAL braucht:
    11 + (S[2.3 + i])E
    also 11+(S[2.3 + 4.5])*30
    oder 11+(S[6.8])*30

    Leider finde ich im Handbuch die Zeichenerklärung für "S" nicht (das Forum stellt das Zeichen auch nicht in der Form dar wie es im Handbuch zu finden ist, kann leider hier keine Schriftart "Symbol" auswählen), das Endergebnis dürfte aber einiges höher liegen.

    alle Angaben beziehen sich auf Deine 30 Worte Integer und bei direkter Adressierung, bei indirekter Adressierung dürfte der Unterschied noch größer werden weil die Adresse bei jedem Schritt des FAL neu ermittelt werden muß. Es sei denn Du hast nicht den Modus "ALL", dann sieht die Sache wieder anders aus.

  5. #5
    elektroede ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.03.2006
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    stimmt, danke für den tip mit dem "cop". werde das gleich mal ausprobieren

Ähnliche Themen

  1. Allen Bradley?
    Von Flo im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 18.05.2010, 08:19
  2. Allen Bradley Add on
    Von BMLLER6758 im Forum Sonstige Steuerungen
    Antworten: 16
    Letzter Beitrag: 03.03.2008, 10:58
  3. Allen Bradley
    Von 00hausair im Forum Sonstige Steuerungen
    Antworten: 7
    Letzter Beitrag: 16.12.2005, 22:00
  4. Allen Bradley
    Von Sebastian76 im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 30.08.2005, 12:36
  5. Allen Bradley
    Von Anonymous im Forum Sonstige Steuerungen
    Antworten: 4
    Letzter Beitrag: 15.04.2005, 22:30

Lesezeichen

Berechtigungen

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