ich will in einen FB einige Strukturen definieren. Da ich den Code abkapseln will, möchte ich keine globale Strukturen definieren.
Eine davon soll auch Union sein (2. Aufruf):
TYPEHardKey//GrösseByteSTRUCT
  F1   : BOOL;
  F2   : BOOL;
  F3   : BOOL;
  Home : BOOL;
 F4   : BOOL;
 ESC  : BOOL;
...
END_STRUCTENDTYPETYPEHardKeys_input :
UNION
  raw    : BYTE; Â
  struc      : HardKey_struct;END_UNIONEND_TYPE
Kann jemand helfen - wie ich das lokal deklarieren könnte.
Gibt es vielleicht Doku dazu. Im Moment habe ich nichts gefunden.
Viele Grüße
halo
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Das geht meines Wissens nach nicht. Wo liegt denn daran auch der Vorteil (außer vielleicht Strukturierung von Variablen), wenn Du die Struktur, bzw. deren Variablen nur lokal in einem Baustein verwenden willst?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ich bin jetzt etwas weiter und wie es aussieht grösste Problem ist UNION. Auch global angelegt funktioniert es nicht richtig.
Und zwar Union aus Dword und eine Struktur aus 32 - bits sind ungleich (vermute ich) . Ich habe schon versucht mit die Sache zu berichtigen, leider ohne Erfolg.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-05-16
Originally created by: Bernhard Werner
Hallo,
der Datentyp BOOL hat standardmässig die Grösse 1 Byte! Das ist wichtig, weil das für die Codegenerierung wesentlich performanter ist,
und weil bestimmte Operationen auf Bits gar nicht möglich sind (z.B: POINTER TO BIT).
In Strukturen kann man allerdings genau für diesen Zweck den Datentyp BIT benutzen. Dann sollte das so funktionieren.
Bernhard
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Habe es auch versucht. Keine Chance mit Byte oder Word auf Bool zukommen. Berndhard, weise geht es denn wenn Du schreibst müsste. Ich kann es im Merkerbereich indirekt mappen aber als Typ Union wäre schöner.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich will in einen FB einige Strukturen definieren. Da ich den Code abkapseln will, möchte ich keine globale Strukturen definieren.
Eine davon soll auch Union sein (2. Aufruf):
Kann jemand helfen - wie ich das lokal deklarieren könnte.
Gibt es vielleicht Doku dazu. Im Moment habe ich nichts gefunden.
Viele Grüße
halo
Das geht meines Wissens nach nicht. Wo liegt denn daran auch der Vorteil (außer vielleicht Strukturierung von Variablen), wenn Du die Struktur, bzw. deren Variablen nur lokal in einem Baustein verwenden willst?
Ich bin jetzt etwas weiter und wie es aussieht grösste Problem ist UNION. Auch global angelegt funktioniert es nicht richtig.
Und zwar Union aus Dword und eine Struktur aus 32 - bits sind ungleich (vermute ich) . Ich habe schon versucht mit die Sache zu berichtigen, leider ohne Erfolg.
Originally created by: Bernhard Werner
Hallo,
der Datentyp BOOL hat standardmässig die Grösse 1 Byte! Das ist wichtig, weil das für die Codegenerierung wesentlich performanter ist,
und weil bestimmte Operationen auf Bits gar nicht möglich sind (z.B: POINTER TO BIT).
In Strukturen kann man allerdings genau für diesen Zweck den Datentyp BIT benutzen. Dann sollte das so funktionieren.
Bernhard
Habe es auch versucht. Keine Chance mit Byte oder Word auf Bool zukommen. Berndhard, weise geht es denn wenn Du schreibst müsste. Ich kann es im Merkerbereich indirekt mappen aber als Typ Union wäre schöner.