TIA Byteswap mit Blkmov

Münchnerjunge

Level-1
Beiträge
314
Reaktionspunkte
38
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!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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..
 
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
 
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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 ...
 
Zuletzt bearbeitet:
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
 
Zurück
Oben