Ich habe mir eine Struct erstellt, die mehrere BOOL enthaelt. In der Globalen Variablenliste hab ich mir dann eine Variable davon erstellt, und möchte den Elementen jetzt Ein-, bzw. Ausgänge zuweisen, jedoch der Kompiler meckert "Erwarte ':' vor '.' ".
Geht das überhaupt?
Struktur:
TYPECompIO:STRUCTÂ Â ErrorLP:BOOL;Â Â ErrorHP:BOOL;END_STRUCTEND_TYPE
Variablenliste:
  CompInOut:CompIO;  CompInOut.ErrorLPAT%IX0.0.0:BOOL;
Danke
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ich sehe da zwei Möglichkeiten, die zwar nicht genau das machen, was Du wolltest, aber zumindest einen guten Workaround darstellen:
  CompInOutAT%IB0:CompIO;
Damit adressierst Du zwar die Bits nicht direkt einzeln, aber eben byte-weise ab der entsprechenden Anfangsadresse.
Genau so kann man die so genannte VAR_CONFIG verwenden. Sprich Du deklarierst die Variable im eigentlichen Programmbaustein nur "ansatzweise", und definierst dann in der entsprechenden VAR_CONFIG-Deklarations, welchen Adressbereich Du damit nutzen möchtest:
  CompInOutAT%I*:CompIO;
VAR_CONFIGÂ Â PLC_PRG.CompInOutAT%IB0:CompIO;END_VAR
In beiden Fällen kannst Du die Verknüpfung zum Adressabbild aber erst einmal nur byte-weise vornehmen, die eigentlichen Bits sind aber wieder wie gehabt über %IX0.0 adressierbar. Allerdings kannst Du eben die Zuordnung nicht manuell verändern, d.h. Bit0 ist eben auf %IX0.0, Bit1 ist auf %IX0.1 uns so weiter.
Die VAR_CONFIG-Methode bietet sich dann an, wenn der gleiche Code in einem FB durch verschiedene FB-Instanzen für unterschiedliche physikalische Adressen verwendet werden soll.
Ich hoffe, das hilft Dir weiter!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Ich habe mir eine Struct erstellt, die mehrere BOOL enthaelt. In der Globalen Variablenliste hab ich mir dann eine Variable davon erstellt, und möchte den Elementen jetzt Ein-, bzw. Ausgänge zuweisen, jedoch der Kompiler meckert "Erwarte ':' vor '.' ".
Geht das überhaupt?
Struktur:
Variablenliste:
Danke
Hallo,
ich sehe da zwei Möglichkeiten, die zwar nicht genau das machen, was Du wolltest, aber zumindest einen guten Workaround darstellen:
Damit adressierst Du zwar die Bits nicht direkt einzeln, aber eben byte-weise ab der entsprechenden Anfangsadresse.
Genau so kann man die so genannte VAR_CONFIG verwenden. Sprich Du deklarierst die Variable im eigentlichen Programmbaustein nur "ansatzweise", und definierst dann in der entsprechenden VAR_CONFIG-Deklarations, welchen Adressbereich Du damit nutzen möchtest:
In beiden Fällen kannst Du die Verknüpfung zum Adressabbild aber erst einmal nur byte-weise vornehmen, die eigentlichen Bits sind aber wieder wie gehabt über %IX0.0 adressierbar. Allerdings kannst Du eben die Zuordnung nicht manuell verändern, d.h. Bit0 ist eben auf %IX0.0, Bit1 ist auf %IX0.1 uns so weiter.
Die VAR_CONFIG-Methode bietet sich dann an, wenn der gleiche Code in einem FB durch verschiedene FB-Instanzen für unterschiedliche physikalische Adressen verwendet werden soll.
Ich hoffe, das hilft Dir weiter!