-> Hier kostenlos registrieren
Hallo,
ich habe folgendes System:
Wago 753-880 mit Dali Klemme 753-647. Zusätzlich 753-646 (KNX), 750-400 (Digital Input) und 750-501 (Digitaler input, wo zwei Taster dran hängen).
An der Daliklemme sitzen vier EVGs mit Adressen 0-3, mit DaliConfigurator eingestellt.
Mein Programm macht folgendendes:
1. Dalimaster aufrufen
2. Steigende Flanke am Taster erkennen (das funktioniert)
3. In dem Fall vier mal nacheinander den Funktionsblock aufrufen um den einzelnen lampen einen neuen Dimmwert zu übertragen
4. Bei Tastendruck den Dimmwert auf 0/100 wechseln.
Problem:
Ich bin Anfänger in dem Gebiet. Mal schaltet eine Lampe mal nicht, idR nur einzelne. Es scheint der Wago oder Daliklemme zu schnell zu gehen. Mit Debugger konnte ich feststellen, dass der Dalimaster baustein in den ersten ~10 zyklen die Mailbox nicht initialiseren kann. Mache ich es grundsätzlich falsch?
Kann ich pro Zyklus nur eine Lampe ansteuern?
PLC_PRG:
Variablen:
Code:
Der Lampen-Baustein:
Variablen:
Code:
Wäre über Hilfe sehr dankbar!
mfg
Nils
ich habe folgendes System:
Wago 753-880 mit Dali Klemme 753-647. Zusätzlich 753-646 (KNX), 750-400 (Digital Input) und 750-501 (Digitaler input, wo zwei Taster dran hängen).
An der Daliklemme sitzen vier EVGs mit Adressen 0-3, mit DaliConfigurator eingestellt.
Mein Programm macht folgendendes:
1. Dalimaster aufrufen
2. Steigende Flanke am Taster erkennen (das funktioniert)
3. In dem Fall vier mal nacheinander den Funktionsblock aufrufen um den einzelnen lampen einen neuen Dimmwert zu übertragen
4. Bei Tastendruck den Dimmwert auf 0/100 wechseln.
Problem:
Ich bin Anfänger in dem Gebiet. Mal schaltet eine Lampe mal nicht, idR nur einzelne. Es scheint der Wago oder Daliklemme zu schnell zu gehen. Mit Debugger konnte ich feststellen, dass der Dalimaster baustein in den ersten ~10 zyklen die Mailbox nicht initialiseren kann. Mache ich es grundsätzlich falsch?
Kann ich pro Zyklus nur eine Lampe ansteuern?
PLC_PRG:
Variablen:
Code:
PROGRAM PLC_PRG
VAR
Dali_Master:FbMaster753_647;
abIn_753_647 AT %IB0 : ARRAY [0..23] OF BYTE; (*Input array of the DALI Multi-Master Module 753-647 II Eingangdatenarray der DALI-Multi-Master_Klemme 753-647*)
xQuit : BOOL; (*Error message acknowledgement || Quittierung der Störungsmeldung*)
abOut_753_647 AT %QB0 : ARRAY [0..23] OF BYTE; (*Output array of the DALI Multi-Master Module 753-647 II Ausgangdatenarray der DALI-Multi-Master_Klemme 753-647*)
bFeedback : BYTE; (*Code for Feedback II Code für Rückmeldung*)
Lampe:Dali_Switch;
feedback2:BYTE;
Taster AT %IX24.0 : BOOL;
value:REAL;
Trigger:FlipFlop;
END_VAR
Code:
(*Dalimaster starten*)
Dali_Master(
abIn_753_647:=abIn_753_647,
bModule_753_647:=1,
xQuit := xQuit,
abOut_753_647=>abOut_753_647,
bFeedback=>bFeedback
);
Trigger(CLK := Taster);
IF Trigger.Q = TRUE THEN
Lampe(
addr:=0,
wert:=value
);
Lampe(
addr:=1,
wert:=value
);
Lampe(
addr:=2,
wert:=value
);
Lampe(
addr:=3,
wert:=value
);
IF value > 0 THEN
value := 0;
ELSE
value := 100;
END_IF;
END_IF;
Der Lampen-Baustein:
Variablen:
Code:
FUNCTION_BLOCK Dali_Switch
VAR_INPUT
addr: INT;
wert:REAL;
END_VAR
VAR_OUTPUT
END_VAR
VAR
Lampe:FbDaliSendDimmValue;
END_VAR
Code:
Code:
Lampe(
bAddress := INT_TO_BYTE(addr),
xGroup := FALSE,
rDimmValue :=wert,
rHysteresis :=1,
xUpdate :=TRUE,
bModule_753_647:= 1
);
Wäre über Hilfe sehr dankbar!
mfg
Nils