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

Ergebnis 1 bis 8 von 8

Thema: FB Var In Sammelüberwachung

  1. #1
    Registriert seit
    21.07.2005
    Beiträge
    222
    Danke
    54
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo!
    Habe einen FB an welchem etwa 25 Variablen vom Typ In sind. Ich sollte nun davon 10 Variablen auf folgendes überwachen.
    Es darf immer nur eine oder keine In Variable "1" sein. Also wenn zwei oder mehr "1" sind dann Störung. Gibt es eine Möglichkeit dies im FB auszuwerten?
    Danke
    Zitieren Zitieren FB Var In Sammelüberwachung  

  2. #2
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Ja die Möglicheit gibts . Frage beantwortet?

    Ne, Scherz beiseite, sind das Bool- oder INT-Variablen?
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  3. #3
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Dieser Beitrag könnte dein Problem lösen.
    Ansonsten mal hier im Forum suchen, da gibt es schon ein paar Beiträge

  4. #4
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Nimm den Bitsum (FC99) aus der Standard Lib
    If you open your Mind too much, your Brain will fall out.

  5. #5
    Avatar von klauserl
    klauserl ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    21.07.2005
    Beiträge
    222
    Danke
    54
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Ja die Möglicheit gibts . Frage beantwortet?

    Ne, Scherz beiseite, sind das Bool- oder INT-Variablen?
    Es sind Bool Variablen.
    Der Tipp mit dem FC99 ist ja auch recht gut, aber für meinem Fall etwas ungünstig, weil der FC99 auf DWORD abfragt und ich will den FB deswegen nicht mit einer Menge nicht belegten In Var belegen.

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

    Standard

    Du könntest Deine einzelnen IN-Variablen vom Datentyp BOOL in eine TEMP-Variable vom Datentyp DWORD umkopieren.

    Gruß Kai

  7. #7
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.718
    Danke
    729
    Erhielt 1.158 Danke für 969 Beiträge

    Standard

    Oder du guckst hier. Dort gibt es auch einen Link zur Homepage von Volker
    --> SPS --> S7_Bausteine --> Anz_bit.zip

  8. #8
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hab mal ein Beispile zusammengestellt, das das Ganze etwas verdeutlicht:

    Code:
    FUNCTION_BLOCK FB 300
    TITLE =
    VERSION : 0.1
    
    
    VAR_INPUT
      Word_Var_1 : WORD ;    
      Bool_01 : BOOL ;    
      Bool_02 : BOOL ;    
      Bool_03 : BOOL ;    
      Bool_04 : BOOL ;    
      Bool_05 : BOOL ;    
      Bool_06 : BOOL ;    
      Bool_07 : BOOL ;    
      Bool_08 : BOOL ;    
      Bool_09 : BOOL ;    
      Bool_10 : BOOL ;    
      Bool_11 : BOOL ;    
      Bool_12 : BOOL ;    
      Bool_13 : BOOL ;    
      Bool_14 : BOOL ;    
      Bool_15 : BOOL ;    
      Bool_16 : BOOL ;    
      Bool_17 : BOOL ;    
      Bool_18 : BOOL ;    
      Bool_19 : BOOL ;    
      Bool_20 : BOOL ;    
      Bool_21 : BOOL ;    
      Bool_22 : BOOL ;    
      Bool_23 : BOOL ;    
      Bool_24 : BOOL ;    
      Bool_25 : BOOL ;    
      Word_Var_2 : WORD ;    
    END_VAR
    VAR
      dw_MyVar : DWORD ;    
      Summe : INT ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
    //Achtung, das 1. Bit muß an einer Wordgrenze beginnen (hier zur Veranschaulichung 2.0, siehe In-Deklaration oben) 
          L     P##Bool_01; 
          LAR1  ; 
    
          L     D [AR1,P#0.0]; 
          T     MD   100; //nur zum Ansehen in einer VAT
          L     2#11111111111111111111111100000001; 
          UD    ; 
          T     #dw_MyVar; 
          T     MD   104; //nur zum Ansehen in einer VAT
    
          CALL FC    99 (
               IN                       := #dw_MyVar,
               RET_VAL                  := #Summe);
    
          L     #Summe; 
          T     MW   108; //nur zum Ansehen in einer VAT
    END_FUNCTION_BLOCK
    Sieh es dir einfach mal an, so ähnlich kannst du das machen. Den FC99 mußt du natürlich vorher noch aus der Library holen (TI-S7 Converting Blocks)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  9. Folgender Benutzer sagt Danke zu Ralle für den nützlichen Beitrag:

    klauserl (30.10.2007)

Lesezeichen

Berechtigungen

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