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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Loop

  1. #1
    Registriert seit
    23.02.2008
    Beiträge
    45
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ich habe eine Datenauswertung mit indirekter Adressierung in einem FB
    geschrieben, der erste Teil wo das Array[1..49] beschrieben wird funktioniert
    aber der 2. Teil wo der erste Array Puffer auf 0 gesetzt wird und der Prozentwert ausgerechnet wird funktioniert nicht, die Schleife wird immer nur
    einmal durchlaufen,
    Code:
         LAR1  #adress   //setzt das AR1 wieder auf Anfang
          L     48
    next: T     #HM_5  //temporär INT
          L     D [AR1,P#0.0]
          DTR   
          T     #puffer
          L     0
          T     D [AR1,P#0.0]
          L     #mittelw
          L     #puffer
          >R    
          SPBN  kom1
          -R    
          NEGR  
          SPA   kom2
    kom1: TAK   
          -R    
    kom2: NOP   0
          L     #mittelw
          /R    
          L     100
          *R    
          RND   
          T     #puffer_2
          L     #HM_1
          UD    DW#16#FFFFFF
          LAR1  P##Prozent
          +AR1  
          L     #puffer_2
          T     D [AR1,P#194.0]
          L     #zaehler_2
          ITD   
          SLD   5
          +AR1  
          L     #zaehler_2
          INC   1
          T     #zaehler_2
          LOOP  next
          L     0
          T     #zaehler
    pro1: NOP   0
    Geändert von Wolflesch (14.08.2008 um 16:54 Uhr)
    Zitieren Zitieren Loop  

  2. #2
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    ohne jetzt groß über den Sinndes ganzen nachgedacht zu haben würde ich mal sagen, dass vor

    Code:
    LOOP next
    Code:
    L #HM_5
    eingefügt werden muss

    Gruß Micha

  3. Folgender Benutzer sagt Danke zu SPSKILLER für den nützlichen Beitrag:

    Wolflesch (14.08.2008)

  4. #3
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    ... ich stimme SPSKiller da zu ...

    was ist der Sinn von HM_5 ... und dann im gleichen Abwasch ... was ist mit HM_1 - der ist mir auch suspekt ...

    Da ich weiß, dass du eigentlich auch SCL programmierst ... warum schreibst du so etwas nicht in SCL ?

    Gruß
    LL

  5. #4
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    mir ist noch was aufgefallen:

    Code:
    l 100
    *r
    wird auch nicht funktionieren.

    Gruß Micha

  6. Folgender Benutzer sagt Danke zu SPSKILLER für den nützlichen Beitrag:

    Wolflesch (15.08.2008)

  7. #5
    Registriert seit
    23.02.2008
    Beiträge
    45
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die schnelle Hilfe, das Programm ist zur Übung von indirekter Adressierung, dabei will ich einfach das Programm das ich in SCL geschrieben habe(Auswertung eines Zufallgenerators) jetzt in AWL schreiben.
    jetzt habe ich das geändert, es wird zwar bei zaehler= 314 der zaehler zurückgesetzt aber die Schleife wird nicht bearbeitet,


    Code:
          TAR2  #HM_1 //sichern von AR2
          L     #zaehler
          INC   1
          T     #zaehler
          L     #Zahl
          U     #hilf
          SPB   hif1
          SET   
          S     #hilf
          T     #index1
          BEA   
    hif1: T     #index2
          L     #HM_1
          UD    DW#16#FFFFFF
          LAR1  P##sortier
          +AR1  
          TAR1  #adress                     //sichern von AR1
          L     #index1
          L     1                           //Umwandlung der 2 Dimensionen
          -I                                //in eine Dimension
          L     7
          *I    
          L     #index2
          +I    
          L     4
          *I    
          L     4
          -I    
          ITD   
          SLD   3
          +AR1  
          L     D [AR1,P#0.0]
          L     0
          ==D   
          SPBN  sld1
          L     #index1
          ITD   
          SLD   16
          L     #index2
          ITD   
          SLD   24
          OD    
          T     D [AR1,P#0.0]
    sld1: NOP   0
          L     D [AR1,P#0.0]
          INC   1
          T     D [AR1,P#0.0]
          L     #index2
          T     #index1
          R     #hilf
          L     #zaehler
          L     314    // Auswertung 
          <I    
          BEB   
          L     3.140000e+002
          L     4.900000e+001
          /R    
          T     #mittelw
          LAR1  #adress  //setzen von AR1 auf Anfang
          L     48
    next: T     #HM_5
          L     W [AR1,P#0.0]
          DTR   
          T     #puffer
          L     W [AR1,P#2.0]
          T     #adresse
          L     0
          T     W [AR1,P#0.0]
          L     #mittelw
          L     #puffer
          >R    
          SPBN  kom1
          -R    
          NEGR  
          SPA   kom2
    kom1: TAK   
          -R    
    kom2: NOP   0
          L     #mittelw
          /R    
          L     1.000000e+002
          *R    
          RND   
          T     #puffer_2
    
          L     #puffer_2
          T     D [AR1,P#194.0]
    
          L     #zaehler_2 
          ITD   
          SLD   5
          +AR1  
          L     #zaehler_2
          INC   1
          T     #zaehler_2
          L     #HM_5
          LOOP  next
          L     0
          T     #zaehler
          NOP   0

  8. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    ... solche Konstrukte sind m.E. der Grund, warum SCL erfunden worden ist ... nämlich um das beherrschbarer zu machen ...

    @Wolf:
    Macht das noch Sinn ?

  9. #7
    Registriert seit
    23.02.2008
    Beiträge
    45
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo, ich wollte ja auch nur üben, mein SCL Code war auch nicht so leicht zu durchschauen und der compilierte AWL code ist fast doppelt so lang, mich würde nur interessieren warum die Schleife nicht bearbeitet wird hat das was mit dem AR1 zu
    tun, oder darf ich keinen multiinstanzfähigen FB verwenden.


    Gruß
    Wolfgang
    Geändert von Wolflesch (15.08.2008 um 08:01 Uhr)

  10. #8
    Registriert seit
    22.12.2006
    Beiträge
    43
    Danke
    0
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hallo, hallo,

    nimm doch mal den ganzen Code raus und teste bloß die Schleife.

    Laß dort meinetwegen einmalig irgendwo etwas hochzählen, dann weißt Du
    schon mal ob es am Schleifencode liegt oder am Programm.

    Die Loop Funktion ist ja in der Hilfe schön beschrieben.
    Zitieren Zitieren Schleifentest  

  11. Folgender Benutzer sagt Danke zu tim_taylor für den nützlichen Beitrag:

    Wolflesch (15.08.2008)

  12. #9
    Registriert seit
    23.02.2008
    Beiträge
    45
    Danke
    11
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,vielleicht liegt es an meinem PC wo der Simulator läuft, es kommen öfters Fehlermeldungen, zaehler2 wird auch außerhalb der Schleife nicht verändert

  13. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wo und wie wird #zaehler_2 denn initialisiert? Das erste, was du damit machst ist

    L #zaehler_2
    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

Ähnliche Themen

  1. Pointer oder Loop
    Von gabbo im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 17.04.2011, 16:57
  2. 'Loop' - Beobachten
    Von logo78 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.12.2010, 14:28
  3. Loop in Alarm
    Von lunaticxt im Forum HMI
    Antworten: 1
    Letzter Beitrag: 21.04.2008, 19:36
  4. Sortierstrecke (Loop)
    Von SinusQuadrat im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 06.10.2007, 23:50
  5. loop Schleife
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 30.01.2006, 12:59

Lesezeichen

Berechtigungen

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