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

Ergebnis 1 bis 8 von 8

Thema: Bits im DB 42 zählen

  1. #1
    Registriert seit
    23.07.2007
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Ihr,

    ich brauch mal die Hilfe von euch Spezialisten.
    Wir haben bei uns mehrer Maschinen alles S7-300 und S7-400 Siemens CPS, und ich brauche einen Baustein der Automatisch
    Alle Bits mit dem Zustand TRUE in einem Datenbaustein Zählt.
    Der Baustein hat immer die DB Nr. 42. Die Länge ist bei jeder Maschine unterschiedlich, aber es sind immer ganze Datenwörter.
    Der Baustein soll dann eine OUT Variable haben in der dann die Anzahl der aktiven Bits steht.

    Ich hab nicht die geringste Ahnung wie man so was Programmiert.
    Ich hab jetzt nach langem lesen herausgefunden das ich mit

    „AUF DB42“
    „L DBLG“

    wie ich die DB Länge automatisch ermitteln kann.

    Aber jetzt bin ich echt ratlos. Vor allem kann der Baustein ja 100 Datenworte haben oder nur 6.

    Zudem brauch ich den Datenbaustein echt dringend. Hab das ganze Wochenende mit Hilfen und grübeln verbracht.
    Ich denke da brauch ich eine Schleife oder so was, aber davon hab ich gar keine Ahnung.
    Hab ich bis jetzt auch noch nie benötigt.

    Vielen Dank

    Tanja
    Zitieren Zitieren Bits im DB 42 zählen  

  2. #2
    Registriert seit
    22.12.2005
    Beiträge
    11
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Tanja,

    probiers mal auf Volker's Homepage.
    Da gibt's einen Baustein als Download der High-Bits auswerten kann.

    http://lischis-home.dyndns.org/files/index.htm --> SPS --> S7_Bausteine --> Anz_bit.zip

  3. #3
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.725
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Es gibt in der Standard Library auch einen "FC99 BITSUM", der kann das auch,
    dann müsste man um diesen nur noch eine Schleife Basteln, Anzahl der Durchläufe mit DBLG/4 ermittelt. (Der hat als Eingang ein Doppelwort)

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  4. #4
    tanja ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2007
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    erst mal Danke für die 2 Tipps.

    Bei beiden Varianten brauch ich eine Schleife.
    Daraus ergibt sich bei mir leider das nächste Problem.
    Würdet ihr mir da auch helfen?

    Wenn ich das richtig sehe benötigt der FC99 ein Doppelwort.
    Ich habe aber immer nur Worte, die Anzahl der Bytes lässt sich sicher durch 2 Teilen, aber eben nicht immer durch 4.

    Das Beilspiel von "Volker's Hompage" wertet immer nur Byts aus. Damit würde es ja dann gehen. Nur wie bekomm ich da mein Problem mit der Schleife gelöst?

  5. #5
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.725
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Eins vorweg, der FC99 lässt sich natürlich auch mit Worten oder Bytes versorgen,
    allerdings wäre bei der Versorgung mit Doppelworten die Schleifendurchläufe kürzer,
    und man hätte Vorteile bei der Zykluszeit, was aber u.U. vernachlässigbar ist.

    Für die Schleife findet man hier im Forum oder auch in der Hilfe zu Step7 einige Beispiele.
    Im Moment habe ich ehrlich gesagt keine Zeit dir detailierter zu helfen.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. #6
    Registriert seit
    09.08.2004
    Ort
    Münsterland
    Beiträge
    232
    Danke
    21
    Erhielt 13 Danke für 10 Beiträge

    Standard

    unterschätze aber nicht die zykluszeitbelastung ... vor allem wenn der db länger wird

    gruß
    christian
    Angehängte Dateien Angehängte Dateien
    • Dateityp: pdf FC6.pdf (9,8 KB, 177x aufgerufen)
    Zitieren Zitieren damit sollte es gehen ...  

  7. #7
    tanja ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2007
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    SUPER !!!!

    Vielen Dank Stricky.
    Genau das was ich gebraucht habe.

    Jetzt werde ich mir mal die Anweisungen und die Hilfe zu gemüte führen,
    damit weiß was du da gemacht hast.

    Danke auch MSB und Coma2205.

    Tanja

  8. #8
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier noch mal eine weitere Lösungsmöglichkeit:

    Code:
    // FC100 : Anzahl Bits (TRUE) zählen
     
    // Adressregister AR1 sichern
     
          TAR1  #AR1_TEMP
     
     
    // Anzahl Bits (TRUE) zählen
     
    // DBLG = Länge Globaldatenbaustein = Anzahl Datenbytes
    // Anzahl Datenbytes * 8 = Anzahl Datenbits
     
          AUF   #DB_NUMMER                  // Datenbaustein öffnen
     
          L     P#0.0                       // Zeiger Bits
          LAR1  
     
          L     0
          T     #ZAEHLER_BITS               // Zähler Bits
     
          L     DBLG                        // Länge Datenbaustein
          L     8
          *I    
    M01:  T     #ZAEHLER_SCHLEIFE           // Zähler Schleife
     
          U     DBX [AR1,P#0.0]             // Abfrage Bits TRUE
          SPBN  M02
     
          L     #ZAEHLER_BITS               // Zähler Bits + 1 
          L     1
          +I    
          T     #ZAEHLER_BITS
     
    M02:  L     P#0.1                       // Zeiger Bits + 1
          +AR1  
     
          L     #ZAEHLER_SCHLEIFE           // Zähler Schleife
          LOOP  M01
     
          L     #ZAEHLER_BITS               // Zähler Bits
          T     #ANZAHL_BITS
     
     
    // Adressregister AR1 wiederherstellen
     
          LAR1  #AR1_TEMP
    Gruß Kai
    Angehängte Dateien Angehängte Dateien

Ähnliche Themen

  1. bits sammeln und dezimal zählen
    Von Anonymous im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 05.02.2016, 14:11
  2. FM 350-2: 8 x zählen
    Von kluk im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 24.07.2013, 10:05
  3. Netausfälle zählen?
    Von Anonymous im Forum Programmierstrategien
    Antworten: 2
    Letzter Beitrag: 05.11.2005, 17:36
  4. zählen
    Von fbeine im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 10.05.2005, 10:34
  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
  •