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

Ergebnis 1 bis 4 von 4

Thema: aktueller und vorhergehender Wert überschreiben

  1. #1
    Gast Gast

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi, ich hab da nen Problem und zwar...

    ich habe auf nem MD 200 einen "aktuellen Wert" sagen wir mal 500 als DINT diesen möchte ich jetzt speichern unter der Bezeichnung "vorheriger Wert" auf MD 220. Wie kann ich das anstellen?

    Jetzt kommt ein neuer DINT Wert nach zum Beispiel 800 auf MD 200 diese beiden ( MD 200 und MD 220) möchte ich jetzt Vergleichen lassen.

    Wie kann ich den MD 220 überschreiben lassen erst wenn der neue aktuelle Wert nachkommt?

    Die DINT Werte sind nicht statisch.
    Zitieren Zitieren Gelöst: aktueller und vorhergehender Wert überschreiben  

  2. "Was willst du denn genau machen ?

    Mal ganz pauschal:

    Da die SPS zyklisch arbeitet kannst du in jedem Zyklus MD 200 mit MD220 vergleichen (Sprung je nach Ergebnis zu deiner gewünschten Bearbeitungsroutine), danach MD200 in MD220 transferrieren und im nächsten Zyklus das Ganze von vorne.

    L MD200

    ... mach was damit

    T MD220



    Willst du nur bei Wertänderungen reagieren, Vergleichst du MD200 mit MD220, wenn beide gleich machst du nichts (Sprung ans Ende), wenn unterschiedlich reagierst du mit einem Sprung in deine gewünschte Bearbeitungsroutine, danach Transfer von MD200 in MD220 und das Ganze im nächsten Zyklus von vorne.

    L MD200
    L MD220
    ==D
    SPB ENDE

    ... mach was, die Werte waren ungleich

    L MD200
    T MD220

    ENDE: NOP 0"


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

    Was willst du denn genau machen ?

    Mal ganz pauschal:

    Da die SPS zyklisch arbeitet kannst du in jedem Zyklus MD 200 mit MD220 vergleichen (Sprung je nach Ergebnis zu deiner gewünschten Bearbeitungsroutine), danach MD200 in MD220 transferrieren und im nächsten Zyklus das Ganze von vorne.

    L MD200

    ... mach was damit

    T MD220



    Willst du nur bei Wertänderungen reagieren, Vergleichst du MD200 mit MD220, wenn beide gleich machst du nichts (Sprung ans Ende), wenn unterschiedlich reagierst du mit einem Sprung in deine gewünschte Bearbeitungsroutine, danach Transfer von MD200 in MD220 und das Ganze im nächsten Zyklus von vorne.

    L MD200
    L MD220
    ==D
    SPB ENDE

    ... mach was, die Werte waren ungleich

    L MD200
    T MD220

    ENDE: NOP 0
    Geändert von Ralle (02.03.2006 um 14:36 Uhr)
    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

  4. #3
    Registriert seit
    06.10.2004
    Beiträge
    278
    Danke
    17
    Erhielt 34 Danke für 30 Beiträge

    Standard

    oder

    L MD 220
    L MD 200
    T MD 220
    <>D
    = M100.0 <--- Zeiger Änderungen

  5. #4
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 183 Danke für 168 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Gast
    Wie kann ich den MD 220 überschreiben lassen erst wenn der neue aktuelle Wert nachkommt?
    Meinst du wenn der aktuell Wert erneuert wird dann soll MD 220 den Wert übernehmen den der aktuelle Wert vorm aktualisieren hatte?

    Probiers mal so:
    Code:
          U     E      1.0                  //Wenn 1 dann Lade 800 sonst 500
          SPB   m1
          L     500
          T     MD   200
          SPA   m2
    m1:   L     800
          T     MD   200
    m2:   L     MD   240                    //Zwischenspeicher
          ==D                               //Vergleiche ob aktueller Wert = Zwischnespeicher ist                 
          SPB   m3                          //Wenn aktualwert aktualisiert wurde dann Transferier
          L     MD   240                    //zwischenspeicher in
          T     MD   220                    //vorheriger Wert
          S     M      1.0
    m3:   SET   
          L     MD   200
          T     MD   240                    //aktualisiere Zwischenspeicher
     
          L     MD   220                    //zur kontrolle ob Wert auch übernommen wurde
    Mfg Godi

Ähnliche Themen

  1. Aktueller Stand der Technik - Kommunikation?
    Von ssound1de im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 14.08.2010, 21:47
  2. Ethernet-Feldbusse: Aktueller Stand und Erfahrungen
    Von trinitaucher im Forum Feldbusse
    Antworten: 5
    Letzter Beitrag: 18.01.2009, 22:03
  3. Aktueller Wochentag Date_and_Time
    Von bastler im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 28.10.2008, 18:40
  4. Aktueller Bildname mit VBScript
    Von mkd im Forum HMI
    Antworten: 17
    Letzter Beitrag: 23.10.2008, 22:47
  5. Einzelnen Wert in DB per Hand überschreiben
    Von Wassermann im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 18.09.2007, 16:43

Lesezeichen

Berechtigungen

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