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

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

Thema: Spitze-Tal-Wert von AI speichern

  1. #1
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin zusammen,

    ich würde gerne in einem DB meinen Spitzen bzw. Talwert von einem AI speichern, entsprechend mit Zeitstempel, wobei das kein Problem darstellt.
    Zitieren Zitieren Spitze-Tal-Wert von AI speichern  

  2. #2
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.621
    Danke
    777
    Erhielt 649 Danke für 494 Beiträge

    Standard

    Das ist schön das du uns daran teilhaben lässt.

    mfG René

  3. #3
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Soorryy, hier mein Code mit entsprechnder Symbolik.


    L PEW 200
    BTI
    T "Spitze-Tal-DB".Aktueller_Wert

    L "Spitze-Tal-DB".Aktueller_Wert
    ITD
    T "Spitze-Tal-DB".Spitzenwert
    L "Spitze-Tal-DB".Spitzenwert
    DTR
    T "Spitze-Tal-DB".Talwert
    L PEW 200
    L "Spitze-Tal-DB".Talwert
    >R
    = "Spitze-Tal-DB".Aenderung
    UN "Spitze-Tal-DB".Aenderung
    SPB M004
    L PEW 200
    L 1.000000e+001
    *R
    TRUNC
    T "Spitze-Tal-DB".Aktueller_Wert
    M004: NOP 0


    Hier geht meine SPS auf Stop, BCD-Wandlerfehler
    Geändert von Steve38 (29.07.2015 um 10:53 Uhr)

  4. #4
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.358
    Danke
    456
    Erhielt 695 Danke für 520 Beiträge

    Standard

    Zitat Zitat von Steve38 Beitrag anzeigen
    Code:
          L DB105.DBW 84       //Irgendein Wort - weiß keiner was drin steht
          BTI                  //Umwandlung des unbekannten Werts von BCD-Code nach INT
          T #TEMP5             //vermutlich unnötiges Zwischenspeichern
          L #TEMP5
          ITD                  //Umwandlung des unbekannten Werts von INT nach DINT
          T #TEMP6             //vermutlich noch mehr unnötiges Zwischenspeichern
          L #TEMP6
          DTR                  //Umwandlung des unbekannten Werts von DINT nach REAL
          T #TEMP7             //vermutlich noch mehr unnötiges Zwischenspeichern - Geht so wenn man TAK nicht kennt.
          L DB102.DBD 44       //Ein neuer unbekannter Wert
          L #TEMP7
          >R
          = #TEMP21            //viel mehr unnötiges Zwischenspeichern
          UN #TEMP21
          SPB M004
          L DB102.DBD 44       //neuer unbekannter Wert wird mal 10 gerechnet
          L 1.000000e+001
          *R
          TRUNC                //wieder in nen INT abgeschnitten...
          T DB105.DBW 84
    M004: NOP 0
    Meine Hellseherkugel kann sich zwar vorstellen was das sein soll, aber ausführlich ist deine Beschreibung nicht.
    Mit dem BTI-Befehl kann die Glaskugel aber nix anfangen....

    No was: Wenn du Code-Postest, drücke in der Menü-Leiste das #-Zeichen und setze den Code innerhalb der eingefügten Code-Tags.
    Geändert von RONIN (29.07.2015 um 10:54 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  5. #5
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Logisch, der PEW200 ist noch nicht ordentlich skaliert und entsprechend nicht im Format.

    Code:
        
          
          L     "Spitze-Tal-DB".Aktueller_Wert
          ITD   
          T     "Spitze-Tal-DB".Spitzenwert
          L     "Spitze-Tal-DB".Spitzenwert
          DTR   
          T     "Spitze-Tal-DB".Talwert
          L     "Analogwerte skaliert".Motorstrom_16Bit
          L     "Spitze-Tal-DB".Talwert
          >R    
          =     "Spitze-Tal-DB".Aenderung
          UN    "Spitze-Tal-DB".Aenderung
          SPB   M004
          L     "Analogwerte skaliert".Motorstrom_16Bit
          L     1.000000e+001
          *R    
          TRUNC 
          T     "Spitze-Tal-DB".Aktueller_Wert
    M004: NOP   0

    Das Problem ist das meine SPS auf Störung geht, eigentlich möchte ich nur den aktuellen Spitzen bzw. Talwert setzten und gleichzeitig ein Bit setzten für meinen Zeitstempel, aber ich stehe auf dem Schlauch
    Geändert von Steve38 (29.07.2015 um 11:01 Uhr)

  6. #6
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Den PEW-Wert lese ich über einen FC105 ordentlich ein und skaliere mir diesen:

    Code:
          U     M      0.0
          =     L      0.0
          BLD   103
          U     M      0.1
          SPBNB _001
          CALL  FC   105
           IN     :=PEW200
           HI_LIM :=6.000000e+001
           LO_LIM :=0.000000e+000
           BIPOLAR:=L0.0
           RET_VAL:=DB3.DBW0
           OUT    :=DB6.DBD0
    _001: NOP   0
    Danach entsprechend wandeln:

    Code:
        
          L     DB6.DBD    0
          RND   
          T     DB6.DBW    4

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

    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    Steve38 (29.07.2015)

  9. #8
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wäre in meinem Fall dann entsprechnd so:


    Code:
          U     "Spitze-Tal-DB".Erster_Start
          FP    "Spitze-Tal-DB".Hilfsbit
          SPBN  s0
          L     "Analogwerte skaliert".Motorstrom
          T     "Spitze-Tal-DB".Spitzenwert
          T     "Spitze-Tal-DB".Talwert
    
    s0:   L     "Analogwerte skaliert".Motorstrom
          L     "Spitze-Tal-DB".Spitzenwert
          >=R   
          SPBN  s1
          L     "Analogwerte skaliert".Motorstrom
          T     "Spitze-Tal-DB".Spitzenwert
    
    s1:   L     "Analogwerte skaliert".Motorstrom
          L     "Spitze-Tal-DB".Talwert
          <=R   
          SPBN  s2
          L     "Analogwerte skaliert".Motorstrom
          T     "Spitze-Tal-DB".Talwert
    
    s2:   SET   
          SAVE

    Perfekt.

    Würde gerne jedesmal, wenn der Spitzen oder Talwert erreicht wird, ein Bit setzten, dass mir entsprechend den Stemp setzt.
    Geändert von Steve38 (29.07.2015 um 11:17 Uhr)

  10. #9
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.621
    Danke
    777
    Erhielt 649 Danke für 494 Beiträge

    Standard

    Ist ja eigentlich logis. Denn der Motorsstrom wird erst beim Start ansteigen. Du brauchst also noch eine Abfrage zum <=R welche dir den Zeitpunkt ab dem der Talwert abgespeichert werden soll freigibt.
    - Zeitverzögerung nach Motorstart.
    - Einsatz des Schützes
    - überschreitung eines Schwellwertes
    - etc.

    mfG René

  11. #10
    Steve38 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.02.2008
    Beiträge
    472
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Würde die Aktivierung mit der Betriebsmeldung vom Motor koppeln.

Ähnliche Themen

  1. Step 7 Real Wert Speichern
    Von caxzy im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 30.11.2014, 18:44
  2. Step 7 Wert von 1 SI ASCII als String speichern
    Von Goeky im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 22.01.2014, 16:08
  3. Antworten: 14
    Letzter Beitrag: 25.11.2013, 16:45
  4. Antworten: 12
    Letzter Beitrag: 17.09.2010, 14:06
  5. Real Wert speichern
    Von Azubi im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 05.11.2006, 20:21

Lesezeichen

Berechtigungen

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