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

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

Thema: Abfrage von Bits in DB's

  1. #1
    Registriert seit
    23.11.2006
    Beiträge
    23
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich bräuchte eine Funktion die aus verschiedenen DB's
    ein und das selbe bit auf 1 abfragt und mir dann ein out gibt, falls eins von den Bit's in den DB's gesetzt ist. Zum beispiel mit nem Pointer, weiß nur nicht wie.

    Ich möchte an den FC den Pointer schreiben und am Out einen Merker
    Die verschiedenen Db stehen im FC

    z.b.
    Auf db140
    l p##pointer

    =out
    oder so, nur bekomme ich keine Anzeige
    Das Leben ist ein scheiß Spiel. aber ne verdammt geile Grafik
    Zitieren Zitieren Abfrage von Bits in DB's  

  2. #2
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    hallo,

    wieviele DBs sind das denn?
    Sind die DBs fortlaufend nummeriert?
    "arbeite klug, nicht hart" - deutsches Sprichwort

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

    Standard

    es sind erstmal nur 6 db's nicht fortlaufend nummeriert
    Das Leben ist ein scheiß Spiel. aber ne verdammt geile Grafik

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

    ich würde hier auf die übergabe eines pointers verzichten, lieber die schnittstelle als byte nummer INT und bit nummer INT definieren ... die festen DB-nummern machen mich bißchen, naja, nachdenklich ... aber das soll ja nicht mein problem sein

    aus byte und bit kannst du dir dann einen pointer selber basteln:

    Code:
    *
          L     #iByte
          SLD   3
          L     #iBit
          +D    
          LAR1
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    bei 6 DBs ist es wohl das einfachste mit ner normalen ODER Abfrage zu arbeiten.

    Wenn du viel mehr DBs hättest, und dein Programm so strukturiert wäre, dass die DBs fortlaufend nummeriert sind (oder nen bestimten Abstand haben), dann wäre eine Schleife mit indirekter Adressierung das richtige.
    "arbeite klug, nicht hart" - deutsches Sprichwort

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

    Zitat Zitat von SPSKILLER Beitrag anzeigen
    bei 6 DBs ist es wohl das einfachste mit ner normalen ODER Abfrage zu arbeiten.

    Wenn du viel mehr DBs hättest, und dein Programm so strukturiert wäre, dass die DBs fortlaufend nummeriert sind (oder nen bestimten Abstand haben), dann wäre eine Schleife mit indirekter Adressierung das richtige.
    indirekt ist doch immer schön

    Code:
    *
          L     #iByteTemp
          SLD   3
          L     #iBitTemp
          +D    
          LAR1  
          L     #iNumberOfDBs
    next: T     #iLoop
          AUF   DB [#iStartDB]
          U     DBX [AR1,P#0.0]
          SPB   end
          L     #iStartDB
          +     1
          T     #iStartDB
          L     #iLoop
          LOOP  next
          SPA   _be
    end:  =     #xOut
    _be:  SET   
          SAVE
    Geändert von vierlagig (23.01.2009 um 11:31 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    bringt ja nix wenn die DBs nicht in Reihe sind
    "arbeite klug, nicht hart" - deutsches Sprichwort

  8. #8
    Lockerbee ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.11.2006
    Beiträge
    23
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das sieht sehr gut aus.

    Mal sehen ob ich die Db's noch schieben kann.
    es werden mal an die ca 30 Db's sein.

    Und wie geht jetzt die abfrage ob ein bit in einem von den dbs gesetzt ist ??
    Das Leben ist ein scheiß Spiel. aber ne verdammt geile Grafik

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

    Zitat Zitat von Lockerbee Beitrag anzeigen
    Das sieht sehr gut aus.
    vs.

    Zitat Zitat von Lockerbee Beitrag anzeigen
    Und wie geht jetzt die abfrage ob ein bit in einem von den dbs gesetzt ist ??
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #10
    Registriert seit
    23.01.2009
    Beiträge
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Versuches mal gaaanz einfach:

    u bd150.dbx2.0
    u db161.dbx2.0
    usw.
    =m20.0

Ähnliche Themen

  1. Abfrage Bit und if Abfrage
    Von Move im Forum HMI
    Antworten: 5
    Letzter Beitrag: 11.05.2011, 21:58
  2. <> Abfrage
    Von husox81 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 19.04.2010, 10:18
  3. if- Abfrage
    Von Hannes im Forum Sonstige Steuerungen
    Antworten: 0
    Letzter Beitrag: 08.07.2009, 16:45
  4. bcd abfrage
    Von Hobby programmierer im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 26.05.2005, 22:51
  5. Bits in temporäres Byte mappen und gesetzte Bits zählen
    Von yetibrain im Forum PC- und Netzwerktechnik
    Antworten: 3
    Letzter Beitrag: 19.02.2005, 16:31

Lesezeichen

Berechtigungen

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