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

Ergebnis 1 bis 4 von 4

Thema: byte zur binaryzahl umwandeln !

  1. #1
    Registriert seit
    29.11.2010
    Beiträge
    50
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Lieber Forum Gemeinde;

    İch bin ziemlich ganz neu bei codesys ver 2.3
    nun ich möchte ein byte zahl zur binaryzahl umwandeln und Z.B die 3. und 4. bit mit binary zahl vergleichen.
    wie kann ich es in kurzem weg es machen?

    Danke im voraus
    Zitieren Zitieren byte zur binaryzahl umwandeln !  

  2. #2
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Hi,

    Du würfelst da einiges durcheinander, so dass zumindest für mich nicht ganz klar ist, was Du eigentlich tun möchtest.


    Zunächst einmal wird prinzipiell alles nur binär in der SPS gespeichert. Wenn etwas dann z.B. dezimal oder hexadezimal auf dem Bildschirm dargestellt wird, geschieht dies nur, damit der Mensch davor das besser lesen kann. Am Speicher ändert das aber nichts.

    BYTE ist dagegen ein Größenangabe des Speichers, genau wie WORD oder DWORD und besagt, von wieviel BITs als kleinste Speichereinheit die Rede ist. Beim Byte sind es 8 Bits.


    Du schreibst was davon, dass Du das nur 3. und 4. Bit dieses Bytes prüfen möchtest. Dafür gibt es verschiedene Möglichkeiten.
    Ich persönlich würde wahrscheinlich die Bits per Schiebebefehl auf die Stellen 0 und 1 (kleinste Wertigkeit im Byte) verschieben und dann durch verUNDung alle höheren Stellen auf 0 bringen. Jetzt können nur noch Werte von 0 bis max. 3 vorhanden sein, nach denen man auswerten kann.

    Eine weitere Möglichkeit wäre per Slice direkt auf diese Bits zuzugreifen, also z.B.: "MyByte.X3". Somit hast Du einzelne Bits. (Meine zumindest, dass das bei CODESYS auch geht.)


    In welcher Programmiersprache möchtest Du das denn umsetzen und was genau hast Du vor?

  3. #3
    Registriert seit
    29.11.2010
    Beiträge
    50
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    İch wollte es wissen wie mann mit FUB sprache mit einfacher lösung die 8 bits von einer byte zahl true oder false zustand ist.

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ein Byte in alle 8 Bits zerlegen kann man mit dem Funktionsblock UNPACK aus der Bibliothek Util.lib
    Details siehe Codesys-Handbuch/Hilfe

    In Codesys kann man direkt Bits in Variablen ansprechen, z.B.
    Code:
    BoolVar := MyByte.3
    Details siehe Codesys-Handbuch/Hilfe "Adressierung von Bits in Variablen"

    Falls Dein Codesys das direkte Adressieren der Bits nicht zuläßt, dann ist das Standard-Verfahren, daß man die Variable mit einer passenden Bitmaske ver-UND-ed und schaut, ob dabei 0 oder <>0 rauskommt:
    Code:
    BoolVar := BYTE_TO_BOOL(MyByte AND 2#00001000)
    siehe Codesys-Handbuch/Hilfe "Bitstring Operatoren"

    Ein einzelnes Bit in einem DWORD kann man auch mit der Funktion EXTRACT ermitteln.
    Details wiederum: siehe Codesys-Handbuch/Hilfe

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    mnuesser (31.01.2016)

Ähnliche Themen

  1. Step 7 Byte in INT umwandeln
    Von ertrinkender im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 16.10.2013, 11:48
  2. Umwandeln von INT nach Byte u Byte + n
    Von Gerold im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 07.04.2009, 10:07
  3. Byte to String umwandeln S7-315 2PN DP
    Von Sunny4251 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 28.08.2008, 09:31
  4. byte in word / dword umwandeln
    Von Gerri im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.07.2008, 14:31
  5. REAL in BYTE umwandeln
    Von Terence_Hill im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.01.2008, 20:03

Lesezeichen

Berechtigungen

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