====== Cascade Controller (v3.0) ====== {{:cs:mervis-ide:35-help:lib.mervis.cascade.cascadecontroller_v3.0.png}} ===== Description ===== * Full block name: Lib.Mervis.v3_0.CascadeController * Built by extending the block: * Lib.Mervis.v3_0.BaseCascadeController * Required project references: * Lib.Mervis * Lib.Mervis.Alarms * Lib.Mervis.Cascade The block is used to control devices connected in a cascade. ===== Usage in ST ===== program test var cctrl: lib.mervis.v3_0.CascadeController; end_var cctrl(); end_program ===== Inputs ===== | Name | Data Type | Allowed Range | Unit | Retain | Mandatory Connection | Meaning | | Source1 | Lib.Mervis.v3_0.BaseSourcePointer | | - | No | Yes | Connection of the first device | | Source2 | Lib.Mervis.v3_0.BaseSourcePointer | | - | No | No | Connection of the second device | | Source3 | Lib.Mervis.v3_0.BaseSourcePointer | | - | No | No | Connection of the third device | | Source4 | Lib.Mervis.v3_0.BaseSourcePointer | | - | No | No | Connection of the fourth device | | MeasuredOutput | real | | XX | No | Yes | Actual value of the common output | | Setpoint | real | | XX | No | Yes | Desired value of the common output | | Enable | bool | | - | No | No | Enable function | | Cmd_DecreaseNumSources | bool | | - | No | No | Command to decrease the number of active devices | | Cmd_IncreaseNumSources | bool | | - | No | No | Command to increase the number of active devices | | Cmd_DecreasePower | bool | | - | No | No | Command to decrease current power | | Cmd_PowerChange | real | | - | No | No | Size of change required by the Cmd_DecreasePower command | | CompensationSP_External | real | | XX | No | No | Input for defining compensation of the desired value in case of external calculation | | CompensationSP_Mode | Lib.Mervis.v3_0.CascadeSetpointCompensation | | - | No | No | Operation mode of the setpoint compensator/controller | | CompensationSP_P | real | | - | No | No | Size of the P component of the setpoint compensator/controller for individual devices | | Control_LimitForAttach | real | | XX * min | No | No | Integral criterion limit for enabling an additional device | | Control_LimitForDettach | real | | XX * min | No | No | Integral criterion limit for reducing the number of active devices | | Control_LimitsForAttach | array[0..3] of real | | XX * min | No | No | Configuration of limits for extended setup | | Control_LimitsForDettach | array[0..3] of real | | XX * min | No | No | Configuration of limits for extended setup | | Control_LimitsCfg | Lib.Mervis.v3_0.CascadeLimitsConfiguration | | - | No | No | Configuration of used limits | | Control_NeutralZone | real | | XX | No | No | Neutral zone around the setpoint, applied as +- NeutralZone/2 | | Control_MinActiveOem | Lib.Mervis.v3_0.CascadeSourceNumber | 0..4 | - | No | No | Minimum number of active devices (set by technician, not for end-user presentation) | | Control_MaxActiveOem | Lib.Mervis.v3_0.CascadeSourceNumber | 1..4 | - | No | No | Maximum number of active devices (set by technician, not for end-user presentation) | | Control_MinActive | Lib.Mervis.v3_0.CascadeSourceNumber | 0..4 | - | Yes | No | Defines the minimum number of activated devices | | Control_MaxActive | Lib.Mervis.v3_0.CascadeSourceNumber | 1..4 | - | Yes | No | Defines the maximum number of activated devices | | Control_SetpointCalculation | Lib.Mervis.v3_0.CascadeSetpointCalculation | | - | No | No | Defines the method of setpoint calculation | | Sequence_Profiles | array[0..7] of Lib.Mervis.v3_0.CascadeSequenceProfile | | - | No | No | Definition of profiles for determining the order of devices | | Sequence_TimeLimit | time | | - | No | No | Time limit for automatic profile switching | | Sequence_BlockSwitching | bool | | - | No | No | Input to block automatic switching | | Sequence_Mode | Lib.Mervis.v3_0.CascadeSequence | | - | Yes | No | Mode for profile switching | | Strategy_Mode | Lib.Mervis.v3_0.CascadeControllerStrategy | | - | No | No | Definition of the strategy for activating/deactivating devices | | Strategy_OutputBandMin | real | | % | No | No | Definition of strategy parameters | | Strategy_OutputBandMax | real | | % | No | No | Definition of strategy parameters | ===== Outputs ===== | Name | Data Type | Unit | Meaning | | Cascade | ptr_to BaseCascadeController | - | Pointer to the implementation class of the cascade controller | | AlarmsInterface | ptr_to BaseAlarmBlock | - | Alarm interface | | ActualSetpoint | real | XX | Actual desired value of the common output | | ActualSourceSetpoint | real | XX | Actual desired output value for individual devices | | ActualSequence | Lib.Mervis.v3_0.CascadeSequence | - | Currently selected device order | | ActualNumberOfActive | usint | - | Current number of active devices | | IntegralValue | real | XX * min | Integral criterion value for determining the number of active devices | | ParametersCheckOk | bool | - | Indicates correctness of the input parameters | | Power_MinimalPercent | real | % | Calculated power threshold for reducing the number of active devices | | Power_MaximalPercent | real | % | Calculated power threshold for increasing the number of active devices | | Power_TotalActive | real | YY | Current total power of the cascade | | Power_Maximal | real | YY | Maximum power of the cascade | | Sequence_ActualMasterIndex | Lib.Mervis.v3_0.CascadeSourceNumber | - | Index of the device currently acting as master | | Sequence_RemainingTime | time | - | Remaining time for sequence switching | ===== Blocks ===== | Name | Data Type | Meaning | | The functional block does not contain any internal blocks for use ||| ===== Detailed Function Description ===== .... ===== Versions =====