In CODESYS 2.3, I used the following method to store RETAIN values in BACnet objects:
PROGRAM BACNET_Retain_320
VAR
FbBY2305_320_001_RT900_DMS_CMD : FbRetainSetpoint_MV;
FbBY2305_320_001_RT900_SW_S_SP : FbRetainSetpoint_AV;
FbBY2305_320_001_RT900_SW_W_SP : FbRetainSetpoint_AV;
FbBY2305_320_001_RT900_DAYS_SP : FbRetainSetpoint_AV;
END_VAR
VAR RETAIN PERSISTENT
Retain_BY2305_320_001_RT900_DMS_CMD : typRetain_MV;
Retain_BY2305_320_001_RT900_SW_S_SP : typRetain_AV;
Retain_BY2305_320_001_RT900_SW_W_SP : typRetain_AV;
Retain_BY2305_320_001_RT900_DAYS_SP : typRetain_AV;
END_VAR
FbBY2305_320_001_RT900_DMS_CMD(
BACNET_MULTISTATE_VALUE := BY2305_320_001_RT900_DMS_CMD,
typRetain_MV := Retain_BY2305_320_001_RT900_DMS_CMD);
FbBY2305_320_001_RT900_SW_S_SP(
BACNET_ANALOG_VALUE := BY2305_320_001_RT900_SW_S_SP,
typRetain_AV := Retain_BY2305_320_001_RT900_SW_S_SP);
FbBY2305_320_001_RT900_SW_W_SP(
BACNET_ANALOG_VALUE := BY2305_320_001_RT900_SW_W_SP,
typRetain_AV := Retain_BY2305_320_001_RT900_SW_W_SP);
FbBY2305_320_001_RT900_DAYS_SP(
BACNET_ANALOG_VALUE := BY2305_320_001_RT900_DAYS_SP,
typRetain_AV := Retain_BY2305_320_001_RT900_DAYS_SP);
Now I am using CODESYS 3.5 SP19 Patch 7 with the ** WagoAppBACnet Library (version 1.1.1.2)**. How can I achieve the same functionality (retain BACnet values like Present_Value
) using this setup?
Can you provide an example of how to make a FbAnalogValue_medium
retain its rPresentValue
across power cycles?