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

Ergebnis 1 bis 4 von 4

Thema: Berechnungsfehler AWL / VIPA 314 ST

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forengemeinde,
    bin neu hier, daher war ich mir nicht sicher ob das die richtige Rubrik ist und bitte Milde walten zu lassen, falls doch falsch... =)
    folgendes Problem:
    Ich nutze einen Inkrementalgeber für die Bestimmung von verschiedenen Wegepunkten. Die Wegepunkte werden in DBs (Array of Struct) gespeichert.
    Setzwert Ink-Geber: 999.900.000
    Endwert Ink-Geber: 1.000.000.000 (zu Testzwecken)
    Nun habe ich eine Schleife in AWL programmiert, die bei einem Überlauf vom Inkrementalgeber, mal eben durch alle Arrays huscht und alle Werte die größer als 1.000.000.000 mal eben -100.000 rechnet.
    Leider wird das nicht immer ganz korrekt ausgeführt. Wenn die Anlage an der Leistungsgrenze fährt, passiert es manchmal, dass an einer Position nicht -100.000 sondern -50.000 gerechnet wird.
    Dieser Fehler tritt aber nur sporadisch auf, daher glaube ich das ich einen Fehler in der indirekten Adressierung habe.
    Es ist auch nicht der letzte oder erste Schleifendurchlauf, sondern irgendwo mitten drin...

    Hier mal der Code:

    //Positive Flanke von "Überlauf Inkrementalgeber"
    U "Ueberlauf_Inkgeber"
    FP M 200.0
    = L 0.0

    //Reset "Überlaufeingang"
    U L 0.0
    = "Reset_Ueberlauf_Inkgeber"


    ///----------------Werte Station anpassen---------------------///
    U L 0.0
    SPBN _001
    L 0
    T #Zaehler


    _002: NOP 0
    //Station1 anpassen
    L #Zaehler
    L 10
    *I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station1"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _003


    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]


    _003: NOP 0
    //Station2 anpassen
    L #Zaehler
    L 4
    *I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station2"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _004


    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]

    _004: NOP 0
    //Station3_AN anpassen
    L #Zaehler
    L 8
    *I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station3"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _005

    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]

    _005: NOP 0
    //Station3_AUS anpassen
    L #Zaehler
    L 8
    *I
    L 4
    +I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station3"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _006

    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]

    _006: NOP 0
    //Station4_AN anpassen
    L #Zaehler
    L 8
    *I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station4"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _007

    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]

    _007: NOP 0
    //Station4_AUS anpassen
    L #Zaehler
    L 8
    *I
    L 4
    +I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station4"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _008

    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]


    _008: NOP 0
    //Station5_AN anpassen
    L #Zaehler
    L 8
    *I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station5"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _009

    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]

    _009: NOP 0
    //Station5_AUS anpassen
    L #Zaehler
    L 8
    *I
    L 4
    +I
    SLD 3
    LAR1

    AUF "Ink-Verwaltung_Station5"
    L DBD [AR1,P#0.0]
    L L#999999990
    >=D
    SPBN _010

    L DBD [AR1,P#0.0]
    L L#100000
    -D
    T DBD [AR1,P#0.0]

    _010: NOP 0
    L #Zaehler
    + 1
    T #Zaehler

    L #Zaehler
    L "Inkrementverwaltung".Pos_MAX
    <I
    SPB _002

    _001: NOP 0


    Pos_MAX ist 512. Ich bin für jede Hilfe dankbar, da ich mit der SPS-Programmierung noch recht wenig Erfahrung habe.
    Zitieren Zitieren Berechnungsfehler AWL / VIPA 314 ST  

  2. #2
    Huibuh ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.04.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Zusammen,
    ich habe den Fehler gefunden. Die Schleife ist vollkommen in Ordnung, es waren äußere Einflüsse die die Daten verändert haben. Topic kann geschlossen werden.
    Gruß,
    Huibuh

  3. #3
    Registriert seit
    24.10.2007
    Ort
    Niederlande
    Beiträge
    673
    Danke
    22
    Erhielt 143 Danke für 135 Beiträge

    Standard

    Sie konte die Schleife wel etwas sneller machen:

    Code:
    _004: NOP 0
     //Station3_AN anpassen 
     L #Zaehler
     L 8
     *I
     SLD 3
     LAR1
    // ab hier bleib AR1 gleich
     AUF "Ink-Verwaltung_Station3"
     L DBD [AR1,P#0.0]
     L L#999999990
     >=D
     SPBN _005
    
     L DBD [AR1,P#0.0]
     L L#100000
     -D
     T DBD [AR1,P#0.0]
    
     _005: NOP 0
     //Station3_AUS anpassen 
     //L #Zaehler
    // L 8
    // *I
    // L 4
    // +I
    // SLD 3
    // LAR1
    // neue AR = AR1 + P 4.0 
     AUF "Ink-Verwaltung_Station3"
     L DBD [AR1,P#4.0]
     L L#999999990
     >=D
     SPBN _006
    
     L DBD [AR1,P#4.0]
     L L#100000
     -D
     T DBD [AR1,P#4.0]
    
     _006: NOP 0
     //Station4_AN anpassen 
     
     AUF "Ink-Verwaltung_Station4"
     L DBD [AR1,P#0.0]
     L L#999999990
     >=D
     SPBN _007
    
     L DBD [AR1,P#0.0]
     L L#100000
     -D
     T DBD [AR1,P#0.0]
    
     _007: NOP 0
     //Station4_AUS anpassen 
     
     AUF "Ink-Verwaltung_Station4"
     L DBD [AR1,P#4.0]
     L L#999999990
     >=D
     SPBN _008
    
     L DBD [AR1,P#4.0]
     L L#100000
     -D
     T DBD [AR1,P#4.0]
    
    
     _008: NOP 0
     //Station5_AN anpassen 
     AUF "Ink-Verwaltung_Station5"
     L DBD [AR1,P#0.0]
     L L#999999990
     >=D
     SPBN _009
    
     L DBD [AR1,P#0.0]
     L L#100000
     -D
     T DBD [AR1,P#0.0]
    
     _009: NOP 0
     //Station5_AUS anpassen 
     
     AUF "Ink-Verwaltung_Station5"
     L DBD [AR1,P#4.0]
     L L#999999990
     >=D
     SPBN _010
    
     L DBD [AR1,P#4.0]
     L L#100000
     -D
     T DBD [AR1,P#4.0]
    
     _010: NOP 0

  4. #4
    Huibuh ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.04.2013
    Beiträge
    3
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo JoopB,
    vielen Dank für den Tipp!! Wird umgesetzt...
    Gruß,
    Huibuh

Ähnliche Themen

  1. VIPA 314-1SL00 mit BattF-Fehler
    Von cbrigger im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 13.12.2011, 09:56
  2. Absturz einer Vipa CPU 314-3DP01
    Von zwerg77 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 19.01.2010, 17:33
  3. Antworten: 3
    Letzter Beitrag: 07.09.2009, 06:22
  4. Vipa Sps Cpu 314 Net (cpu314, 314net),
    Von buffi4711 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 30.12.2006, 11:35
  5. S7/314 mit Vipa 214 koppel
    Von Fredi im Forum Sonstige Steuerungen
    Antworten: 6
    Letzter Beitrag: 31.01.2006, 09:50

Lesezeichen

Berechtigungen

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