Note de ce sujet :
  • Moyenne : 5 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Automate WAGO 750-889 KNX
#89
Une petite contribution trouvée dans une des applications notes de Wago Codesys 2.3
Permet l'interfaçage direct en le KNX et DALI comme le ferait une passerelle DALI.

Déclarer une fonction FB par point d'éclairage. 

Code :
FUNCTION_BLOCK FbKNX_DALI_Dim

VAR_INPUT
    bKNX_Master                    : BYTE := 1;
    dwIndex_DPT                    : DWORD;
    typBallast                    : typBallast;
    xOnAndStepUp                    : BOOL;
    xOffAndStepDown                    : BOOL;
    xNightMode                    : BOOL;
    bNightDimmLevel                    : BYTE:= 20;
    typConfigDimmer                    : typConfigDimmer;
END_VAR
VAR_OUTPUT
    rActualLevel                    : REAL;
END_VAR
VAR
    Fb_DaliDimmDoubleButton         : FbDaliDimmDoubleButton;
    Fb_DaliSendDimmValue        : FbDaliSendDimmValue;
    _01_DimmSignal            : FbDPT_Control_Dimming;
    _02_SwitchSignal        : FbDPT_Switch;
    _03_StatusSwitch        : FbDPT_Switch;
    _04_Set_DimmLevel        : FbDPT_Scaling;
    _05_Status_DimmValue        : FbDPT_Scaling_pro;
    typ_ConfigDimmer        : typConfigDimmer;
    typDPT                : typDPT;
    idx1                : DWORD;
    idx2                : DWORD;
    idx3                : DWORD;
    idx4                : DWORD;
    idx5                : DWORD;
    init                : BOOL := TRUE;
END_VAR

Code :
(* calculate logical address of KNX instances if needed *)
IF init THEN
    init:=FALSE;
    IF dwIndex_DPT>0 THEN
        idx1:=(dwIndex_DPT*1000000)+1000;
        idx2:=(dwIndex_DPT*1000000)+2000;
        idx3:=(dwIndex_DPT*1000000)+3000;
        idx4:=(dwIndex_DPT*1000000)+4000;
        idx5:=(dwIndex_DPT*1000000)+5000;
    END_IF
END_IF

(* KNX instance for receiving the KNX dimm up / down command*)
_01_DimmSignal(dwIndex_DPT:=idx1 , bKNX_Master:=bKNX_Master);

(* KNX instance for receiving the KNX on / off command*)
_02_SwitchSignal(dwIndex_DPT:=idx2 , bKNX_Master:=bKNX_Master);

(* Night mode *)
typ_ConfigDimmer := typConfigDimmer;
IF xNightMode THEN
    typ_ConfigDimmer.xSwitchOnLastLevel := FALSE;
    typ_ConfigDimmer.bSwitchOnLevel := bNightDimmLevel;
END_IF

(* KNX instance for receiving the KNX DimmLevel*)
_04_Set_DimmLevel(dwIndex_DPT:=idx4 , bKNX_Master:=bKNX_Master);

(* evaluation of KNX input comands*)
IF _02_SwitchSignal.xUpdate_PLC THEN                            (* command switch OFF *)
    IF _02_SwitchSignal.xSwitch_OUT THEN
        Fb_DaliDimmDoubleButton.xOnAndStepUp:=TRUE;
    ELSE
        Fb_DaliDimmDoubleButton.xOffAndStepDown:=TRUE;        (* command switch ON *)
    END_IF
ELSIF _01_DimmSignal.bValue_OUT=1 THEN
    typ_ConfigDimmer.tShortPushButton:=t#10ms;
    IF _01_DimmSignal.xControl_OUT THEN
        Fb_DaliDimmDoubleButton.xOnAndStepUp:=TRUE;        (* command dim up *)
    ELSE
        Fb_DaliDimmDoubleButton.xOffAndStepDown:=TRUE;        (* command dim down *)
    END_IF
ELSE                                                                    (* enable dim command via digital inputs *)
    typ_ConfigDimmer.tShortPushButton:=t#500ms;
    Fb_DaliDimmDoubleButton.xOnAndStepUp:=xOnAndStepUp;
    Fb_DaliDimmDoubleButton.xOffAndStepDown:=xOffAndStepDown;
END_IF

IF _04_Set_DimmLevel.xUpdate_PLC THEN                        (* command set dim level *)
    Fb_DaliSendDimmValue.rDimmValue:= _04_Set_DimmLevel.rValue_OUT;
    Fb_DaliSendDimmValue.xUpdate:= TRUE;
    IF _04_Set_DimmLevel.rValue_OUT > 0 THEN
        _02_SwitchSignal.xSwitch_IN:=TRUE;
    ELSE
        _02_SwitchSignal.xSwitch_IN:=FALSE;
    END_IF
ELSE
    Fb_DaliSendDimmValue.xUpdate:= FALSE;
END_IF

(* DALI Instance in oder to control the ballast*)
Fb_DaliDimmDoubleButton(
    typBallast:=typBallast,
    xOnAndStepUp:= ,
    xOffAndStepDown:= ,
    typConfigDimmer:=typ_ConfigDimmer ,
    xReady=> ,
    bFeedback=> ,
    rActualLevel=> );

Fb_DaliSendDimmValue(
    typBallast:= typBallast,
    rDimmValue:= ,
    rHysteresis:= ,
    xUpdate:= ,
    xReady=> ,
    bFeedback=> ,
    rActualLevel=> );

(*KNX instance in order to transmitt dimm signal feedback *)
_05_Status_DimmValue(
    rValue_IN:= Fb_DaliDimmDoubleButton.rActualLevel,
    xUpdate_KNX:= ,
    dwIndex_DPT:=idx5 ,
    tMinSendTime:=t#2s,
    typDPT:=typDPT,
    bKNX_Master:=bKNX_Master  );

rActualLevel:=Fb_DaliDimmDoubleButton.rActualLevel;

(* KNX instance for transmitting the KNX on / off status*)
_03_StatusSwitch(
    xSwitch_In:=(rActualLevel>0),
    dwIndex_DPT:=idx3 ,
    bKNX_Master:=bKNX_Master);
__________________________________________________________
Full KNX, même la sonnette ! Home Assistant, automate WAGO, DALI-2
Répondre


Messages dans ce sujet
Automate WAGO 750-889 KNX - par filou59 - 11/08/2017, 22:12:25
RE: Automate WAGO 750-889 KNX - par pollux06 - 12/08/2017, 06:37:51
RE: Automate WAGO 750-889 KNX - par filou59 - 12/08/2017, 21:54:49
RE: Automate WAGO 750-889 KNX - par mil3d - 18/11/2017, 07:02:28
RE: Automate WAGO 750-889 KNX - par filou59 - 18/11/2017, 08:57:20
RE: Automate WAGO 750-889 KNX - par pollux06 - 18/11/2017, 18:08:58
RE: Automate WAGO 750-889 KNX - par filou59 - 18/11/2017, 18:33:49
RE: Automate WAGO 750-889 KNX - par mil3d - 19/11/2017, 08:03:27
RE: Automate WAGO 750-889 KNX - par yeremies - 12/01/2018, 18:56:13
RE: Automate WAGO 750-889 KNX - par filou59 - 12/01/2018, 19:52:18
RE: Automate WAGO 750-889 KNX - par MrWaloo - 23/10/2019, 00:04:47
RE: Automate WAGO 750-889 KNX - par filou59 - 25/10/2019, 09:42:54
RE: Automate WAGO 750-889 KNX - par MrWaloo - 26/10/2019, 20:30:26
RE: Automate WAGO 750-889 KNX - par MrWaloo - 25/10/2019, 21:24:06
RE: Automate WAGO 750-889 KNX - par filou59 - 27/10/2019, 17:10:44
RE: Automate WAGO 750-889 KNX - par Dav76r - 10/04/2021, 10:40:18
RE: Automate WAGO 750-889 KNX - par filou59 - 10/04/2021, 11:10:23
RE: Automate WAGO 750-889 KNX - par Dav76r - 11/04/2021, 15:26:43
RE: Automate WAGO 750-889 KNX - par MrWaloo - 12/04/2021, 00:32:55
RE: Automate WAGO 750-889 KNX - par MrWaloo - 12/04/2021, 00:47:06
RE: Automate WAGO 750-889 KNX - par MrWaloo - 22/04/2021, 21:39:29
RE: Automate WAGO 750-889 KNX - par MrWaloo - 22/04/2021, 21:52:10
RE: Automate WAGO 750-889 KNX - par filou59 - 23/04/2021, 07:21:48
RE: Automate WAGO 750-889 KNX - par MrWaloo - 23/04/2021, 07:47:06
RE: Automate WAGO 750-889 KNX - par MrWaloo - 06/05/2021, 02:32:30
RE: Automate WAGO 750-889 KNX - par MrWaloo - 06/05/2021, 03:14:29
RE: Automate WAGO 750-889 KNX - par filou59 - 06/05/2021, 06:26:04
RE: Automate WAGO 750-889 KNX - par MrWaloo - 11/05/2021, 00:45:34
RE: Automate WAGO 750-889 KNX - par filou59 - 11/05/2021, 09:36:18
RE: Automate WAGO 750-889 KNX - par MrWaloo - 11/05/2021, 11:40:02
RE: Automate WAGO 750-889 KNX - par filou59 - 11/05/2021, 12:44:49
RE: Automate WAGO 750-889 KNX - par MrWaloo - 11/05/2021, 13:15:01
RE: Automate WAGO 750-889 KNX - par MrWaloo - 11/05/2021, 21:23:31
RE: Automate WAGO 750-889 KNX - par filou59 - 13/05/2021, 09:04:51
RE: Automate WAGO 750-889 KNX - par MrWaloo - 13/05/2021, 10:51:21
RE: Automate WAGO 750-889 KNX - par MrWaloo - 13/05/2021, 11:15:12
RE: Automate WAGO 750-889 KNX - par filou59 - 13/05/2021, 11:35:49
RE: Automate WAGO 750-889 KNX - par MrWaloo - 13/05/2021, 13:20:17
RE: Automate WAGO 750-889 KNX - par filou59 - 13/05/2021, 15:38:41
RE: Automate WAGO 750-889 KNX - par MrWaloo - 13/05/2021, 19:48:34
RE: Automate WAGO 750-889 KNX - par MrWaloo - 25/05/2021, 20:56:29
RE: Automate WAGO 750-889 KNX - par filou59 - 25/05/2021, 22:30:00
RE: Automate WAGO 750-889 KNX - par MrWaloo - 05/07/2021, 00:19:23
RE: Automate WAGO 750-889 KNX - par MrWaloo - 18/08/2021, 14:04:55
RE: Automate WAGO 750-889 KNX - par chriks - 18/08/2021, 15:30:00
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 23/10/2021, 11:09:01
RE: Automate WAGO 750-889 KNX - par filou59 - 23/10/2021, 12:26:53
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 24/10/2021, 15:07:07
RE: Automate WAGO 750-889 KNX - par MrWaloo - 23/10/2021, 15:51:13
RE: Automate WAGO 750-889 KNX - par filou59 - 24/10/2021, 15:50:18
RE: Automate WAGO 750-889 KNX - par MrWaloo - 24/10/2021, 16:50:15
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 25/10/2021, 15:12:59
RE: Automate WAGO 750-889 KNX - par filou59 - 25/10/2021, 17:14:34
RE: Automate WAGO 750-889 KNX - par MrWaloo - 26/10/2021, 14:05:01
RE: Automate WAGO 750-889 KNX - par flamout - 04/11/2021, 22:26:08
RE: Automate WAGO 750-889 KNX - par MrWaloo - 06/11/2021, 16:24:02
RE: Automate WAGO 750-889 KNX - par flamout - 08/11/2021, 17:52:18
RE: Automate WAGO 750-889 KNX - par flamout - 28/11/2021, 09:08:03
RE: Automate WAGO 750-889 KNX - par filou59 - 05/11/2021, 14:20:04
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 28/11/2021, 13:10:17
RE: Automate WAGO 750-889 KNX - par filou59 - 29/11/2021, 17:47:50
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 04/12/2021, 15:48:43
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 30/12/2021, 19:53:22
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 28/03/2022, 11:14:13
RE: Automate WAGO 750-889 KNX - par filou59 - 08/04/2022, 09:15:36
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 14/04/2022, 17:51:10
RE: Automate WAGO 750-889 KNX - par Nitro24 - 12/06/2022, 22:31:35
RE: Automate WAGO 750-889 KNX - par filou59 - 13/06/2022, 11:32:22
RE: Automate WAGO 750-889 KNX - par Nitro24 - 14/06/2022, 09:31:44
RE: Automate WAGO 750-889 KNX - par Nitro24 - 16/06/2022, 19:06:58
RE: Automate WAGO 750-889 KNX - par filou59 - 17/06/2022, 02:35:42
RE: Automate WAGO 750-889 KNX - par filou59 - 17/06/2022, 12:10:00
RE: Automate WAGO 750-889 KNX - par Nitro24 - 17/06/2022, 13:10:59
RE: Automate WAGO 750-889 KNX - par filou59 - 17/06/2022, 13:44:11
RE: Automate WAGO 750-889 KNX - par Nitro24 - 17/06/2022, 13:47:06
RE: Automate WAGO 750-889 KNX - par Nitro24 - 18/06/2022, 13:43:31
RE: Automate WAGO 750-889 KNX - par filou59 - 19/06/2022, 08:11:35
RE: Automate WAGO 750-889 KNX - par Nitro24 - 19/06/2022, 21:13:14
RE: Automate WAGO 750-889 KNX - par Nitro24 - 23/06/2022, 15:37:40
RE: Automate WAGO 750-889 KNX - par Nitro24 - 24/06/2022, 06:31:13
RE: Automate WAGO 750-889 KNX - par filou59 - 24/06/2022, 23:30:14
RE: Automate WAGO 750-889 KNX - par Nitro24 - 25/06/2022, 07:42:07
RE: Automate WAGO 750-889 KNX - par Nitro24 - 25/06/2022, 08:24:34
RE: Automate WAGO 750-889 KNX - par Nitro24 - 25/06/2022, 09:22:25
RE: Automate WAGO 750-889 KNX - par filou59 - 26/06/2022, 21:00:29
RE: Automate WAGO 750-889 KNX - par MrWaloo - 06/09/2022, 23:27:39
RE: Automate WAGO 750-889 KNX - par SpaRtzZii - 21/12/2022, 21:58:44
RE: Automate WAGO 750-889 KNX - par MrWaloo - 22/12/2022, 11:09:12
RE: Automate WAGO 750-889 KNX - par Nitro24 - 22/12/2022, 17:21:57
RE: Automate WAGO 750-889 KNX - par Nitro24 - 22/12/2022, 17:35:15
RE: Automate WAGO 750-889 KNX - par MrWaloo - 23/12/2022, 14:20:04
RE: Automate WAGO 750-889 KNX - par mil3d - 08/02/2023, 10:42:41
RE: Automate WAGO 750-889 KNX - par pierrem - 12/03/2023, 14:56:03
RE: Automate WAGO 750-889 KNX - par filou59 - 13/03/2023, 08:37:45
RE: Automate WAGO 750-889 KNX - par pierrem - 13/03/2023, 11:25:25
RE: Automate WAGO 750-889 KNX - par filou59 - 13/03/2023, 14:23:40

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)