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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 34

Thema: Vergleich Merkerdoppelwort auf ungleich Null

  1. #11
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.624
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Du willst ein neuen Störung erkennen und dies auf ein bit melden, etwa wie "Störung gekommen !".


    Code:
          L     #ALARMMEM //Speicher von die vorigen Störmeldungen
          XOW   W#16#FFFF
          L     #ALARMRAW  //Störmeldungen
          AW    
          L     0
          <>I   
          S     "AlarmNew"
    
          L     #ALARMRAW
          T     #ALARMMEM
    Ah, zu langsahm.
    Geändert von JesperMP (15.05.2014 um 12:48 Uhr)
    Jesper M. Pedersen

  2. Folgender Benutzer sagt Danke zu JesperMP für den nützlichen Beitrag:

    hucki (15.05.2014)

  3. #12
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von JesperMP Beitrag anzeigen
    Code:
          L     #ALARMMEM //Speicher von die vorigen Störmeldungen
          XOW   W#16#FFFF
          L     #ALARMRAW  //Störmeldungen
          AW    
          L     0
          <>I   
          S     "AlarmNew"
    
          L     #ALARMRAW
          T     #ALARMMEM
    Damit sollte man Haralds FAQ vlt. noch erweitern, da das doch recht häufig angefragt wird.

  4. #13
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Was heißt nun wieder "falls er vorher rückgesetzt wurde!"?
    Einen Ausgang auf 1 setzen auch wenn er schon 1 ist - das tut dem Ausgang nicht weh

    Harald
    ... na da wollen wir mal hoffen, dass er nicht wehleidig ist! Es heißt doch DER Ausgang und sind Männer nicht etwas wehleidig?


    Wenn ich nun die Musterlösung auf mein Problem ummünze, so hieße das ja:

    Code:
          L     MW   200
          XOW   W#16#FFFF
          L     MW    55
          L     0
          <>I   
          S     A      2.0
    
          L     MW    55
          T     MW   200
    1) Nun lässt sich aber der Ausgang A2.0 nicht rücksetzen, solange ein Bit in MW55 gesetzt ist.
    2) Bei mir handelt es sich ja eigentlich um ein Merkerdoppelwort und da klappt ja XOW nicht
    LG
    spirit

  5. #14
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.624
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Zitat Zitat von spirit Beitrag anzeigen
    1) Nun lässt sich aber der Ausgang A2.0 nicht rücksetzen, solange ein Bit in MW55 gesetzt ist.
    Doch, der Ausgang wird nur gesetzt wenn ein neuen Störbit gestzt wird.

    Zitat Zitat von spirit Beitrag anzeigen
    2) Bei mir handelt es sich ja eigentlich um ein Merkerdoppelwort und da klappt ja XOW nicht
    Code:
          L     #ALARMMEM //Speicher von die vorigen Störmeldungen. Doppelwort !
          INVD
          L     #ALARMRAW  //Störmeldungen. Doppelwort !
           UD    // english: AD, deutsch UD !
          L     L#0
          <>D   
          S     "AlarmNew"
    
    
          L     #ALARMRAW
          T     #ALARMMEM
    NB. Es gibt ein XOD für Doppelwort, aber "Invert" ist schöner als "Exclusive Or usw.."
    Geändert von JesperMP (15.05.2014 um 13:34 Uhr)
    Jesper M. Pedersen

  6. #15
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Vielen Dank JesperMP!

    Habe gesehen, dass ich AW bzw. AD nicht programmiert habe - aber das wird im Programm nur rot dargestellt und nicht übernommen.
    LG
    spirit

  7. #16
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.624
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Mein STEP7 ist auf Englisch eingestellt, und deiner ist auf Deutsch, vermute ich

    Anstatt AD, dann UD.
    Jesper M. Pedersen

  8. #17
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von JesperMP Beitrag anzeigen
    Mein STEP7 ist auf Englisch eingestellt, und deiner ist auf Deutsch, vermute ich

    Anstatt AD, dann UD.
    Aja klar, wie doof von mir!

    ... wenn ich nun beispielsweise zwei MD's abfragen und damit nur einen Ausgang ansprechen möchte, so könnte ich das vermutlich mit einem ODER lösen, richtig?
    LG
    spirit

  9. #18
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.624
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Wieviele Bytes müssen in diese Weise getestet werden ?

    Den obengenannte Code-Schnippsel ist eigentlich von ein Schleife wo ich einen grösseren Anzahl von Störmeldungen behandelt.
    Wenn nur 8 Bytes, (2 Doppelwörter) dann ist es sicherlich das einfachste den Code zu verdoppeln.
    Du brauchst kein Oder, weil den Ergebniss mit S (Set) getsetzt wird.
    Jesper M. Pedersen

  10. #19
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Lieben Dank JesperMP,

    es sollen eigentlich vier DBD's abgefragt werden!
    LG
    spirit

  11. #20
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.624
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Einfach den Code 4-mal eintippen, und fertig.

    Wenn du willst, kannst du dich üben eine Schleife zu programmieren.
    Es lohnt sich wenn du irgendwann in den Zukunft nicht 2, 4 oder 8 Bytes behandeln muss, sondern 1000.
    Jesper M. Pedersen

Ähnliche Themen

  1. Step 7 Db´s nach Datentransfer auf null setzen (schreiben).
    Von Martin L. im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 09.09.2013, 10:50
  2. Antworten: 11
    Letzter Beitrag: 14.01.2013, 17:47
  3. Merkerdoppelwort auf bestimmten Wert setzen
    Von 00schneider im Forum Programmierstrategien
    Antworten: 7
    Letzter Beitrag: 15.01.2010, 08:57
  4. Variablen nach Neustart CPU auf null
    Von tomyy im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 14.08.2009, 14:09
  5. String auf Null setzen
    Von ice6461 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 10.08.2007, 18:43

Lesezeichen

Berechtigungen

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