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

Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: Abfrage von Bits in DB's

  1. #1
    Join Date
    23.11.2006
    Posts
    23
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    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
    Reply With Quote Reply With Quote Abfrage von Bits in DB's  

  2. #2
    Join Date
    11.05.2005
    Location
    Baden-Württemberg
    Posts
    723
    Danke
    114
    Erhielt 158 Danke für 128 Beiträge

    Default

    hallo,

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

  3. #3
    Lockerbee is offline Neuer Benutzer
    Themenstarter
    Join Date
    23.11.2006
    Posts
    23
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

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

  4. #4
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    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
    Join Date
    11.05.2005
    Location
    Baden-Württemberg
    Posts
    723
    Danke
    114
    Erhielt 158 Danke für 128 Beiträge

    Default

    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
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by SPSKILLER View Post
    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
    Last edited by vierlagig; 23.01.2009 at 11:31.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #7
    Join Date
    11.05.2005
    Location
    Baden-Württemberg
    Posts
    723
    Danke
    114
    Erhielt 158 Danke für 128 Beiträge

    Default

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

  8. #8
    Lockerbee is offline Neuer Benutzer
    Themenstarter
    Join Date
    23.11.2006
    Posts
    23
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    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
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by Lockerbee View Post
    Das sieht sehr gut aus.
    vs.

    Quote Originally Posted by Lockerbee View Post
    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
    Join Date
    23.01.2009
    Posts
    4
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Default


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

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

Similar Threads

  1. TIA TIA V13 S7 315-2DP Abfrage Anzahl Bits gleich 1
    By mstars in forum Simatic
    Replies: 10
    Last Post: 16.01.2019, 12:55
  2. Replies: 6
    Last Post: 01.11.2013, 20:36
  3. Unklarheit bei Abfrage von F-DI
    By basstscho in forum Simatic
    Replies: 5
    Last Post: 18.08.2012, 13:00
  4. S7 gleichzeitige Abfrage von 2 Eingängen
    By powdergott1975 in forum Simatic
    Replies: 5
    Last Post: 31.01.2007, 21:13
  5. Bits in temporäres Byte mappen und gesetzte Bits zählen
    By yetibrain in forum PC- und Netzwerktechnik
    Replies: 3
    Last Post: 19.02.2005, 16:31

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •