ValveThermo.Setpoint (PROP) ¶ PROPERTY Setpoint : REAL
ExampleFancoil3StageAggregate (FB) ¶ FUNCTION_BLOCK ExampleFancoil3StageAggregate Example how to deal with aggregate / plant variants using “external composition” This example function block implements a fan coil aggregate with an N-stage fan coil. There are three variant aspects in ExampleFancoil3StageAggregate: the heat valve (type) the cool valve (type) the condensate pump (type) Despite the fact there are external elements for those three variant aspects ExampleFancoil3StageAggregate provides the related output values to help to get a better understanding of functionality during simulation / testing. Of course this example falls a bit short on complexity, but thats on purpose to focus on aggregate / plant variants using “external composition”. InOut: Scope Name Type Initial Comment Input xEnable BOOL TRUE Enable usiNumStages USINT (1..3) 3 Number of stages - 1 .. 3 rHeatIn REAL Heat control signal (0..100%). rCoolIn REAL Cool control signal (0..100%). eModeIn HeatCoolOperationMode HeatCoolOperationMode.UNUSED Controller operation mode. rDeviationMode REAL Control deviation related to active operation mode - negative value for HEAT, positive value for COOL xFanSpeedByDeviation BOOL TRUE Control fan speed dependent on control signal (FALSE) or control deviation (TRUE). rFanTresholdStage1Heat REAL -0.5 Treshold to enable fan stage 1 heating (in K for fan control dependent on control deviation, in % for fan control dependent on valve position) rFanTresholdStage2Heat REAL -1.0 Treshold to enable fan stage 2 heating rFanTresholdStage3Heat REAL -2.0 Treshold to enable fan stage 2 heating rFanTresholdStage1Cool REAL 0.5 Treshold to enable fan stage 1 cooling (in K for fan control dependent on control deviation, in % for fan control dependent on valve position) rFanTresholdStage2Cool REAL 1.0 Treshold to enable fan stage 2 cooling rFanTresholdStage3Cool REAL 2.0 Treshold to enable fan stage 2 cooling rFanHysteresis REAL 0.2 Fan stage hysteresis (0..INF K for fan control dependent on control deviation, 0..100 % for fan control dependent on valve position) Fan control dependent on control deviation: fan stage is reduced if control deviation reaches threshold + rFanHysteresis (heat) resp. threshold - rFanHysteresis (cool). Fan control dependent on valve position: fan stage is reduced if valve position reaches threshold + rFanHysteresis. tFanDelay12 TIME TIME#0ms Delay to switch stage 1 => stage 2 tFanDelay23 TIME TIME#0ms Delay to switch stage 2 => stage 3 tFanDelay32 TIME TIME#0ms Delay to switch stage 3 => stage 2 tFanDelay21 TIME TIME#0ms Delay to switch stage 2 => stage 1 tFanFollowUp TIME TIME#2m0s0ms Fan follow-up time - continue to run in stage 1 beyond request. tPreHeat TIME TIME#0ms Coil pre-heat time. tPreCool TIME TIME#0ms Coil pre-cool time. rHeatManual REAL 0.0 Heat valve manual control (0..100%). xHeatManual BOOL FALSE Heat valve manual control used. rCoolManual REAL Cool valve manual control (0..100%). xCoolManual BOOL FALSE Cool valve manual control used. usiFanStageManual USINT (0..3) 0 Fan speed manual control - 0 => off, or stage 1 .. 3 xFanStageManual BOOL FALSE Fan speed manual manual control used. itfValveHeat IValveContinuous Heat valve - plugin your specific continuous valve here. itfValveCool IValveContinuous Cool valve - plugin your specific continuous valve here. itfCondensatePump IActuatorOnOff condensate pump - plugin your specific pump on/off here. xReset BOOL FALSE Reset itfDateTimeProvider Util.IDateTimeProvider Globals.g_dtpDateTimeProvider Source for the current date and time information in milliseconds since 1.1.1970 00:00:00.000 Output eModeOut HeatCoolOperationMode HeatCoolOperationMode.INACTIVE Operation mode. rHeatOut REAL Heat valve signal (0..100%). rCoolOut REAL Cool valve signal (0..100%). xFanStage1 BOOL Fan stage 1 xFanStage2 BOOL Fan stage 2 xFanStage3 BOOL Fan stage 3 usiFanStageOut USINT (0..3) Fan stage - 0 => off, or stage 1 .. 3 - supposed to be used in visualisation eFanState Fan3StageState Actual state xCpumpOut BOOL FALSE Condensate pump. xError BOOL Error indication eErrorID Error Error ID
WarpClock.AddTime (METH) ¶ METHOD AddTime step forward in time by a given increment InOut: Scope Name Type Initial Comment Input tAdd TIME TIME#0ms Time to add
WarpClock.ComputeWarpFactor (METH) ¶ METHOD FINAL ComputeWarpFactor : UDINT Computes the “warp” factor to simulate one “warp” clock cycle by a given number of application cycles. Example : two 10ms-application-cycles should lead to 10min warp clock increment - “warp” factor is 30000 Wrong parameters lead to “warp” factor = 1, which in turn makes the “warp” clock run in real time. InOut: Scope Name Type Comment Return ComputeWarpFactor UDINT Input tAppCycle TIME Application cycle time tWarpCycle TIME “Warp” clock cycle time numAppCyclesPerWarpCycle UDINT Number of application cycles needed to trigger one warp cycle
WarpClock.GetDateTime (METH) ¶ METHOD FINAL GetDateTime : ULINT InOut: Scope Name Type Comment Return GetDateTime ULINT date and (UTC) time in milliseconds since 1.1.1970 00:00:00.000 Output eErrorID Util.ERROR Error ID - please note: this method is inherited from Util.IDateTimeProvider so Util.ERROR has to be used here.
WarpClock.GetUtcSystemTime (METH) ¶ METHOD GetUtcSystemTime : ULINT Get the UTC system time in ms since the epoch 1.1.1970 00:00:00.0 - can be used for convenient initialization of uliStartTime. InOut: Scope Name Type Comment Return GetUtcSystemTime ULINT Output eErrorID Error Error ID
WarpClock.GetLocalSystemTime (METH) ¶ METHOD GetLocalSystemTime : ULINT Get the local system time in ms since the epoch 1.1.1970 00:00:00.0 - can be used for convenient initialization of uliStartTime. InOut: Scope Name Type Comment Return GetLocalSystemTime ULINT Input tz Util.TimeZone Timezone Output eErrorID Error Error ID
ERROR (ENUM) ¶ TYPE ERROR : Attributes: qualified_only InOut: Name NO_ERROR FIRST_ERROR TIME_OUT FIRST_MF LAST_ERROR CANNOT_CREATE_FILE BUFFER_IS_LOCKED CANNOT_OPEN_FILE CANNOT_CLOSE_FILE CANNOT_WRITE_DATA END_OF_BUFFER CANNOT_READ_DIRECTORY CANNOT_OPEN_DIRECTORY CANNOT_CLOSE_DIRECTORY CANNOT_GET_FILE_SIZE INVALID_FILE_NAME INVALID_LICENSE
FunctionBlocks ¶ Use this funtionblocks for classic programming. AddBOOL (FunctionBlock) AddBYTE (FunctionBlock) AddDATE (FunctionBlock) AddDATE_AND_TIME (FunctionBlock) AddDINT (FunctionBlock) AddDWORD (FunctionBlock) AddINT (FunctionBlock) AddLINT (FunctionBlock) AddLREAL (FunctionBlock) AddLTIME (FunctionBlock) AddLWORD (FunctionBlock) AddREAL (FunctionBlock) AddSINT (FunctionBlock) AddSTRING (FunctionBlock) AddTIME (FunctionBlock) AddTIME_OF_DAY (FunctionBlock) AddUDINT (FunctionBlock) AddUINT (FunctionBlock) AddULINT (FunctionBlock) AddUSINT (FunctionBlock) AddWORD (FunctionBlock) ETrigATemplate (FunctionBlock) Init (FunctionBlock) NewFile (FunctionBlock) NewLine (FunctionBlock) WriteFile (FunctionBlock)
AddBOOL (FB) ¶ FUNCTION_BLOCK AddBOOL EXTENDS CBM.ETrigA Adds a BOOL value to the buffer. InOut: Scope Name Type Comment Inherited from Input xExecute BOOL Rising edge: Action starts Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or in the event of an error. In this case, the corresponding output values ( xDone , xError , iError ) are present at the outputs for exactly one cycle. ETrigA xAbort BOOL TRUE : Action is stopped immediately and all outputs are reset to their initial values. ETrigA Output xDone BOOL TRUE : Action successfully completed ETrigA xBusy BOOL TRUE : Function block active ETrigA xError BOOL TRUE : Error occurred, function block aborts action FALSE : No error ETrigA xAborted BOOL TRUE : Action aborted by user ETrigA Input xInput BOOL The value to be added to the buffer. Output eError ERROR Error code of the call. Inout rCSVWriter CSVWriter Reference to the CSVWrtiter-FB