ConOpSys V2970  P004.07
ANVILEX control operating system
Function_Block_Cabinet_Cooling_System.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Function_Block_Cabinet_Cooling_System.h
3 //! @URL $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Blocks/Function_Block_Cabinet_Cooling_System.h $
4 //! @author $Author: minch $ (ANVILEX GmbH)
5 //! @version $Revision: 2904 $
6 //! @date $Date: 2021-12-02 02:39:23 +0500 (Do, 02 Dez 2021) $
7 //! @brief Cabinet cooling system class header file.
8 //! @attention
9 //!
10 //! COPYRIGHT(C) 2015-2019 ANVILEX GmbH
11 //!
12 //! Redistribution and use in source and binary forms, with or without
13 //! modification, are permitted provided that the following conditions are met:
14 //!
15 //! 1. Redistributions of source code must retain the above copyright notice,
16 //! this list of conditions and the following disclaimer.
17 //!
18 //! 2. Redistributions in binary form must reproduce the above copyright notice,
19 //! this list of conditions and the following disclaimer in the documentation
20 //! and/or other materials provided with the distribution.
21 //!
22 //! 3. Neither the name of ANVILEX nor the names of its contributors may be
23 //! used to endorse or promote products derived from this software without
24 //! specific prior written permission.
25 //!
26 //! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 //! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29 //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
30 //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 //! POSSIBILITY OF SUCH DAMAGE.
37 //------------------------------------------------------------------------------
38 
39 //------------------------------------------------------------------------------
40 // Protecting header files from mutual, recursive inclusion.
41 //------------------------------------------------------------------------------
42 
43 #pragma once
44 
45 //------------------------------------------------------------------------------
46 // Include standard libraries header files
47 //------------------------------------------------------------------------------
48 
49 //------------------------------------------------------------------------------
50 // Include thrid party header files
51 //------------------------------------------------------------------------------
52 
53 //------------------------------------------------------------------------------
54 // Include ConOpSys header files
55 //------------------------------------------------------------------------------
56 
57 #include "Function_Block_Base.h"
58 
59 //------------------------------------------------------------------------------
60 // Include ConOpSys application header files
61 //------------------------------------------------------------------------------
62 
63 //------------------------------------------------------------------------------
64 //! @brief Class declaration description
65 //------------------------------------------------------------------------------
66 
68 {
69 
70  //----------------------------------------------------------------------------
71  // Public defines, methods and variables
72  //----------------------------------------------------------------------------
73 
74  public:
75 
76  //!-------------------------------------------------------------------------
77  //! @brief Class constructor method.
78  //! @note None
79  //! \par Override
80  //! Not allowed
81  //! @attention Don't call this method directly.
82  //--------------------------------------------------------------------------
83 
85 
86  //!-------------------------------------------------------------------------
87  //! @brief Class destructor method.
88  //! @note None
89  //! \par Override
90  //! Not allowed
91  //! @attention Don't call this method directly.
92  //--------------------------------------------------------------------------
93 
95 
96  //!-------------------------------------------------------------------------
97  //! @brief Function block initialisation method.
98  //! @note None
99  //! \par Override
100  //! Not allowed
101  //! @attention Don't call this method directly.
102  //--------------------------------------------------------------------------
103 
104  virtual VOID Init();
105 
106 
107  //!-------------------------------------------------------------------------
108  //! @brief Function block execution method.
109  //! @note None
110  //! \par Override
111  //! Not allowed
112  //! @attention None
113  //--------------------------------------------------------------------------
114 
115  virtual VOID Execute();
116 
117  //!-------------------------------------------------------------------------
118  //! @brief Send information about Function block over communication link protocol
119  //! @note This method sends information about Function block over specified communication link protocol.
120  //! @param [in] TProtocol_Base *object_Protocol - Pointer to the communication link protocol
121  //! @return None
122  //! \par Override
123  //! Not allowed
124  //! @attention None
125  //--------------------------------------------------------------------------
126 
127  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
128 
129  //--------------------------------------------------------------------------
130  // Function block parameter connectors
131  //--------------------------------------------------------------------------
132 
133  TBlock_Input_Connector object_f32_Sample_Time; //!< Function block sample time input parameter
134  TBlock_Input_Connector object_f32_Low_Temperature_Warning_Level; //!< Low cabinet temperature warning level input parameter
135  TBlock_Input_Connector object_f32_Low_Temperature_Trip_Level; //!< Low cabinet temperature trip level input parameter
136  TBlock_Input_Connector object_f32_Low_Temperature_Trip_Delay; //!< Low cabinet temperature trip delay input parameter
137  TBlock_Input_Connector object_f32_High_Temperature_Warning_Level; //!< High cabinet temperature warning level input parameter
138  TBlock_Input_Connector object_f32_High_Temperature_Trip_Level; //!< High cabinet temperature trip level input parameter
139  TBlock_Input_Connector object_f32_High_Temperature_Trip_Delay; //!< High cabinet temperature trip delay input parameter
140  TBlock_Input_Connector object_f32_Fan_Trail_Delay; //!< Fan trail delay input parameter
141 
142  //--------------------------------------------------------------------------
143  // Function block input connectors
144  //--------------------------------------------------------------------------
145 
146  TBlock_Input_Connector object_bool_Enable; //!< Enable input connector
147  TBlock_Input_Connector object_bool_Emergency_Trip; //!< Emergency trip input connector
148  TBlock_Input_Connector object_bool_Fan_Fuse_Status; //!< Fan circuit breaker status input connector
149  TBlock_Input_Connector object_bool_Fan_Contactor_Status; //!< Fan contactor status input connector
150  TBlock_Input_Connector object_bool_Heater_Fuse_Status; //!< Heater circuit breaker status input connector
151  TBlock_Input_Connector object_bool_Heater_Contactor_Status; //!< Heater contactor status input connector
152  TBlock_Input_Connector object_f32_Actual_Temperature; //!< Actual cabinet temperature input connector
153  TBlock_Input_Connector object_bool_Invalid_Temperature; //!< Invalid temperature value input connector
154 
155  //--------------------------------------------------------------------------
156  // Function block output connectors
157  //--------------------------------------------------------------------------
158 
160  TBlock_Output_Connector object_bool_Fan_Enable; //!< Enable cabinet fan output
161  TBlock_Output_Connector object_bool_Heater_Enable; //! Enable cabinet heater output
162  TBlock_Output_Connector object_bool_Low_Temperature_Warning; //!< Low cabinet temperature warning output connector
163  TBlock_Output_Connector object_bool_Low_Temperature_Alarm; //!< Low cabinet temperature alarm output connector
164  TBlock_Output_Connector object_bool_Low_Temperature_Trip; //!< Low cabinet temperature trip output connector
165  TBlock_Output_Connector object_bool_High_Temperature_Warning; //!< High cabinet temperature warning output connector
166  TBlock_Output_Connector object_bool_High_Temperature_Alarm; //!< High cabinet temperature alarm output connector
167  TBlock_Output_Connector object_bool_High_Temperature_Trip; //!< High cabinet temperature trip output connector
168  TBlock_Output_Connector object_bool_Temperature_Warning; //!< Low or high temperature warning output connector
169  TBlock_Output_Connector object_bool_Temperature_Alarm; //!< Low or high temperature alarm output connector
170  TBlock_Output_Connector object_bool_Temperature_Trip; //!< Low or high temperature trip output connector
172 
173  //----------------------------------------------------------------------------
174  // Protected defines, methods and variables
175  //----------------------------------------------------------------------------
176 
177  protected:
178 
179  //----------------------------------------------------------------------------
180  // Private defines, methods and variables
181  //----------------------------------------------------------------------------
182 
183  private:
184 
185  typedef union
186  {
188  struct
189  {
197  U16 :1;
198  U16 :8;
199  };
200  } TStatus_Word;
201 
202  U32 u32_Low_Temperature_Trip_Delay; //!< Recalculated value of low temperature trip delay
203  U32 u32_High_Temperature_Trip_Delay; //!< Resalculated value of high temperature trip delay
204  U32 u32_Fan_Trail_Delay; //!< Recalculated value of fan trail delay
205 
206  U32 u32_Low_Temperature_Trip_Delay_Counter; //!< Low temperature trip delay counter
207  U32 u32_High_Temperature_Trip_Delay_Counter; //!< High temperature trip delay counter
208  U32 u32_Fan_Trail_Delay_Counter; //!< Fan trail delay counter
209 
210 };
211 
212 //------------------------------------------------------------------------------
213 // End of file
214 //------------------------------------------------------------------------------
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
unsigned short U16
Binary 16-Bit unsigned integer datatype defenition.
Definition: Defines.h:193
Function block base class header file.
Function block input connector class.
Definition: Block_Input_Connector.h:83
Function block output connector class.
Definition: Block_Output_Connector.h:59
Function block base class for device.
Definition: Function_Block_Base.h:96
Class declaration description.
Definition: Function_Block_Cabinet_Cooling_System.h:68
virtual VOID Execute()
Function block execution method.
Definition: Function_Block_Cabinet_Cooling_System.cpp:215
TBlock_Input_Connector object_bool_Fan_Fuse_Status
Fan circuit breaker status input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:148
virtual ~TFunction_Block_Cabinet_Cooling_System()
Class destructor method.
Definition: Function_Block_Cabinet_Cooling_System.cpp:186
TBlock_Input_Connector object_f32_Low_Temperature_Warning_Level
Low cabinet temperature warning level input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:134
TBlock_Input_Connector object_bool_Fan_Contactor_Status
Fan contactor status input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:149
U32 u32_High_Temperature_Trip_Delay
Resalculated value of high temperature trip delay.
Definition: Function_Block_Cabinet_Cooling_System.h:203
U32 u32_Fan_Trail_Delay
Recalculated value of fan trail delay.
Definition: Function_Block_Cabinet_Cooling_System.h:204
TBlock_Input_Connector object_f32_High_Temperature_Trip_Delay
High cabinet temperature trip delay input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:139
TBlock_Input_Connector object_f32_High_Temperature_Trip_Level
High cabinet temperature trip level input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:138
TBlock_Output_Connector object_bool_High_Temperature_Warning
High cabinet temperature warning output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:165
TBlock_Output_Connector object_u16_Status
Status output.
Definition: Function_Block_Cabinet_Cooling_System.h:171
TBlock_Output_Connector object_bool_Error
Error output.
Definition: Function_Block_Cabinet_Cooling_System.h:159
TBlock_Input_Connector object_f32_Low_Temperature_Trip_Delay
Low cabinet temperature trip delay input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:136
virtual VOID Init()
Function block initialisation method.
Definition: Function_Block_Cabinet_Cooling_System.cpp:194
TBlock_Output_Connector object_bool_Heater_Enable
Definition: Function_Block_Cabinet_Cooling_System.h:161
TBlock_Input_Connector object_f32_High_Temperature_Warning_Level
High cabinet temperature warning level input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:137
TBlock_Input_Connector object_f32_Actual_Temperature
Actual cabinet temperature input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:152
TBlock_Input_Connector object_bool_Enable
Enable input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:146
TBlock_Output_Connector object_bool_Temperature_Trip
Low or high temperature trip output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:170
U32 u32_High_Temperature_Trip_Delay_Counter
High temperature trip delay counter.
Definition: Function_Block_Cabinet_Cooling_System.h:207
TBlock_Output_Connector object_bool_High_Temperature_Trip
High cabinet temperature trip output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:167
TBlock_Output_Connector object_bool_Temperature_Warning
Low or high temperature warning output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:168
TBlock_Output_Connector object_bool_Low_Temperature_Trip
Low cabinet temperature trip output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:164
U32 u32_Fan_Trail_Delay_Counter
Fan trail delay counter.
Definition: Function_Block_Cabinet_Cooling_System.h:208
TBlock_Input_Connector object_f32_Sample_Time
Function block sample time input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:133
TBlock_Input_Connector object_bool_Invalid_Temperature
Invalid temperature value input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:153
U32 u32_Low_Temperature_Trip_Delay_Counter
Low temperature trip delay counter.
Definition: Function_Block_Cabinet_Cooling_System.h:206
U32 u32_Low_Temperature_Trip_Delay
Recalculated value of low temperature trip delay.
Definition: Function_Block_Cabinet_Cooling_System.h:202
TBlock_Output_Connector object_bool_Fan_Enable
Enable cabinet fan output.
Definition: Function_Block_Cabinet_Cooling_System.h:160
TFunction_Block_Cabinet_Cooling_System()
Class constructor method.
Definition: Function_Block_Cabinet_Cooling_System.cpp:66
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send information about Function block over communication link protocol.
Definition: Function_Block_Cabinet_Cooling_System.cpp:495
TBlock_Output_Connector object_bool_Low_Temperature_Alarm
Low cabinet temperature alarm output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:163
TBlock_Output_Connector object_bool_Temperature_Alarm
Low or high temperature alarm output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:169
TBlock_Input_Connector object_bool_Emergency_Trip
Emergency trip input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:147
TBlock_Input_Connector object_f32_Fan_Trail_Delay
Fan trail delay input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:140
TBlock_Input_Connector object_bool_Heater_Fuse_Status
Heater circuit breaker status input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:150
TBlock_Input_Connector object_f32_Low_Temperature_Trip_Level
Low cabinet temperature trip level input parameter.
Definition: Function_Block_Cabinet_Cooling_System.h:135
TBlock_Output_Connector object_bool_Low_Temperature_Warning
Enable cabinet heater output.
Definition: Function_Block_Cabinet_Cooling_System.h:162
TBlock_Output_Connector object_bool_High_Temperature_Alarm
High cabinet temperature alarm output connector.
Definition: Function_Block_Cabinet_Cooling_System.h:166
TBlock_Input_Connector object_bool_Heater_Contactor_Status
Heater contactor status input connector.
Definition: Function_Block_Cabinet_Cooling_System.h:151
Definition: Protocol_Base.h:57
U16 bit_Invalid_Temperature
Definition: Function_Block_Cabinet_Cooling_System.h:190
U16 u16_Word
Definition: Function_Block_Cabinet_Cooling_System.h:187
U16 bit_Low_Temperature_Alarm
Definition: Function_Block_Cabinet_Cooling_System.h:192
U16 bit_High_Temperature_Warning
Definition: Function_Block_Cabinet_Cooling_System.h:194
U16 bit_High_Temperature_Trip
Definition: Function_Block_Cabinet_Cooling_System.h:196
U16 bit_Low_Temperature_Trip
Definition: Function_Block_Cabinet_Cooling_System.h:193
U16 bit_Low_Temperature_Warning
Definition: Function_Block_Cabinet_Cooling_System.h:191
U16 bit_High_Temperature_Alarm
Definition: Function_Block_Cabinet_Cooling_System.h:195