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

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 47

Thema: Zerlegen eines DWORD in BYTE und wieder zusammensetzen

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK, weil Atlas anscheinend schon ins Bett gegangen ist, verrate ich schnell noch das Zusammensetzen:
    Code:
          L     #B1
          SLD   8
          L     #B2
          OD
          SLD   8
          L     #B3
          OD
          ...
          L     #B4
          OD
          T     #DW_Out
    Wichtig: ODER - nicht UND!
    (@Ralle: +D funktioniert natürlich auch, ist aber für den Datentyp eigentlich nicht zulässig)

    Um wenn es ganz effizient sein soll, dann kannst Du (Atlas) mal hier drüber nachdenken:
    Code:
    // Zerlegen
          L     #DW_In      // 1234
          T     #B4
          TAW               // 1243
          T     #B3
          TAD               // 3421
          T     #B1
          TAW               // 3412 
          T     #B2
    
    // Zusammensetzen
          L     #B2         // 0002
          TAW               // 0020
          L     #B1
          OD                // 0021
          TAD               // 1200 
          L     #B3
          OD                // 1203
          TAW               // 1230
          L     #B4
          OD                // 1234
          T     #DW_Out
    Gute Nacht
    Harald
    Geändert von PN/DP (28.09.2010 um 01:22 Uhr) Grund: Mift! muss im ersten Beispiel natürlich 2x SLD heißen statt SRD
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  2. Folgende 3 Benutzer sagen Danke zu PN/DP für den nützlichen Beitrag:

    Paule (28.09.2010),rostiger Nagel (28.09.2010),vecoplaner (28.09.2010)

  3. #12
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Um wenn es ganz effizient sein soll, dann kannst Du (Atlas) mal hier drüber nachdenken:
    Code:
    // Zerlegen
          L     #DW_In      // 1234
          T     #B4
          TAW               // 1243
          T     #B3
          TAD               // 3421
          T     #B1
          TAW               // 3412 
          T     #B2
    
    // Zusammensetzen
          L     #B2         // 0002
          TAW               // 0020
          L     #B1
          OD                // 0021
          TAD               // 1200 
          L     #B3
          OD                // 1203
          TAW               // 1230
          L     #B4
          OD                // 1234
          T     #DW_Out
    Gute Nacht
    Harald
    Das gefällt mir, wird aber sicher,wenn im Code genutzt, immer wieder mal zu Fragen von Kollegen führen.

    @PN/DP
    Das mit dem +D stimmt, aber es ist spät
    Geändert von Ralle (28.09.2010 um 01:17 Uhr)
    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

  4. #13
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Um wenn es ganz effizient sein soll, dann kannst Du (Atlas) mal hier drüber nachdenken:
    Code:
    // Zerlegen
          L     #DW_In      // 1234
          T     #B4
          TAW               // 1243
          T     #B3
          TAD               // 3421
          T     #B1
          TAW               // 3412 
          T     #B2
     
    // Zusammensetzen
          L     #B2         // 0002
          TAW               // 0020
          L     #B1
          OD                // 0021
          TAD               // 1200 
          L     #B3
          OD                // 1203
          TAW               // 1230
          L     #B4
          OD                // 1234
          T     #DW_Out
    Gute Nacht
    Harald


    Ist das genial,
    ich habe das jetzt nicht probiert, aber ich glaube Dir dass es so funktioniert.

    Ich würde mich zwar selber Ohrfeigen wenn ich das mal später ohne Kommentar bei mir sehen würde, aber wie gesagt "Klasse"
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  5. #14
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    aber es ist spät
    Stimmt, ich mache auch nicht mehr alles gleich richtig.
    Also Computer ZU.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #15
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Stimmt, ich mache auch nicht mehr alles gleich richtig.
    Also Computer ZU.

    Gute Nacht
    Harald
    nasch dir noch einen, dann schreibste och son scheiß wie ich...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #16
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Nagut,
    Moin Paule!

    Was glaubst Du, warum ich für die paar Zeilen einen kurzen Kommentar dranstehen habe?
    Ich werde älter und müsste in einem Jahr ohne Kommentar auch länger drüber nachdenken.
    Bei meinen Programmen ist meistens die Erklärung viel länger als der Code.

    und 4L:
    meinst Du mit Scheiß etwa die indirekte Adressierung?!

    Aber jetzt wirklich Gute Nacht!!!
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  8. #17
    Atlas ist offline Benutzer
    Themenstarter
    Registriert seit
    28.06.2007
    Beiträge
    63
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Guten Morgen!

    Danke für die Unterstützung!

    Habe eben die Vorschläge von Ralle in die Steuerung geladen...

    http://sps-forum.de/showpost.php?p=283395&postcount=9
    http://sps-forum.de/showpost.php?p=283395&postcount=10

    Das scheint zu funktionieren!


    Der Vorschlag von PN/DP ist mir so früh am Morgen noch nicht verständlich aber er scheint auf die schnelle auch zu funktionieren.

    Danke an alle!!


    PS:
    Mit REAL funkitioniert das ganze genauso. Super!

    Code:
    L REAL_Zahl
    T #DW_In
    
    // Zerlegen
    // ...
    
    // Zusammensetzen
    // ...
    
    L #DW_Out
    T REAL_Zahl
    Geändert von Atlas (28.09.2010 um 06:09 Uhr)

  9. #18
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.207
    Danke
    927
    Erhielt 3.293 Danke für 2.662 Beiträge

    Standard

    Zitat Zitat von Atlas Beitrag anzeigen
    PS:
    Mit REAL funkitioniert das ganze genauso. Super!

    Code:
    L REAL_Zahl
    T #DW_In
    
    // Zerlegen
    // ...
    
    // Zusammensetzen
    // ...
    
    L #DW_Out
    T REAL_Zahl
    Guten Morgen!
    Mal eine Frage: wozu soll dieses Zerlegen eines REAL in 4 BYTE gut sein?
    (man kann natürlich jeden 32-Bit-Datentyp in 4 Byte zerlegen)
    Die 4 Bytes haben dann einen völlig unauswertbaren Inhalt und eignen sich nur zum wieder Zusammensetzen.
    Was willst Du damit erreichen? In Dezimalziffern zerlegen?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. #19
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Guten Morgen!
    Mal eine Frage: wozu soll dieses Zerlegen eines REAL in 4 BYTE gut sein?
    (man kann natürlich jeden 32-Bit-Datentyp in 4 Byte zerlegen)
    Die 4 Bytes haben dann einen völlig unauswertbaren Inhalt und eignen sich nur zum wieder Zusammensetzen.
    Was willst Du damit erreichen? In Dezimalziffern zerlegen?

    Harald
    mögliche anwendung: bytweise versenden ... über nen cp341 z.b.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  11. #20
    Registriert seit
    19.11.2008
    Ort
    Schweigen am Weintor
    Beiträge
    707
    Danke
    191
    Erhielt 161 Danke für 92 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    moin
    wenn ihr grad so schön dabei seid *grins*

    ich grübel seit lägerem ab und zu mal darüber 16 bit´s zu einem word zu machen... bisher is mir nichts gescheites dazu eingefallen

    wie würde das denn gehn *ganz lieb schau*

Ähnliche Themen

  1. Quersumme eines Byte,WORD,DWORD
    Von Susi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.04.2011, 16:19
  2. Auslesen eines Byte aus einem DWORD (SCL)
    Von tahren im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 18.06.2010, 12:01
  3. DWORD to Byte
    Von hank12 im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 05.05.2009, 07:44
  4. byte in word / dword umwandeln
    Von Gerri im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 03.07.2008, 14:31
  5. Dword zu Byte, oder ähnlich....
    Von Anonymous im Forum PC- und Netzwerktechnik
    Antworten: 2
    Letzter Beitrag: 11.11.2005, 10:56

Lesezeichen

Berechtigungen

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