TC3: Bei Deklaration von FB Strukturelement in Unterstruktur vorbelegen

Beiträge
5.659
Reaktionspunkte
1.160
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe in einem FB eine Struktur (CFG) deren Elemente ich gerne bei der Deklaration setzen möchte. Bei einzelnen Variablen (Auch mehreren) klappt das auch. Die folgenden Beispiele funktionieren.
Code:
Heater:ARRAY[1..b8_MaxHeater] OF FB_Temp_Ctrl_1Stage_Pwm:=[b8_MaxHeater((CFG:=(b_Used:=TRUE)))];
Valves:ARRAY[1..b8_MaxValves] OF FB_Valve:=[b8_MaxValves((CFG:=(b_Used:=TRUE, b_Double_HW_Controled:=FALSE, b_Open_Feedback:=FALSE, b_Close_Feedback:=FALSE)))];
Jetzt habe ich aber eine Struktur in der CFG-Struktur von der ich gerne ein Element setzen möchte und das klappt nicht mehr. Ich hatte es ähnlich wie im obigen Beispiel probiert, leider ohne Erfolg. Die folgende Deklaration verursacht TC3 anscheinend mächtige Bauschmerzen, denn es hagelt Fehlermeldungen.
Code:
Heater:ARRAY[1..b8_MaxHeater] OF FB_Temp_Ctrl_1Stage_Pwm:=[b8_MaxHeater((CFG:=(b_Used:=TRUE, st_PID_Output_Limit.r32_Maximum:=20.0)))];
Weiß hier einer Rat?

Gruß

Oliver
 
Heater:ARRAY[1..b8_MaxHeater] OF FB_Temp_Ctrl_1Stage_Pwm:=[b8_MaxHeater((CFG:=(b_Used:=TRUE)))]; ich denke das der Fehler beim fett markierten liegt, du musst me. jedes Feld im Array einzeln zuweisen.
 
ich kanns leider nicht nachstellen da der restliche Code fehlt. Ich denke es ist am besten das Array in einer Loop im Programm zu füllen.
 
das hat mich ja jetzt doch gefuchst weshalb ich ein paar Minuten investiert habe.
Du musst konsequent deine Struktur durchdenken/durcharbeiten. Direkt Komponenten der Strukturen geht nicht.

fb_Start : ARRAY[0..9] OF FB_Test:= [7 (
(CFG:= (bUsed := TRUE,
st_PID_Output_Limit := (r32_Maximum:=20.0))
)
)];

Guga
 
Zurück
Oben