-> Hier kostenlos registrieren
Hallo Zusammen,
wieder mal ein Problem mit meinem Array. Folgendes habe ich definiert:
Hier kommt ein Beispiel für einen der Sub-Recs:
Dann habe ich darüber ein Array gelegt:
Jetzt wollte ich bereits bei der Programminitialisierung ein paar dieser VARs Werte verpassen, in etwa so:
Hier laufe ich allerdings immer auf eine Fehlermeldung a la "Falsche Zuweisung".
Kann mir jemand sagen, warum?
Danke!
Gruss
Majaestix
wieder mal ein Problem mit meinem Array. Folgendes habe ich definiert:
Code:
TYPE raffstore_rec :
STRUCT
input : blind_input_rec;
scene : blind_scene_rec;
shade : blind_shade_rb_rec;
dark : blind_dark_rb_rec;
set : blind_set_rec;
security : blind_security_rb_rec;
control : blind_control_rec;
alarm_direction : alarm_rec;
END_STRUCT
END_TYPE
Hier kommt ein Beispiel für einen der Sub-Recs:
Code:
TYPE blind_input_rec :
STRUCT
(* Eingaenge *)
in_pos : BYTE; (* Rückführung der Jalousiestellung *)
in_ang : BYTE; (* Rückführung der Lamellenwinkels *)
in_s1 : BOOL; (* Eingang AUF *)
in_s2 : BOOL; (* Eingang AB *)
in_in : BOOL; (* Gesteuerter Betrieb wenn TRUE *)
in_pi : BYTE; (* Position wenn IN = TRUE *)
in_ai : BYTE; (* Winkel wenn IN = TRUE *)
(* Setup *)
set_single_switch : BOOL := FALSE; (* TRUE für Einzeltasterbetrieb *)
set_click_en : BOOL := FALSE; (* TRUE für Single Klick Mode *)
set_click_time : TIME := T#500ms; (* Timeout für Klick Erkennung *)
set_max_runtime : TIME := T#60s; (* Timeout für eine Bewegung *)
set_manual_timeout : TIME := T#14h; (* Timeout des Handbetriebs Vorgabe 1h*)
set_debounce_time : TIME := T#20ms; (* Entprellzeit für die Eingänge S *)
set_dbl_click1 : BOOL := FALSE; (* bei Doppelklick Position anfahren wenn TRUE *)
set_dbl_pos1 : BYTE; (* Position bei S1 Doppelklick *)
set_dbl_ang1 : BYTE; (* Winkel bei S1 Doppelklick *)
set_dbl_click2 : BOOL := FALSE; (* bei Doppelklick Position anfahren wenn TRUE *)
set_dbl_pos2 : BYTE := 255; (* Position bei S1 Doppelklick *)
set_dbl_ang2 : BYTE := 255; (* Winkel bei S2 Doppelklick *)
set_d1_toogle : BOOL := TRUE; (* Toggle Modus für D1 *)
set_d2_toogle : BOOL := TRUE; (* Toggle Modus für D2 *)
set_master_mode : BOOL; (* aktiviert den Master Mode wenn TRUE *)
(* Output *)
out_qu : BOOL; (* Motor AUF Signal *)
out_qd : BOOL; (* Motor AB Signal *)
out_status : BYTE; (* ESR kompatibler Status Ausgang *)
out_po : BYTE; (* Ausgang Position *)
out_ao : BYTE; (* Ausgang Winkelstellung *)
out_d1 : BOOL; (* Kommandoausgang für Doppelklick Funktion 1 *)
out_d2 : BOOL; (* Kommandoausgang für Doppelklick Funktion 2 *)
END_STRUCT
END_TYPE
Dann habe ich darüber ein Array gelegt:
Code:
rs_rec : ARRAY[1..11] OF raffstore_rec;
Jetzt wollte ich bereits bei der Programminitialisierung ein paar dieser VARs Werte verpassen, in etwa so:
Code:
rs_rec : ARRAY[1..11] OF raffstore_rec :=
(* 01 *) (input.in_s1 := true),
(* 02 *) (),
(* 03 *) (),
(* 04 *) (),
(* 05 *) (),
(* 06 *) (),
(* 07 *) (),
(* 08 *) (),
(* 09 *) (),
(* 10 *) (),
(* 11 *) ();
Hier laufe ich allerdings immer auf eine Fehlermeldung a la "Falsche Zuweisung".
Kann mir jemand sagen, warum?
Danke!
Gruss
Majaestix