Blink in Multiinstanz übergeben

All4one

Level-2
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
in einer Multiinstanz habe ich einen Blink-Timer programmiert.Leider blinkt er nicht.
Im Main Program habe ich eine Schleife in dem ich die Multiinstanz aufrufe und in der Blink vorhanden ist.
FOR index:=1 TO 8 DO
multi_instanz(
Start:=nut_state.Taster_Steuerbirne[index], (*Eingang*)
Temperatur_sensor:=nut_state.Temperatur[index], (*Eingang*)
blinker:=nut_state.Blinker[index], (*Eingang*)
);
nut_state.Relais_Kontakt[index]:=multi_instanz.Motor; (*Ausgang*)
nut_state.Leuchtmelder[index]:=multi_instanz.LED; (*Ausgang*)
END_FOR

In der Multiinstanz habe ich den Blinker als :=BLINK deklariert.Jedoch habe ich in meiner Struct "nut_state." den Blinker auch als Blink deklariert.Ich denke da beisst sich was.Nur wo muss ich den Blinker deklarieren.
Bei S7 programmiere un ddeklariere ich einen Timer in der FC und übergebe beim Aufruf eine Nummer [T(n+1) ].
Wie gehts bei Codesys? bzw. wo explizit deklariere ich den Blinker,damit der in der Multiinstanz entsprechend aufgerufen wird?
Danke im voraus ;)
 
Multiinstanz?

Was meinst du denn mit Multiinstanz?
Es sieht so aus als ob dein FB multi_instanz eine "Einzel"-Instanz ist ;), zumindest rufst du immer die gleiche Instanz in deiner Schleife auf.
Dein FB multi_instanz muss als ARRAY instanziert werden:
Code:
multi_instanz:ARRAY [1..8] OF MyFB;
Und in der Schleife dann:
Code:
...
multi_instanz[COLOR=#ff0000][index][/COLOR](
 Start:=nut_state.Taster_Steuerbirne[index],             (*Eingang*)
 Temperatur_sensor:=nut_state.Temperatur[index],     (*Eingang*)
 blinker:=nut_state.Blinker[index],                            (*Eingang*)
 );...
 
Zurück
Oben