MFreiberger
Level-3
- Beiträge
- 2.869
- Reaktionspunkte
- 760
-> Hier kostenlos registrieren
Moin Zusammen,
ich möchte gerne das Statuswort eines SEW-Antriebs bearbeiten (Bytes tauschen, da die MoviPLC die Daten für Intel/Rockwell interpretiert und ich das ohne Programmierung nicht umstellen kann).
Das Statuswort (STAW) besteht ja aus einem Byte "Code" und einem bitaufgelösten Anteil. Jetzt wollte ich einfach die Bytes mit dem Slice-Zugriff tauschen.
Leider funktioniert das nicht wie gewünscht. Die Zwischenzeilen (Byte=>Byte und Bool=>Bool) habe ich nachträglich zur Analyse eingefügt.
Die Variable Tw_SWAP verwende ich mehrfach, aber das sollte doch kein Problem darstellen? Immerhin beschreibe ich sie ja vorher mit dem STAW.
Hat dazu Jemand eine Idee oder eine Anregung, wie ich das eleganter lösen kann?
Weil wir sonst eine CCU verwenden, die die Daten für Motorola/SIEMENS interpretiert, haben wir hier einen fertigen Datentypen hinterlegt und wir arbeiten mit optimierten DBs. Ich möchte die Struktur nur für das eine Projekt nicht aufbrechen. Das muss doch auch so gehen?!
EDIT: Es funktioniert bei mir erstmal so, dass ich im Slice-Zugriff die Datentypen nicht kombinieren kann:
%b0, %x0, %x1, %x2, %x3, %x4, %x5, %x6, %x7 auf
%b1, %x8, %x9, %x10, %x11, %x12, %x13, %x14, %x15
funktioniert nicht.
Allerdings ist es komisch, dass in meiner Zeile "#Tw_SWAP.%B0 := #Tw_SWAP.%B0;" die Daten der Zuweisung aus einem Bereich VOR meinem Code enthält (16#20).
Ich hätte erwartet, dass hier 16#86 drin stehen muss.
VG
MFreiberger
ich möchte gerne das Statuswort eines SEW-Antriebs bearbeiten (Bytes tauschen, da die MoviPLC die Daten für Intel/Rockwell interpretiert und ich das ohne Programmierung nicht umstellen kann).
Das Statuswort (STAW) besteht ja aus einem Byte "Code" und einem bitaufgelösten Anteil. Jetzt wollte ich einfach die Bytes mit dem Slice-Zugriff tauschen.
Leider funktioniert das nicht wie gewünscht. Die Zwischenzeilen (Byte=>Byte und Bool=>Bool) habe ich nachträglich zur Analyse eingefügt.
Die Variable Tw_SWAP verwende ich mehrfach, aber das sollte doch kein Problem darstellen? Immerhin beschreibe ich sie ja vorher mit dem STAW.
Hat dazu Jemand eine Idee oder eine Anregung, wie ich das eleganter lösen kann?
Weil wir sonst eine CCU verwenden, die die Daten für Motorola/SIEMENS interpretiert, haben wir hier einen fertigen Datentypen hinterlegt und wir arbeiten mit optimierten DBs. Ich möchte die Struktur nur für das eine Projekt nicht aufbrechen. Das muss doch auch so gehen?!
EDIT: Es funktioniert bei mir erstmal so, dass ich im Slice-Zugriff die Datentypen nicht kombinieren kann:
%b0, %x0, %x1, %x2, %x3, %x4, %x5, %x6, %x7 auf
%b1, %x8, %x9, %x10, %x11, %x12, %x13, %x14, %x15
funktioniert nicht.
Allerdings ist es komisch, dass in meiner Zeile "#Tw_SWAP.%B0 := #Tw_SWAP.%B0;" die Daten der Zuweisung aus einem Bereich VOR meinem Code enthält (16#20).
Ich hätte erwartet, dass hier 16#86 drin stehen muss.
VG
MFreiberger
Zuletzt bearbeitet: