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

Ergebnis 1 bis 6 von 6

Thema: Merkerwortbereich überprüfen

  1. #1
    Registriert seit
    22.01.2008
    Beiträge
    14
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich möchste einen Merkerwortbereich überprüfen ob in diesem Bereich ein Bit gesetzt ist z.B. Bereich MW100 bis MW200. Ich muss nur wissen ob ein Bit in diesem Bereich gesetzt ist welches ist egal.

    Ich dachte ich könnte einfach alle Wörter UND ververküpfungen aber das geht leider nicht.

    Welche möglichleiten habe ich da Problem zu lösen?

    Gruß

    mde
    Zitieren Zitieren Merkerwortbereich überprüfen  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    du könntest eine Schleife programmieren und in der alle Worte ODER-verknüpfen. Das Ergebnis der Gesamt-Verknüpfung brauchst du dann nur auf <>0 überprüfen und schon weißt du, ob ein Bit gesetzt ist ...

    Gruß
    LL

  3. #3
    mde ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.01.2008
    Beiträge
    14
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wie kann ich in einer Scheife um ein Wort hochzählen?

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Lies doch dazu vielleicht zunächst diesen Beitrag durch ...

    Du kannst natürlich auch programmieren :
    Code:
    L MD100
    L MD104
    OD
    L MD108
    OD
     
    usw.
     
    L MD196
    OD
    L 0
    <> D
    = M 1.0   // es ist ein Bit gesetzt
    aber das finde ich nicht sehr elegant ...

    Gruß
    LL

  5. #5
    mde ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    22.01.2008
    Beiträge
    14
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe das nicht verstanden wie ich den Pointer hochzählen kann.

    L #EndLoop // Schleifenzyklen berechnen
    L #StartLoop
    -I
    T #loops

    L #loops //Lade die Anzahl der Schleifenzyklen in AKKU1-L.
    NEXT: T #loops //Sprungmarke = Anfang der Schleife / Transferiere AKKU1-L in Schleifenzähler.

    L MW 100
    SLD 3
    LAR1

    L MW [AR1,P#0.0]

    hier irgendwie Pointer um loops herhöhen aber wie???


    L #loops //Lade den Inhalt des Schleifenzählers in AKKU 1.
    LOOP NEXT //Dekrementiere den Inhalt von AKKU 1 und springe zur Sprungmarke NEXT, wenn AKKU1-L > 0 ist.

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.710
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Das könnte so aussehen :
    Code:
    L #Anfangswort  // hier steht z.B. 100 drin
    SLD 3
    T #Anfangspointer  //dies ist ein DWORD
     
    L #Endwort        // hier steht dann z.B. 200 drin
    SLD 3
    T #Endepointer  //dies ist ein DWORD
     
    L 0
    T #Verknüpfung  // dies ist dein Vergleichswert
     
    LOOP: L #Anfangspointer
    L #Endepointer
    >D
    SPB Ende
     
    L #Anfangspointer
    LAR1
     
    L MW [AR1,p#0.0]
    L #Verknüpfung 
    OW
    T #Verknüpfung 
     
    L#Anfangspointer
    L p#2.0
    +D
    T #Anfangspointer
    SPA Loop
     
    Ende:L #Verknüpfung 
    L 0
    <> I
    = #Bit_gesetzt
    Achtung dies ist ein "Quick-and-dirty"-Code und nicht getestet - er kann also noch kleine Bugs beinhalten ...
    Außerdem solltest du vielleicht auch überprüfen, ob sich das Anfangs-MW und das Ende-MW im "legalen" Bereich befinden und Ende-MW > Anfangs-MW ist ...

    Gruß
    LL
    Geändert von Larry Laffer (06.03.2009 um 11:52 Uhr)

Ähnliche Themen

  1. S5 CPU überprüfen
    Von kleiner mann im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 28.09.2011, 22:25
  2. AWG auf Funktion überprüfen
    Von hbedir im Forum Antriebstechnik
    Antworten: 3
    Letzter Beitrag: 24.09.2010, 07:28
  3. Überprüfen der Konfiguration
    Von Spoon im Forum CODESYS und IEC61131
    Antworten: 18
    Letzter Beitrag: 05.06.2009, 19:13
  4. Bit überprüfen in KOP
    Von Woeba im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 30.10.2007, 15:51
  5. DB auf Änderungen überprüfen
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 05.03.2005, 11:26

Lesezeichen

Berechtigungen

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