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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: wort ins Bits

  1. #11
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 420 Danke für 337 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von PN/DP Beitrag anzeigen
    Ahh, das könnte eine Möglichkeit sein, Word UND Bits symbolisch zu adressieren.
    Ich bin mir nur grad nicht sicher, ob das geht:
    Code:
    L P##structname
    Harald

    Wenn nicht, sfc20 geht auf jeden fall, kostet halt dann etwas zeit für diese einfache aufgabe...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von Jochen Kühner Beitrag anzeigen
    Ich mach mir dazu in den Lokaldaten einen Strukt mit 8 Bits, lade die adresse des strukts, transferiere den wert rein und dann hab ich die bits!
    Danke Jochen, ich habe Deinen Tip direkt mal ausprobiert.
    Mit Hilfe der Struktur kann man tatsächlich auch in TEMP auf das Word UND die Bits symbolisch zugreifen:
    Code:
    VAR_TEMP
      test_irgendwas : BYTE ; //Füll-Var für L-Adressoffset > 0
      tempWord : STRUCT
       Bit8  : BOOL ;
       Bit9  : BOOL ;
       Bit10 : BOOL ;
       Bit11 : BOOL ;
       Bit12 : BOOL ;
       Bit13 : BOOL ;
       Bit14 : BOOL ;
       Bit15 : BOOL ;
       Bit0  : BOOL ;
       Bit1  : BOOL ;
       Bit2  : BOOL ;
       Bit3  : BOOL ;
       Bit4  : BOOL ;
       Bit5  : BOOL ;
       Bit6  : BOOL ;
       Bit7  : BOOL ;
      END_STRUCT ;
    END_VAR
    BEGIN
    NETWORK
          LAR1  P##tempWord ;
          L     #MyWord ;
          T     W [AR1,P#0.0] ;
    
          U     #tempWord.Bit15 ;
          =     #MyBit ;
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Wenn man aus einem Word nicht alle Einzelbits extrahieren will, sondern nur den Zustand eines einzelnen Bits im Word abfragen will, dann kann man auch diesen FC benutzen:
    Code:
    FUNCTION "TestBit_W" : BOOL
    TITLE =Gibt den Zustand eines Bits aus einem Word zurück
    AUTHOR : PN_DP
    VERSION : 0.1
    
    VAR_INPUT
      Wordwert : WORD ;     //Wordwert
      Bitnummer : INT ;     //Bitnummer 0...15
    END_VAR
    BEGIN
    NETWORK
          L     #Bitnummer ;
          L     1 ;
          SLW   ;
          L     #Wordwert ;
          UW    ;
          U     <>0 ;
          =     #RET_VAL ;  //Bit-Zustand zurückgeben
          SAVE  ;           //für KOP/FUP auch in BIE/ENO ausgeben
    
    END_FUNCTION
    Beispiel-Aufruf in FUP (ENO hat den selben Zustand wie RET_VAL und kann direkt weiterverarbeitet werden!):
    Code:
              +-------------------+
              |    "TestBit_W"    |
          ...-|EN                 |
              |                   |
     "MyWord"-|Wordwert    RET_VAL|-M8.0   M8.1
              |                   |       +-----+
            5-|Bitnummer       ENO|-------|  =  |
              +-------------------+       +-----+
    Der selbe Aufruf in AWL-Ansicht:
    Code:
          CALL  "TestBit_W"
           Wordwert :="MyWord"
           Bitnummer:=5
           RET_VAL  :=M8.0
    
          U     BIE
          =     M      8.1
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren FC "TestBit_W"  

Ähnliche Themen

  1. wort ausrichten
    Von maxe123 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 17.02.2009, 23:45
  2. CAN-Bus und Wort-Adressierung....
    Von repök im Forum Feldbusse
    Antworten: 0
    Letzter Beitrag: 14.06.2007, 21:12
  3. DB Bit aus Wort auslesen
    Von Stromer im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.02.2007, 20:43
  4. 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
  5. Bit aus Wort auswerten?
    Von Anonymous im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 23.06.2004, 14:58

Lesezeichen

Berechtigungen

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