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

Ergebnis 1 bis 8 von 8

Thema: Im FB (Multiinzanz) mehrere Bits als Word/Int ausgeben...

  1. #1
    Registriert seit
    08.01.2007
    Ort
    Dülmen
    Beiträge
    393
    Danke
    58
    Erhielt 24 Danke für 17 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ist wahrscheinlich simpel, aber ich habe es noch nie verwendet.

    Ich möchte in einem Multiinstanz-FB die Störmeldungen als einzelne Bits erzeugen, aber als 16Bit Word/Int für WinCCflex ausgeben.

    Geht folgendes(ich umschreibe es mal)?
    U DE1
    = L0.0
    U DE2
    = L0.1
    U DE3
    = L0.2
    usw...

    L LW0
    T AUSGANGSWORD

    Habe ich eine andere Möglichkeit die Bits (zusammenhängend) aus dem STAT Bereich als Word/Int auszugeben? Mir ist schon klar das ich auch direkt das Word im STAT Bereich benutzen kann... wird aber problematisch wenn ich den FB ändere... der Bereich könnte sich ja verschieben.

    Ich bedanke mich schon mal vorab.
    Zitieren Zitieren Im FB (Multiinzanz) mehrere Bits als Word/Int ausgeben...  

  2. #2
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Hallo,

    das funktioniert so, aber schön ist anders. ich würde nicht absolut-adressiert auf irgendwelche Bits zugreifen. Dann lieber indirekt adressiert.
    mfG Aventinus

  3. #3
    AndreK ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.01.2007
    Ort
    Dülmen
    Beiträge
    393
    Danke
    58
    Erhielt 24 Danke für 17 Beiträge

    Standard

    Hallo,
    beziehst du dich auf DE1,2 und 3... das hatte ich nur so geschrieben. Die DE`s werden über den IN des MultiFB gelesen. Nicht direkt von der Hardwarekarte... Das kommt mir nicht auf die CPU.

  4. #4
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Nein, ich beziehe mit auf L0.0 usw.

    wenn du das ganze Wort als Stoerwort deklarierst könntest du auf die einzelnen Bits z.B. so zugreifen.

    Code:
          LAR1 p##Stoerwort
          U      DE1
          =      [AR1,P#0.0]
          U      DE2
          =      [AR1,P#0.2]
          U      DE3
          =      [AR1,P#0.2]
    Wenn dann aus welchen Gründen auch immer sich deine Lokaldaten schieben funktioniert das immer noch.
    mfG Aventinus

  5. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    AndreK (03.09.2012)

  6. #5
    AndreK ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.01.2007
    Ort
    Dülmen
    Beiträge
    393
    Danke
    58
    Erhielt 24 Danke für 17 Beiträge

    Standard

    OK, super...! Danke

  7. #6
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard

    noch schöner ist eine struct
    z.b. so
    Code:
    FUNCTION_BLOCK FB 1
    TITLE =
    VERSION : 0.1
    
    VAR
      stm_bit : STRUCT  
       nummer : ARRAY  [0 .. 15 ] OF BOOL ; 
      END_STRUCT ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =
          U     E      0.0; 
          =     #stm_bit.nummer[0]; 
    
    END_FUNCTION_BLOCK
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  8. #7
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Zitat Zitat von volker Beitrag anzeigen
    noch schöner ist eine struct
    dann musst du den Out-Parameter mit SFC20 beschreiben. Mit Lade kannst du nicht auf die Struktur zugreifen... aber sonst noch eleganter...
    mfG Aventinus

  9. #8
    Registriert seit
    20.06.2003
    Ort
    Sauerland.NRW.Deutschland
    Beiträge
    4.850
    Danke
    78
    Erhielt 800 Danke für 543 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    oder den transfer über das ar
    Code:
    LAR1 P##stm_bit
    L W [AR1,P#0.0]
    T #out_stm
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

Ähnliche Themen

  1. SCL: Auf Bits eines Word zugreifen.
    Von Aksels im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 28.10.2011, 17:10
  2. Achsbewegung (REAL oder INT) in BOOL ausgeben
    Von MunoRodriguez im Forum CODESYS und IEC61131
    Antworten: 22
    Letzter Beitrag: 26.09.2011, 20:44
  3. Aus Word BITs rausziehen
    Von mfg_mr.e im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 20.06.2011, 11:02
  4. WORD of BITS - ILC Phönix Contacts
    Von poelli85 im Forum Sonstige Steuerungen
    Antworten: 6
    Letzter Beitrag: 05.09.2010, 22:55
  5. WORD aus einzelnen Bits zusammensetzen
    Von moeins im Forum Simatic
    Antworten: 73
    Letzter Beitrag: 09.12.2007, 20:44

Lesezeichen

Berechtigungen

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