Step 7 Zugriff auf einzelnes Bit in einem Wort (UDT Aufruf im FC)

FlorianR.

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Mahlzeit,

hoffe mir kann jemand weiterhelfen... (diese Syntax... gnarf xD)

Folgendes Szenario:
Ich schreibe einen Standard FC, der immer wieder mal aufgerufen werden soll, mit anderen Daten.
Der FC greift mittels "In_Out_Variable" auf eine UDT Struktur zu.

In dieser Struktur befindet sich ein Wort, das sich quasi aus einzelnen Bitmeldungen zusammensetzt.
Ich möchte jetzt auf die einzelnen Bits dieses Wortes direkt zugreifen.

Wie genau sieht hierfür die Syntax aus?

ich habe schon:
U #x_udt.Input_Output.I_zsw.

x_udt ist dabei der Aufruf der Struktur
Input_Output eine weitere Struktur im UDT
I_zsw das Wort auf das zugegriffen werden soll

HILFE

Danke schonmal
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Prinzipiell könntest du über das UDT eine Sicht mit AT legen in dem das Wort als Bitarray dargestellt ist. und dann dadrauf zugreifen.

bei der 1500er wiederum gehts auch so
Code:
#wortvariable.%X0 := true;

mfG René
 
Dann wäre noch wichtig zu wissen welche Programmiersprache.
AT geht nur in SCL.

Alternativ könnte man aber mit nem Blockmove die Struktur (oder auch nur das Wort) in ein Temp Boolarray kopieren das array bearbeiten und am ende wieder zurückopieren.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Programmiersprache AWL

Eine Möglichkeit wäre natürlich das Wort auf eine temporäre interne Variable zu legen und auf diese dann zuzugreifen.
Diese Möglichkeit wollte ich aber möglichst vermeiden.^^ Da es ja eigentlich unnötig ist...
 
Da haben wir eben gleichzeitig geschrieben René^^

Diese Möglichkeit wollte ich vermeiden, aber wenns nicht anders geht muss ichs so machen.
 
So...

Vielen Dank für die Mithilfe. :]
Habe mich nun gezwungenermaßen doch für die Variante entschieden, das Wort auf eine temporäres Lokalwort zu schreiben, und diese dann direkt bitweise adressiert.
Hatte gehofft dass das bisschen schöner geht, aber funktioniert so ja auch.
 
Zurück
Oben