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

Ergebnis 1 bis 4 von 4

Thema: SCL Bit einer Wortvariable in FB über Symbol schreiben

  1. #1
    Registriert seit
    08.01.2007
    Beiträge
    54
    Danke
    1
    Erhielt 10 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ich habe in scl einen fb programmiert.
    in diesem befindet sich eine Variable also ein Word namens STW.
    STW is somit im zugehörigen DB gespeichert ,was auch gut so
    ist.
    nun kann ich schreiben:
    STW:=2#1100_0100_0111_1110;
    was auch funktioniert.
    nun möchte ich gern ein bit in diesem wort setzen ohne das ganze wort neu
    zu schreiben.
    funktionieren tut das in dem ich schaue auf welcher adresse im db diese variable liegt und so schreibe ich dann dbxx.dbXxx.x:=1;
    lieber wäre mir jedoch etwas wie zb
    STW[16]:=1 oder STW[2.1]:=1
    doch leider funktioniert das nicht.
    kennt jemand eine lösung oder eine idee mit der ich die einzelnen bits symbolisch beschreiben kann?
    Zitieren Zitieren SCL Bit einer Wortvariable in FB über Symbol schreiben  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.780
    Danke
    398
    Erhielt 2.414 Danke für 2.010 Beiträge

    Standard

    Hallo,
    du kannst mit dem Befehl AT deiner Variablen STW z.B. einen Struct oder ein ARAAY of BOOL zuordnen. Auf die Weise kommst du auch an die Bits.

    Beispiel :
    Code:
    VAR
       STW : word ;
       a_STW AT STW : array [1..16] of BOOL ;
       s_STW AT STW : struct
                                Bit_08 : bool ;
                                ...
                                Bit_01 : bool ;
                                Bit_16 : bool ;
                                ...
                                Bit_09 : bool ;
                                end_struct ;
    ansonsten auch die Hilfe zu diesem Befehl lesen ...

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

    Standard

    Ich weis jetzt nicht ob das auch bei Step7 SCL geht aber in ST würde ich das nehmen:

    Zitat Zitat von 3s
    Adressierung von Bits in Variablen In ganzzahligen Variablen können einzelne Bits angesprochen werden. Dazu wird an die Variable mit einem Punkt abgetrennt der Index des zu adressierenden Bits angehängt. Der Bit-Index kann durch eine beliebige Konstante gegeben werden. Die Indizierung ist 0-basiert.
    Beispiel:
    a : INT;
    b : BOOL;
    ...
    a.2 := b;
    Das dritte Bit der Variablen a wird auf den Wert der Variable b gesetzt.
    Ist der Index größer als die Bit-Breite der Variablen so wird folgender Fehler ausgegeben: Index '<n>' außerhalb des gültigen Bereichs für Variable '<var>'!
    Die Bitadressierung ist bei folgenden Variablentypen möglich: SINT, INT, DINT, USINT, UINT, UDINT, BYTE, WORD, DWORD.
    ...
    If you open your Mind too much, your Brain will fall out.

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.255
    Danke
    537
    Erhielt 2.705 Danke für 1.954 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nö zotos, das geht in SCl leider nicht. Aber der AT-Befehl ist dafür gut.
    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

Ähnliche Themen

  1. Kopplung einer 317 mit einer IM151 über Profinet
    Von GerhardPtl im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.07.2010, 13:52
  2. Antworten: 19
    Letzter Beitrag: 30.06.2010, 23:15
  3. Antworten: 33
    Letzter Beitrag: 10.02.2009, 21:14
  4. Antworten: 50
    Letzter Beitrag: 12.11.2008, 23:13
  5. Antworten: 0
    Letzter Beitrag: 15.09.2005, 14:11

Lesezeichen

Berechtigungen

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