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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Bit-Position in Wort

  1. #1
    Registriert seit
    28.05.2008
    Beiträge
    103
    Danke
    9
    Erhielt 18 Danke für 17 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,
    ich stehe offensichtlich mächtig auf dem Schlauch!
    Mit der Suchfunktion habe ich schon eine Weile rumgesucht und nicht's (??) gefunden.
    Ich sollte die TRUE-Bit-Position innerhalb eines Wortes als INT haben.
    Es ist immer nur ein Bit auf TRUE.

    Besten Dank.
    Gruss aus CH
    Zitieren Zitieren Bit-Position in Wort  

  2. #2
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Auch hier kann ich wieder sagen, nimm' diesen Code als Basis, dann geht der Rest doch fast von allein.

  3. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    tschortscho51 (03.11.2012)

  4. #3
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Ich habe da auch eine Basis (Klassiker) die ich für sowas gerne verwende:
    Code:
          L     #IN_WORD                    // zu prüfendes Wort
          L     0
          ==I   
          SPB   kbit
          TAK
          DTR   
          SRD   23
          L     126
          -D    
    kbit: T     #Pos
    Geändert von Thomas_v2.1 (02.11.2012 um 18:28 Uhr)

  5. Folgende 5 Benutzer sagen Danke zu Thomas_v2.1 für den nützlichen Beitrag:

    190B (03.11.2012),hucki (02.11.2012),nutellahase (03.11.2012),tschortscho51 (03.11.2012),vollmi (03.11.2012)

  6. #4
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    L 0 und L IN_WORD getauscht, und man kann das TAK auch noch weglassen...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  7. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Und noch ne Zeile:

    Code:
          L     0
          L     #IN_WORD
          ==I   
          SPB   kbit
          DTR   
          SRD   23
          +     -126
    kbit: T     #POS
    Geändert von Jochen Kühner (03.11.2012 um 08:54 Uhr)
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Sorry...  

  8. Folgende 2 Benutzer sagen Danke zu Jochen Kühner für den nützlichen Beitrag:

    nutellahase (03.11.2012),tschortscho51 (03.11.2012)

  9. #6
    Avatar von tschortscho51
    tschortscho51 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.05.2008
    Beiträge
    103
    Danke
    9
    Erhielt 18 Danke für 17 Beiträge

    Standard

    Herzlichen Dank für die Antworten.
    Gestern, am Ende der Arbeitswoche war mein Akku wohl leer.
    Gruss aus CH

  10. #7
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Zitat Zitat von tschortscho51 Beitrag anzeigen
    Herzlichen Dank für die Antworten.
    Gestern, am Ende der Arbeitswoche war mein Akku wohl leer.
    Wenn Du die Thomas'sche Lösung mit minimal-Akku heute durchschaut hast bewundere ich Dich sehr.
    Ich habe das (diesen Lösungsansatz) vor 3 Jahren schon gelesen (so was ähnliches) und muss zugeben, trotz Anleitung habe ich 3h gebraucht um es restlos zu verstehen.

  11. #8
    Avatar von tschortscho51
    tschortscho51 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    28.05.2008
    Beiträge
    103
    Danke
    9
    Erhielt 18 Danke für 17 Beiträge

    Standard

    Verstanden habe ich das nicht.
    Aber angewendet, und es funktioniert genau wie ich es brauche.
    Nochmals allen beteiligten besten Dank.
    Gruss aus CH

  12. #9
    Registriert seit
    15.04.2011
    Beiträge
    1.122
    Danke
    229
    Erhielt 208 Danke für 176 Beiträge

    Standard

    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Ich habe da auch eine Basis (Klassiker) die ich für sowas gerne verwende:
    Code:
          L     #IN_WORD                    // zu prüfendes Wort
          L     0
          ==I   
          SPB   kbit
          TAK
          DTR   
          SRD   23
          L     126
          -D    
    kbit: T     #Pos
    Schöne Sache. Kann man dazu auch eine Erklärung bekommen? Würde mich wirklich brennend interessieren....
    Gruß
    190B

  13. #10
    Registriert seit
    05.09.2011
    Beiträge
    176
    Danke
    43
    Erhielt 28 Danke für 20 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nettes Beispiel auf das man erst einmal kommen muss, Respekt!

    Auszug aus der Step7 Hilfe:

    Zahlen im Gleitpunktformat werden in der allgemeinen Form "Zahl = m * b hoch E" dargestellt. Die Basis "b" und der Exponent "E" sind ganze Zahlen, die Mantisse "m" eine rationale Zahl.

    Gleitpunktzahlen in STEP 7 entsprechen dem Grundformat mit einfacher Breite, wie in der Norm ANSI/IEEE Standard 754-1985, IEEE Standard for Binary Floating-Point Arithmetic beschrieben. Sie bestehen aus den folgenden Komponenten:

    dem Vorzeichen V
    dem um eine Konstante (Bias = +127) erhöhten Exponenten e = E + Bias
    dem gebrochenen Teil der Mantisse m.

    Der ganzzahlige Anteil der Mantisse wird nicht mit abgelegt, da er innerhalb des gültigen Zahlenbereichs immer = 1 ist

    Die drei Bestandteile belegen zusammen ein Doppelwort (32 Bit)
    Code:
    Wert = (VZ) x (1,Mantisse) x (2(Exponent-127))
    Nun möchte ich z.B. auswerten, ob das zweite Bit gesetzt ist. Im dualen Zahlensystem entspricht das dem Wert 2 (Wertigkeit 21). Im Format REAL muss ich also 2.0 erhalten. Die Mantisse muss bei Zahlen einer Zweierpotenz immer 0 sein. Also muss ich folgende Werte erhalten

    Wert = + 1,0 x 21

    Mein Exponent muss also 128 betragen! Durch das rechts rotieren wird die Mantisse ausgeblendet. Nun stehen im Akku der Exponent plus Bias und das Vorzeichen. Bit 0 ist das erste Bit, Bit 1 das zweite Bit, damit die Anzeige stimmt wird dann statt 127 nur 126 abgezogen.

    Hat mich jetzt auch eine Zeit lang beschäftigt, also ich wäre auf diese Methode wohl nie gekommen

  14. Folgende 3 Benutzer sagen Danke zu nutellahase für den nützlichen Beitrag:

    190B (03.11.2012),hucki (03.11.2012),vollmi (03.11.2012)

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 21.09.2010, 11:54
  2. Zugriff auf Bit aus Wort in FB-Deklaration
    Von Holger Levetzow im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 20.01.2010, 15:38
  3. Antworten: 10
    Letzter Beitrag: 16.09.2009, 07:50
  4. DB Bit aus Wort auslesen
    Von Stromer im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.02.2007, 20:43
  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
  •