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

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

Thema: Aus Hex Zahl wieder Bitmuster machen

  1. #1
    Registriert seit
    11.08.2011
    Beiträge
    32
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Morgen, ich hab da ein Problem und ich hoffe einfach mal das mir einer Helfen kann. Folgendes: Ich will aus einer Hex - Zahl wieder ein Bitmuster machen. Dabei steht jedes Bit für ein Element einschalten bzw. ausschalten.

    DW#16#0 wieder in 0000 0000 ...

    Anschliesend will ich dann jedes Bit einem Merker zu ordnen.

    Hoffe mal ihr könnt mich ansatzweise Verstehen.

    Danke schonmal im Vorraus und bis denne
    Zitieren Zitieren Aus Hex Zahl wieder Bitmuster machen  

  2. #2
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    Eine Hex-Zahl IST nur eine Darstellungsform eines Bitmusters.

    L DBX.DBWY
    T MW0

    M0.0 - M1.7 sind deine Bits ... fertig.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

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

    Deimos0815 (15.08.2011)

  4. #3
    Registriert seit
    11.08.2011
    Beiträge
    32
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke schonmal für die schnelle Antwort. Da hätte ich auch selbst darauf kommen können. Wollte das schon mit schieben und dividieren machen. Da hab ich aber dann noch eine Frage:
    Das ganze soll in einem Funktionsbaustein passieren(dabei nutze ich auch das Laden von werten aus Instanzbausteinen ...anderes Thema).

    Feste Merker wollt ich nciht nutzen, da der FB in viele Steueruungen eingebaut werden soll und die Merkerverteilung unterschiedlich ist.
    kann ich auch das ganze in den Statischen Teil laden und dann darauf dann Bitweise zugreifen? also quasi:

    L DBXXX.DBW16
    T Set_Elemente

    .
    .
    .

    U Set_Elemente1.1 (oder so ähnlich)

    Danke schonmal
    Geändert von Deimos0815 (15.08.2011 um 09:21 Uhr)

  5. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo,
    Mit meineVariable.BitNummer funktioniert es in Step7 so nicht.
    Du hättest nun die Möglichkeit es funktionell und/oder schön zu machen.

    Funktionell (aber nicht schön und auch nicht zukunftssicher) wäre :
    Code:
    L #meineEingangsVariable
    T LW0
     
    U L1.0
    = #Out_Bit0
    U L1.1
    = #Out_Bit1
     
    usw.
    Es ist so deshalb kritisch, weil du den Lokaldatenbereich direkt adressierst - das sollte man, wo es eben geht, vermeiden.

    Schön wäre, du legst im Lokaldatenbereich deines FC/FB eine Struktur mit Bits an, die dem Aufbau deiner Eingangsvariablen entspricht. Auf die transfrierst du dann dieselbe :
    Code:
    LAR1 p#meineStruktur
    L #meineEingangsVariable
    T W [AR1, p#0.0]
     
    U meineStruktur.Bit0
    = #Out_Bit0
     
    usw.
    Gruß
    Larry

  6. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    Deimos0815 (15.08.2011)

  7. #5
    Registriert seit
    11.08.2011
    Beiträge
    32
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Super, danke schonmal wieder. Mit der direkten Adressierung ist mir bewusst, allerdings darf sich dort nichts ändern, da dann alles steht. Die Steuerungen läuft schon so auf den Maschienen und auch die DB`s werden durch die Quellen immer nach dem selben Schema erstellt. Aber eine Frage hab ich noch für ganz Blöde.

    T LW0

    Wird in der Zeile wieder ein Merkerdoppelwort benutzt ?

    Danke schonmal

    Gruß

  8. #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

    LW = LokalesWort (variable im temp-bereich)
    .
    mfg Volker .......... .. alles wird gut ..

    =>Meine Homepage .. direkt zum Download

    Meine Definition von TIA: Total Inakzeptable Applikation

  9. #7
    Registriert seit
    11.08.2011
    Beiträge
    32
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    So ein letztes Mal fragen muss ich noch.
    Code:
    L     #Set_a
    T     #Temp_Set_
     
    U     L1.0
    Dieses L1.0 ist das das erste Bit des Temp. Speichers oder wie kann ich das Verstehen.


    Danke schonmal im Vorraus

  10. #8
    Registriert seit
    06.10.2009
    Ort
    NRW
    Beiträge
    1.572
    Danke
    63
    Erhielt 259 Danke für 219 Beiträge

    Standard

    Im Prinzip kannst Du das Lokalwort wie ein Merkerwort behandeln, zumindest was die Operationen damit angeht. Der Unterschied ist halt nur, dass das Lokalwort eine TEMP-Variable ist.
    Du solltest aber wirklich die Variante von Larry (mit dem AR1) nutzen. Wenn in dem Baustein mal TEMP-Variablen deklariert werden, geht das mit T LW0 in die Hose...
    Meine Motivation läuft nackig mit einem Cocktail über eine Wiese.

  11. #9
    Registriert seit
    11.08.2011
    Beiträge
    32
    Danke
    3
    Erhielt 1 Danke für 1 Beitrag

    Standard

    An eine nachträgliche Änderung der Temp Ordung hatte ich noch garnicht gedacht. Leider kenne ich mit der von Larry beschriebenen zweiten Methode nicht aus. Kennt jemand vll ein Tutorial wo die Verwendung von Pointer beschrieben ist oder kann mir auch den Text kommentieren?

    Danke mal wieder im Vorraus

  12. #10
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren

Ähnliche Themen

  1. Bitmuster Puzzel
    Von doelckenbeck im Forum Programmierstrategien
    Antworten: 10
    Letzter Beitrag: 09.08.2010, 10:19
  2. Bitmuster
    Von AdrianS im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 06.10.2007, 15:23
  3. INT-Zahl in eine S5T#-Zahl umwandeln ?
    Von Stefan B. im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.03.2006, 22:40
  4. 5-stellige ascii zahl in normale zahl umwandeln
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 04.01.2006, 16:12
  5. Antworten: 4
    Letzter Beitrag: 23.04.2004, 13:26

Stichworte

Lesezeichen

Berechtigungen

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