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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: Frage zum Programmcode

  1. #11
    Registriert seit
    24.09.2009
    Beiträge
    70
    Danke
    0
    Erhielt 8 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Anne

    Dein Code bildet die Summe der letzten sieben Doppelwörter eines Feldes von acht Doppelwörtern und führt eine Division durch acht aus. In diesem Sinne stimmt der berechnete Durchschnittswert nicht.

    In dem Code fehlt ausserdem das von vierlagig aufgezeigte Weiterschieben der Werte sowie die Übernahme des neuen Werts.

    Markus

  2. #12
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von MarkusP210 Beitrag anzeigen
    @Anne

    Dein Code bildet die Summe der letzten sieben Doppelwörter eines Feldes von acht Doppelwörtern und führt eine Division durch acht aus. In diesem Sinne stimmt der berechnete Durchschnittswert nicht.
    Markus
    Hm, also den Schleifendurchlauf um 1 erhöhen?


    Code:
    U #Trigger
    FP #Flanke
    SPBN END
     
    // ---- Laden der Werte in die einzelnen Array-Felder --- //
     
    LAR1 P##Register    // Laden der Startadresse des Arrays
     
    L 7 
    nex1: T #Position
     
    L DID [AR1,P#4.0] 
    T DID [AR1,P#0.0] 
    +AR1 P#4.0 
     
    L #Position 
    LOOP nex1 
     
    L #IN_Wert 
    T #Register[7] 
     
    // --- Mittelwertbildung --- //
     
    LAR1 P##Register    // Laden der Startadresse des Arrays
     
    L 0.0 
    T #Summe
     
    L 8
    nex2: T #Position
     
    L DID [AR1,P#0.0] 
    L #Summe 
    +R 
    T #Summe 
    +AR1 P#4.0 
     
    L #Position
    LOOP nex2 
     
    L #Summe 
    L 8 
    /R 
    T #Mittelwert 
     
    END: NOP 0

    Was haltet ihr von diesem (modifiziertem) Code - passt das so?

    Vielen Dank!

  3. #13
    Registriert seit
    24.09.2009
    Beiträge
    70
    Danke
    0
    Erhielt 8 Danke für 8 Beiträge

    Standard

    Yep, passt.

  4. #14
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Supi, danke Markus!

    Wenn der Programmcode

    Code:
    L 8
    nex2: T #Position
     
    L DID [AR1,P#0.0] 
    L #Summe 
    +R 
    T #Summe 
    +AR1 P#4.0 
     
    L #Position
    LOOP nex2
    jetzt richtig ist, dann war der Programmcode aus meinem Eröffnungsthread

    Code:
    L     7
    nex2: T     #Position
     
          L     DID [AR1,P#4.0] 
          L     #Summe          
          +R                         
          T     #Summe         
          +AR1 P#4.0            
     
          L     #Position
          LOOP  nex2
    bezüglich L DID [AR1,P#4.0] aber doch falsch, oder wie muss ich das verstehen?

    LG
    anne
    Geändert von anne (02.02.2010 um 18:58 Uhr)

  5. #15
    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

    Zitat Zitat von vierlagig Beitrag anzeigen
    schau mal hier: http://sps-forum.de/showthread.php?t=33100

    aber bis zum ende lesen! dann sollte einiges klarer werden
    Ich zitiere nochmal 4L.
    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

  6. #16
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Na ok,
    ich denke das wird dann wohl für mich ein Geheimnis bleiben...

    Leider kenne ich mich (noch) nicht so gut aus, dass ich weiß, auf was ich in dem angegebenen Link achten muss, um eine Antwort auf meine Frage zu erhalten.

    Aber trotzdem danke!

    anne

  7. #17
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von anne Beitrag anzeigen
    Na ok,
    ich denke das wird dann wohl für mich ein Geheimnis bleiben...

    Leider kenne ich mich (noch) nicht so gut aus, dass ich weiß, auf was ich in dem angegebenen Link achten muss, um eine Antwort auf meine Frage zu erhalten.

    Aber trotzdem danke!

    anne
    jetz fang nicht gleich an zu weinen.
    offensichtlich fängt das array nicht bei 12 sondern bei 16 an, kann das sein?
    oder ist es vielleicht ein array[0..8] oder [1..9]?
    jedenfalls wird die adresse des ersten feldes aben 16 sein und nicht 12 ... und ich bleibe dabei, die startadresse so zu laden ist und bleibt gelinde gesagt fUck, man könnte auch unsauber sagen...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #18
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    jetz fang nicht gleich an zu weinen.
    Hm, du meinst ich sollte nicht so mädchenhaft sein?

    Sorry - aber in dem von mir geposteten Code fängt die Startadresse des Arrays schon bei 12 an; zumindest nach meinem Verständnis.

    Und in der besagten Programmzeile wird die Adresse 16 geladen, also bereits das 2. Feld.
    Grüße
    anne

  9. #19
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von anne Beitrag anzeigen
    Hm, du meinst ich sollte nicht so mädchenhaft sein?
    ja, leider ist das in der testosteron-dominierten steuerungswelt...

    Zitat Zitat von anne Beitrag anzeigen
    Sorry - aber in dem von mir geposteten Code fängt die Startadresse des Arrays schon bei 12 an; zumindest nach meinem Verständnis.

    Und in der besagten Programmzeile wird die Adresse 16 geladen, also bereits das 2. Feld.
    is mir doch egal, was im code steht. interessant wäre die umgebung zu kennen. also wie ist das array im baustein definiert?!
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #20
    Registriert seit
    24.09.2009
    Beiträge
    70
    Danke
    0
    Erhielt 8 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    jetzt richtig ist, dann war der Programmcode aus meinem Eröffnungsthread


    Code:
    L 7nex2: T #Position L DID [AR1,P#4.0] L #Summe +R T #Summe +AR1 P#4.0 L #Position LOOP nex2
    bezüglich L DID [AR1,P#4.0] aber doch falsch, oder wie muss ich das verstehen?
    Im Code Deines Eröffnungsthreads war vor allem die Division durch acht falsch. Bezüglich des Offset stimme ich mit den Vorvotanten überein. Solange die Umgebung (sprich: die Felddefinition) nicht bekannt ist, steht auch nicht fest welcher Offset richtig ist. Fest steht, dass obenstehender Code zur Initialadresse im AR1 beim ersten Durchlauf schon die Grösse eines Elements addiert; das könnte z.B. bei einem Feld welches von [0..8] läuft funktionieren (wenn Du das Element 0 nicht verwenden willst).

    Markus

Ähnliche Themen

  1. Wie Setze ich Programmcode in Step 7 um
    Von Björn im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 25.02.2010, 11:22
  2. Übersetzung des S+ Programmcode
    Von TiNa_cb im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 19.11.2009, 12:55
  3. Frage zu Programmcode!
    Von bastler im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 20.09.2009, 19:14
  4. S7-317-2 per Programmcode neu starten
    Von marac im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 22.01.2007, 18:05
  5. SCL-Programmcode
    Von hobel im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 17.07.2006, 22:03

Lesezeichen

Berechtigungen

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