TIA Bitweiser Zugriff

qpec_hagen

Level-1
Beiträge
105
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
gibt es eine Möglichkeit, symbolisch auf einzelne Bits in einem Int oder auch Dint zuzugreifen? Sprich ich habe die Variable Test vom Typ Int und möchte auf das nullte Bit symbolisch zugreifen. Bei anderen Steuerungen kann man dann zb "Test.1" im Programm nutzen. Hat Siemens das mittlerweile auch hinbekommen?

LG Manu
 
Nur per umkopieren auf "Schmiermerker" bzw. eine Struktur in TEMP oder Merker oder DB. Oder Maskieren mit WAND_W, doch dazu muß man wegen der Typprüfung auch auf eine WORD/DWORD-Variable kopieren.

Was soll das überhaupt bringen, auf einen INT oder DINT bitweise zuzugreifen? Ist die Deklaration der Variable so korrekt? Willst Du das Vorzeichen pos/neg wissen oder ob die Zahl gerade/ungerade ist?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Gibt es keine Möglichkeit im FUP mit einer 300er CPU?

Da es das mit Step7 V5 nicht gibt, geht es auch nicht mit V12. Und selbst mit V13 wird das nicht gehen.

Laut Kundenbetreuung, darf Step7 jenseits von V10.0 nichts auf eine 300/400 legen, was ein Step7 V5 nicht auch könnte. Nehmen wir mal an -- so für Spaß -- es gibt einen AWL-Code, der den bei 1200/1500 vorhandenen Test.X0 abbildet und V12 würde dieses Programm auf eine 300 oder 400 laden. Auf einer 300 oder 400 gibt es ja nur eine rudimentäre Quellinformation. Das KOP/FUP/AWL wird durch einen Disassembler vom MC7 zurück in AWL/FUP/KOP gewandelt. Deswegen gehen dir Kommentare und Parameternamen verloren. Das ist so, als ob man vom EXE zurück zum C++ kommt. Im EXE stehen eben keine Variablennamen drin, nur Adressen. Ein PDB-File gibt es nicht. Also mit viel Disassembler und noch mehr Intuition bekommt man schon was raus, das muss aber nichts dem ursprünglichen C++ entsprechen. Ins besonders dann nicht, wenn das stark optimiert wurde.
Bei Step7 V5 wird aus einem FUP mit zwei geschachtelten zweibeinigen UND eines mit drei Inputs. Das wird mir seit 10 Jahren als Optimierung verkauft.

Nochmal, angenommen du legst mit Step7 V12 ein KOP mit Test.X0 auf die 300. Und jetzt gehst du mit Step7 V5 ran und lädst diesen Baustein mittels Simatic Manager in ein V5-Projekt und öffnest den Baustein. Sowas hat der Disassembler nach KOP Wandler noch nie gesehen. Wenn es gut geht, dann bekommst du ganz seltsames AWL mit viel BLD drin, und wenn es für Siemens blöd läuft, dann mach der Editor (wie hieß er doch noch gleich s7kafapx.exe) die Grätsche und wird wegen allgemeiner Speichschmutzverhuntzung von Windows aus dem Speicher entfernt.

Fazit: keine Neuigkeiten der 1200/1500 für die 300/400.

'n schön' Tach auch
HB
 
Zurück
Oben