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

Seite 5 von 7 ErsteErste ... 34567 LetzteLetzte
Ergebnis 41 bis 50 von 70

Thema: INT konvertieren in Booleans

  1. #41
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @R.Blum
    Nicht das ich den Befehl SPL nicht kennen würde,
    ich verwende den gelegentlich, oder ziemlich häufig bei Schrittketten.

    Inwiefern mir SPL jetzt bei diesem "speziellen" Problem helfen sollte, ist mir irgendwie nicht klar.

    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).

  2. #42
    Registriert seit
    18.10.2007
    Beiträge
    127
    Danke
    1
    Erhielt 15 Danke für 13 Beiträge

    Standard

    Mit dem Befehel SPL ist es doch einfach möglich, anhand des INT Wertes eine Sprungmarke anzuspringen, die dann auf eine Konstante zeigt und mit einem weiteren Sprung das gewünschte Bitmuster ausgibt.

  3. #43
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    das stimmt wohl. Ist aber in diesem konkreten Fall sinnlos weil die Konstante dem Wert enspricht mit dem über SPL gesprungen wird. Und um diesen Wert dann auf einzelne Bits auszugeben muss man ihn trotzdem "zerpflücken".

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Spl  

  4. #44
    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

    Coole Sache,
    du meinst das so wie ich mir das vorgestellt habe.

    Aus ca. 6 Netzwerken, machst du also ca. 35 Netzwerke.

    Das nennt man dann speichereffiziente Programmierung ?

    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).

  5. #45
    Avatar von Reto
    Reto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.10.2006
    Beiträge
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    OK ... dachte schon, ich sei der einzige, der nicht gestiegen ist ^^
    Aber vieleicht haben wir auch was übersehen ... lassen wir uns doch mal überraschen

  6. #46
    Registriert seit
    18.10.2007
    Beiträge
    127
    Danke
    1
    Erhielt 15 Danke für 13 Beiträge

    Standard

    // Integerwert laden der zu einem x-beliebigen Bitmuster zerlegt werden soll
    L MW 10
    // Über die Sprungleiste wird zu dem auszugebenden Bitmuster verzweigt
    SPL Ende
    SPA x000
    SPA x001
    SPA x002
    SPA x003
    // und hier alle anderen 4..29
    SPA x030
    SPA x031
    Ende: SPA x000
    // Bitmuster laden welches abhängig vom Intergerwert ausgegeben werden soll
    x000: L 2#0
    SPA Out
    x001: L 2#1
    SPA Out
    x002: L 2#10
    SPA Out
    x003: L 2#11
    SPA Out

    // Hier gehören alle anderen (4 ..29) Bitmuster hin

    x030: L 2#11110
    SPA Out
    x031: L 2#11111
    SPA Out
    // Ausgabe des Bitmusters
    Out: T AB 10

    Oder noch einfacher:

    L MB10
    T AB10

    Dann kann man das Bitmuster natürlich nicht anpassen

    Wenn die restlichen Bits bereits verwendet wurden gehts beispielsweise so:

    L AB10
    L 2#11100000
    UW
    T #Speicher

    L MB10
    L 2#11111
    UW
    l #Speicher
    OW
    T AB10

    Das masieren Des MB 10 kann man sich sparen, wenn sichergestellt ist, dass die restlichen Bits 0 sind.

    durch schieben und entsprechdendes maskieren läßt sich so jede gewünscht Bitkonstellation verarbeiten.


    MfG
    Rolf
    Zitieren Zitieren SPL 35 Netzwerke, Wieso? Ein einziges reicht  

  7. #47
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo Rolf,

    bitte mal das Ausgangsposting lesen. Es soll ein Baustein sein wo als Eingang 1 INT ist und als Ausgang 5 BOOL dranstehen.

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Beispiel  

  8. #48
    Registriert seit
    18.10.2007
    Beiträge
    127
    Danke
    1
    Erhielt 15 Danke für 13 Beiträge

    Standard

    Also bei allem Respekt,

    es geht hier um Lösungsansätze. Es wurden bereits Anregungen gegeben, ein wenig eigener Gehinschmalz schadet auch nicht.

    Ob das Ergebnis nun direkt in einem AB steht oder wie im 9. Post von MSB
    kombiniert wird, bleibt doch jedem selbst überlassen.

    Die elegante Möglichkeit die Internetgemeinschaft zu befragen und an Lösungen für diverse Probleme zu kommen gab es zu meiner Zeit noch nicht. Da durfte man sich die Würmer selbst aus der Nase ziehen.

    Wenn man dann sein Wissen an Kollegen weitergibt und zu hören bekommt
    Zitat" Wie kommt man nur auf so was", merkt man, dass sich das Gegenüber kaum bis garkeine Gedanken gemacht hat.

    MfG
    Rolf

  9. #49
    Avatar von Reto
    Reto ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.10.2006
    Beiträge
    158
    Danke
    16
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wenn ich dein Ansatz richtig verstanden hab, setzt du immer alle Ausgänge auf einmal (z.B. 2#10010).
    Wenn ich mich nicht irre, geht dies aber nur, wenn man z.B. ein Merkerwort beschreibt ... da würde aber auch ein direkter Bit-Zugriff funktionieren ...
    Gekappselt in einem FC kann ich ja keine Bits direkt aus einem Byte erreichen.

    ODer nicht ?

  10. #50
    Registriert seit
    18.10.2007
    Beiträge
    127
    Danke
    1
    Erhielt 15 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sicher, ich beschreibe ein Merkerbyte, oder auch -Wort oder Doppelwort, das ist schon richtig, kann aber genauso gut im Ausgangs oder Datenbereich liegen.

    Für die ursprüngliche Aufgabenstellung ist es schon richtig, dass man die Bits wieder zerpflücken muss. Hierzu habe ich ja auf das Posting #9 von MSB verwiesen.

    Man kann aber über Pointeradressierung, hier gibt es verschiedene Arten, Bits einzeln ansprechen. Hierzu mal die Onlinehilfe zu Rate ziehen.

    In diesem speziellen Fall 5 x Out auf BOOL aber nicht praktikabel.

    Pointerartihmetik ist übrigens in der Onlinehilfe schön beschrieben.
    Da gibt es die Varianten mit fertigem Any-Pointer als Quelle oder Ziel
    und die entgegengesetzte Seite wird zusamenngebaut.
    Für mich recht anschaulich, so hab ichs jedenfalls gelernt. Muss jeder für sich entscheiden ob mans mag oder nicht.
    Bei Programmierfehlern kann es jedoch kräftig hageln, weil man das kaum wiederfinden kann, Querverweise gibt es ja keine, da alles berechnet wird.

    Mfg
    Rolf

Ähnliche Themen

  1. S5 in S7 konvertieren
    Von reekoh im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 02.10.2010, 15:32
  2. S5 konvertieren
    Von geduldiger im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.05.2007, 10:12
  3. s5 => S7 konvertieren
    Von mega_ohm im Forum Simatic
    Antworten: 39
    Letzter Beitrag: 15.02.2007, 15:11
  4. AWL alt in S5 od. S7 konvertieren
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 19.10.2005, 12:51
  5. CPM konvertieren
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 30.08.2005, 08:43

Lesezeichen

Berechtigungen

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