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

Ergebnis 1 bis 7 von 7

Thema: Byteswap mit Blkmov

  1. #1
    Registriert seit
    30.07.2014
    Beiträge
    289
    Danke
    66
    Erhielt 33 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich verwende in meinem Programm den Blkmov Baustein. Da ich technologieübergreifend agiere, muss ich zwischen einer CodeSys-Steuerung und einer Siemens Steuerung Daten schieben(allerdings hatte ich keine CodeSys-Steuerung auf der Gegenseite erwartet, muss also mein Programm nachträglich anpassen...).

    Ist es mir iwie möglich, einfach die Byteorder zu drehen? Da ich digitale Befehle durchreiche, wäre es natürlich schön, wenn ich das ohne großartige Verschiebung der Einzelbits machen könnte.

    Vielen Dank im Voraus für alle hilfreichen Antworten!
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.
    Zitieren Zitieren Byteswap mit Blkmov  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    BLKMOV kopiert einfach nur jedes Byte im angegebenen Bereich, der vertauscht nichts.
    Du mußt jedes Wort/Doppelwort einzeln anfassen.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Münchnerjunge (10.06.2015)

  4. #3
    Avatar von Münchnerjunge
    Münchnerjunge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.07.2014
    Beiträge
    289
    Danke
    66
    Erhielt 33 Danke für 19 Beiträge

    Standard

    Danke für die schnelle Antwort!

    Dann müsste ich mir wohl einen kleinen Baustein schreiben um die Byteorder zu drehen. Hat jmd ne Idee, wie ich das auf die schnelle hinbekomme? Gerne mittels SCL. Ich möchte ungern jedes Byte einzeln anfassen, da hab ich nen halben Tag zu tun..
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.

  5. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Wegen "TIA" - was ist das für eine CPU?
    Wie lang ist der Bereich, der gedreht werden soll?
    Wie sollen die Bytes vertauscht werden, nur die zwei Bytes eines Words?

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #5
    Avatar von Münchnerjunge
    Münchnerjunge ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.07.2014
    Beiträge
    289
    Danke
    66
    Erhielt 33 Danke für 19 Beiträge

    Standard

    Ne 315er PN/DP. Hatte ich ganz vergessen.
    Genau, es soll immer das Highbyte mit dem Lowbyte getauscht werden. Es handelt sich meist um 10-40 Bytes, wobei das ganze mehrfach aufgerufen wird.
    Freundliche Grüße aus München, der Stadt mit Herz


    There are 2#10 kinds of people, those who do the work & those who take the credit.

  7. #6
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.334
    Danke
    27
    Erhielt 129 Danke für 116 Beiträge

    Standard

    Ach das ist das Problem mit Intel / Motorola Format!

    Bei Step 7 Classic würde es den TAD Befehl geben um dies zu bewerkstelligen (32 Bit ...)
    Musst halt ggf. dies über den Datenbereich welchen du überträgst entsprechend anwenden!

    Bzw. bei 16 Bit ggf. TAW

    Vermute einmal es wird etwas ähnliches bei TIA geben ...
    Geändert von Boxy (10.06.2015 um 10:54 Uhr)

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  8. #7
    Registriert seit
    21.11.2014
    Beiträge
    228
    Danke
    7
    Erhielt 30 Danke für 28 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    In SCL gibts die Funktion Swap()

    "Tag_Result" := SWAP("Tag_Value"); (aus der Hilfe Kopiert)

    in AWL gibt es nach wie vor CAD und CAW bzw bei deutscher Mnemonik TAD und TAW

Ähnliche Themen

  1. BLKMOV mit großen Datenmengen
    Von thommymalta im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 30.11.2015, 20:35
  2. Step 7 BLKMOV mit Pointer für STRING in SCL
    Von patteb im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 04.03.2015, 20:07
  3. DBs mit SFC20 BLKMOV kopieren
    Von Lenni im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 07.02.2012, 22:33
  4. Problem mit BLKMOV
    Von dasgrundprinzip im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 09.10.2009, 11:53
  5. BLKMOV in FB mit variabler Ansteuerung
    Von Knut333 im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 27.01.2009, 08:53

Lesezeichen

Berechtigungen

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