ConOpSys V2970  P004.07
ANVILEX control operating system
P017_42_KG3_AI.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file P017_42_KG3_AI.h
3 //! @brief KG3 analog input board P017.42 hardware driver header file.
4 //! @attention No special attention requered.
5 //! @copyright (C) 2015-2020 ANVILEX LLC
6 //! $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Hardware/P017_42_KG3_AI/P017_42_KG3_AI.h $
7 //! $Revision: 2457 $
8 //! $Date: 2021-03-11 11:54:01 +0500 (Do, 11 Mrz 2021) $
9 //! $Author: minch $
10 //------------------------------------------------------------------------------
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 //------------------------------------------------------------------------------
41 // Protecting header files from mutual, recursive inclusion.
42 //------------------------------------------------------------------------------
43 
44 #pragma once
45 
46 //------------------------------------------------------------------------------
47 // Include standard libraries header files
48 //------------------------------------------------------------------------------
49 
50 //------------------------------------------------------------------------------
51 // Include thrid party header files
52 //------------------------------------------------------------------------------
53 
54 //------------------------------------------------------------------------------
55 // Include ConOpSys header files
56 //------------------------------------------------------------------------------
57 
58 #include "Function_Block_Base.h"
59 
60 //------------------------------------------------------------------------------
61 // Include ConOpSys application header files
62 //------------------------------------------------------------------------------
63 
64 //------------------------------------------------------------------------------
65 // Macros
66 //------------------------------------------------------------------------------
67 
68 //------------------------------------------------------------------------------
69 //! @brief Analog input board P017.42 class
70 //------------------------------------------------------------------------------
71 
73 {
74 
75  //----------------------------------------------------------------------------
76  // Public methods and variables
77  //----------------------------------------------------------------------------
78 
79  public:
80 
81  //--------------------------------------------------------------------------
82  // Public methods
83  //--------------------------------------------------------------------------
84 
85  // Constructor and destructor
86  TP017_42_KG3_AI_T0(); //!< Class constructor method
87  virtual ~TP017_42_KG3_AI_T0(); //!< Class destructor method
88 
89  virtual VOID Init();
90  virtual VOID Execute();
91  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
92 
93  //--------------------------------------------------------------------------
94  // Block parameters
95  //--------------------------------------------------------------------------
96 
97  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_1; //!< Analog input channel 1 fill scale value. Also used for channel total gain adjustment.
98  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_2; //!< Analog input channel 2 fill scale value. Also used for channel total gain adjustment.
99  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_3; //!< Analog input channel 3 fill scale value. Also used for channel total gain adjustment.
100 
101  TBlock_Input_Connector object_f32_Analog_Input_Offset_1; //!< Analog input channel 1 offset
102  TBlock_Input_Connector object_f32_Analog_Input_Offset_2; //!< Analog input channel 2 offset
103  TBlock_Input_Connector object_f32_Analog_Input_Offset_3; //!< Analog input channel 3 offset
104 
105  TBlock_Input_Connector object_bool_Negate; //!< Negate input analog signal value
106 
107  //--------------------------------------------------------------------------
108  // Block inputs
109  //--------------------------------------------------------------------------
110 
111  TBlock_Input_Connector object_f32_Software_Overcurrent_Level; //!< Software defined overcurrent level
112 
113  //--------------------------------------------------------------------------
114  // Block outputs
115  //--------------------------------------------------------------------------
116 
117  U16 u16_Analog_Input_Status; //!< Analog input status
118  I16 i16_Analog_Input_Data_1; //!< Analog input channel 1 block output as I16
119  I16 i16_Analog_Input_Data_2; //!< Analog input channel 2 block output as I16
120  I16 i16_Analog_Input_Data_3; //!< Analog input channel 3 block output as I16
121 
122  TBlock_Output_Connector object_f32_Analog_Input_Data_1; //!< Analog input channel 1 block output
123  TBlock_Output_Connector object_f32_Analog_Input_Data_2; //!< Analog input channel 2 block output
124  TBlock_Output_Connector object_f32_Analog_Input_Data_3; //!< Analog input channel 3 block output
125  TBlock_Output_Connector object_f32_Analog_Input_Data_DC; //!< Analog input channels DC offset
126 
127  TBlock_Output_Connector object_bool_Hardware_Error; //!< Critical hardware error flag
128  TBlock_Output_Connector object_bool_Symmenty_Error; //!< Signal symmery error flag
131 
132  //----------------------------------------------------------------------------
133  // Protected methods and variables
134  //----------------------------------------------------------------------------
135 
136  protected:
137 
138  //----------------------------------------------------------------------------
139  // Private methods and variables
140  //----------------------------------------------------------------------------
141 
142  private:
143 
144  typedef union
145  {
147  struct
148  {
152  U16 :1; // Bit 3
153  U16 :1; // Bit 4
154  U16 :1; // Bit 5
155  U16 :1; // Bit 6
159  U16 u16_CMP_N_2_Status:1; // Bit 10
160  U16 u16_CMP_P_3_Status:1; // Bit 11
161  U16 u16_CMP_N_3_Status:1; // Bit 12
162  U16 :1; // Bit 13
163  U16 :1; // Bit 14
164  U16 :1; // Bit 15
165  };
166  } TStatus;
167 
168  F32 f32_Gain_1; //!< Effective gain of the channel 1
169  F32 f32_Gain_2; //!< Effective gain of the channel 2
170  F32 f32_Gain_3; //!< Effective gain of the channel 3
171 
172  F32 f32_Offset_1; //!< Effective offset of the channel 1
173  F32 f32_Offset_2; //!< Effective offset of the channel 2
174  F32 f32_Offset_3; //!< Effective offset of the channel 3
175 
176 };
177 
178 //------------------------------------------------------------------------------
179 
181 {
182 
183  //----------------------------------------------------------------------------
184  // Public methods and variables
185  //----------------------------------------------------------------------------
186 
187  public:
188 
189  // Register structure for generic access
190  typedef struct
191  {
192 
193  U16 u16_Unit_ID_L; //!< 0x00 : Unit identification L read register
194  U16 u16_Unit_ID_H; //!< 0x01 : Unit identification H read register
195  union
196  {
197  U16 u16_Status; //!< 0x02 : Status register
198  U16 u16_Control; //!< 0x02 : Control register
199  };
200  I16 i16_Analog_Input_Data_1; //!< 0x03 : Analog input channel 1 data register as I16 value
201  I16 i16_Analog_Input_Data_2; //!< 0x04 : Analog input channel 2 data register as I16 value
202  I16 i16_Analog_Input_Data_3; //!< 0x05 : Analog input channel 3 data register as I16 value
203  I16 i16_Analog_Input_Filtered_Data_1; //!< 0x06 : Analog input channel 1 filtered data register as I16 value
204  I16 i16_Analog_Input_Filtered_Data_2; //!< 0x07 : Analog input channel 2 filtered data register as I16 value
205  I16 i16_Analog_Input_Filtered_Data_3; //!< 0x08 : Analog input channel 3 filtered data register as I16 value
206 
208 
209  //--------------------------------------------------------------------------
210  // Public methods
211  //--------------------------------------------------------------------------
212 
213  // Constructor and destructor
214  TP017_42_KG3_AI_T1(); //!< Class constructor method
215  virtual ~TP017_42_KG3_AI_T1(); //!< Class destructor method
216 
217  VOID Map( TP017_42_KG3_AI_Registers *struct_Registers_Base_Address );
218  virtual VOID Init();
219  virtual VOID Execute();
220  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
221 
222  //--------------------------------------------------------------------------
223  // Block parameters
224  //--------------------------------------------------------------------------
225 
226  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_1; //!< Analog input channel 1 fill scale value. Also used for channel total gain adjustment.
227  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_2; //!< Analog input channel 2 fill scale value. Also used for channel total gain adjustment.
228  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_3; //!< Analog input channel 3 fill scale value. Also used for channel total gain adjustment.
229 
230  TBlock_Input_Connector object_f32_Analog_Input_Offset_1; //!< Analog input channel 1 offset
231  TBlock_Input_Connector object_f32_Analog_Input_Offset_2; //!< Analog input channel 2 offset
232  TBlock_Input_Connector object_f32_Analog_Input_Offset_3; //!< Analog input channel 3 offset
233 
234  TBlock_Input_Connector object_bool_Negate; //!< Negate input analog signal value
235 
236  //--------------------------------------------------------------------------
237  // Block inputs
238  //--------------------------------------------------------------------------
239 
240  TBlock_Input_Connector object_f32_Software_Overcurrent_Level; //!< Software defined overcurrent level
241 
242  //--------------------------------------------------------------------------
243  // Block outputs
244  //--------------------------------------------------------------------------
245 
246  U16 u16_Analog_Input_Status; //!< Analog input status
247  I16 i16_Analog_Input_Data_1; //!< Analog input channel 1 block output as I16
248  I16 i16_Analog_Input_Data_2; //!< Analog input channel 2 block output as I16
249  I16 i16_Analog_Input_Data_3; //!< Analog input channel 3 block output as I16
250 
251  TBlock_Output_Connector object_f32_Analog_Input_Data_1; //!< Analog input channel 1 block output
252  TBlock_Output_Connector object_f32_Analog_Input_Data_2; //!< Analog input channel 2 block output
253  TBlock_Output_Connector object_f32_Analog_Input_Data_3; //!< Analog input channel 3 block output
254  TBlock_Output_Connector object_f32_Analog_Input_Data_DC; //!< Analog input channels DC offset
255 
256  TBlock_Output_Connector object_bool_Hardware_Error; //!< Critical hardware error flag
257  TBlock_Output_Connector object_bool_Symmenty_Error; //!< Signal symmery error flag
260 
261  //----------------------------------------------------------------------------
262  // Protected methods and variables
263  //----------------------------------------------------------------------------
264 
265  protected:
266 
267  //----------------------------------------------------------------------------
268  // Private methods and variables
269  //----------------------------------------------------------------------------
270 
271  private:
272 
273  typedef union
274  {
276  struct
277  {
281  U16 :1; // Bit 3
282  U16 :1; // Bit 4
283  U16 :1; // Bit 5
284  U16 :1; // Bit 6
288  U16 u16_CMP_N_2_Status:1; // Bit 10
289  U16 u16_CMP_P_3_Status:1; // Bit 11
290  U16 u16_CMP_N_3_Status:1; // Bit 12
291  U16 :1; // Bit 13
292  U16 :1; // Bit 14
293  U16 :1; // Bit 15
294  };
295  } TStatus;
296 
297  volatile TP017_42_KG3_AI_Registers *struct_Registers; //!< Hardware mapped registers
298 
299  F32 f32_Gain_1; //!< Effective gain of the channel 1
300  F32 f32_Gain_2; //!< Effective gain of the channel 2
301  F32 f32_Gain_3; //!< Effective gain of the channel 3
302 
303  F32 f32_Offset_1; //!< Effective offset of the channel 1
304  F32 f32_Offset_2; //!< Effective offset of the channel 2
305  F32 f32_Offset_3; //!< Effective offset of the channel 3
306 
307 };
308 
309 //------------------------------------------------------------------------------
310 
312 {
313 
314  //----------------------------------------------------------------------------
315  // Public methods and variables
316  //----------------------------------------------------------------------------
317 
318  public:
319 
320  // Register structure for generic access
321  typedef struct
322  {
323 
324  U16 u16_Unit_ID_L; //!< 0x00 : Unit identification L read register
325  U16 u16_Unit_ID_H; //!< 0x01 : Unit identification H read register
326  union
327  {
328  U16 u16_Status; //!< 0x02 : Status register
329  U16 u16_Control; //!< 0x02 : Control register
330  };
331  I16 i16_Analog_Input_Data_1; //!< 0x03 : Analog input channel 1 data register as I16 value
332  I16 i16_Analog_Input_Data_2; //!< 0x04 : Analog input channel 2 data register as I16 value
333  I16 i16_Analog_Input_Data_3; //!< 0x05 : Analog input channel 3 data register as I16 value
334  I16 i16_Analog_Input_Filtered_Data_1; //!< 0x06 : Analog input channel 1 filtered data register as I16 value
335  I16 i16_Analog_Input_Filtered_Data_2; //!< 0x07 : Analog input channel 2 filtered data register as I16 value
336  I16 i16_Analog_Input_Filtered_Data_3; //!< 0x08 : Analog input channel 3 filtered data register as I16 value
337 
339 
340  //--------------------------------------------------------------------------
341  // Public methods
342  //--------------------------------------------------------------------------
343 
344  // Constructor and destructor
345  TP017_42_KG3_AI_T2(); //!< Class constructor method
346  virtual ~TP017_42_KG3_AI_T2(); //!< Class destructor method
347 
348  VOID Map( TP017_42_KG3_AI_Registers *struct_Registers_Base_Address );
349  virtual VOID Init();
350  virtual VOID Execute();
351  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
352 
353  //--------------------------------------------------------------------------
354  // Block parameters
355  //--------------------------------------------------------------------------
356 
357  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_1; //!< Analog input channel 1 fill scale value. Also used for channel total gain adjustment.
358  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_2; //!< Analog input channel 2 fill scale value. Also used for channel total gain adjustment.
359  TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_3; //!< Analog input channel 3 fill scale value. Also used for channel total gain adjustment.
360 
361  TBlock_Input_Connector object_f32_Analog_Input_Offset_1; //!< Analog input channel 1 offset
362  TBlock_Input_Connector object_f32_Analog_Input_Offset_2; //!< Analog input channel 2 offset
363  TBlock_Input_Connector object_f32_Analog_Input_Offset_3; //!< Analog input channel 3 offset
364 
365  TBlock_Input_Connector object_bool_Negate; //!< Negate input analog signal value
366 
367  //--------------------------------------------------------------------------
368  // Block inputs
369  //--------------------------------------------------------------------------
370 
371  TBlock_Input_Connector object_f32_Software_Overcurrent_Level; //!< Software defined overcurrent level
372 
373  //--------------------------------------------------------------------------
374  // Block outputs
375  //--------------------------------------------------------------------------
376 
377  U16 u16_Analog_Input_Status; //!< Analog input status
378  I16 i16_Analog_Input_Data_1; //!< Analog input channel 1 block output as I16
379  I16 i16_Analog_Input_Data_2; //!< Analog input channel 2 block output as I16
380  I16 i16_Analog_Input_Data_3; //!< Analog input channel 3 block output as I16
381 
382  TBlock_Output_Connector object_f32_Analog_Input_Data_1; //!< Analog input channel 1 block output
383  TBlock_Output_Connector object_f32_Analog_Input_Data_2; //!< Analog input channel 2 block output
384  TBlock_Output_Connector object_f32_Analog_Input_Data_3; //!< Analog input channel 3 block output
385  TBlock_Output_Connector object_f32_Analog_Input_Data_DC; //!< Analog input channels DC offset
386 
387  TBlock_Output_Connector object_bool_Hardware_Error; //!< Critical hardware error flag
388  TBlock_Output_Connector object_bool_Symmenty_Error; //!< Signal symmery error flag
391 
392  //----------------------------------------------------------------------------
393  // Protected methods and variables
394  //----------------------------------------------------------------------------
395 
396  protected:
397 
398  //----------------------------------------------------------------------------
399  // Private methods and variables
400  //----------------------------------------------------------------------------
401 
402  private:
403 
404  typedef union
405  {
407  struct
408  {
412  U16 :1; // Bit 3
413  U16 :1; // Bit 4
414  U16 :1; // Bit 5
415  U16 :1; // Bit 6
419  U16 u16_CMP_N_2_Status:1; // Bit 10
420  U16 u16_CMP_P_3_Status:1; // Bit 11
421  U16 u16_CMP_N_3_Status:1; // Bit 12
422  U16 :1; // Bit 13
423  U16 :1; // Bit 14
424  U16 :1; // Bit 15
425  };
426  } TStatus;
427 
428  volatile TP017_42_KG3_AI_Registers *struct_Registers; //!< Hardware mapped registers
429 
430  F32 f32_Gain_1; //!< Effective gain of the channel 1
431  F32 f32_Gain_2; //!< Effective gain of the channel 2
432  F32 f32_Gain_3; //!< Effective gain of the channel 3
433 
434  F32 f32_Offset_1; //!< Effective offset of the channel 1
435  F32 f32_Offset_2; //!< Effective offset of the channel 2
436  F32 f32_Offset_3; //!< Effective offset of the channel 3
437 
438 };
439 
440 //------------------------------------------------------------------------------
441 // End Of File
442 //------------------------------------------------------------------------------
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
float F32
IEEE-754 32-Bit single presession floating point numbers datatype defenition.
Definition: Defines.h:324
short I16
2s Compliment 16-Bit signed integer datatype defenition
Definition: Defines.h:196
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
Analog input board P017.42 class.
Definition: P017_42_KG3_AI.h:73
F32 f32_Offset_1
Effective offset of the channel 1.
Definition: P017_42_KG3_AI.h:172
TBlock_Input_Connector object_f32_Analog_Input_Offset_3
Analog input channel 3 offset.
Definition: P017_42_KG3_AI.h:103
TBlock_Output_Connector object_bool_Symmenty_Error
Signal symmery error flag.
Definition: P017_42_KG3_AI.h:128
I16 i16_Analog_Input_Data_1
Analog input channel 1 block output as I16.
Definition: P017_42_KG3_AI.h:118
TBlock_Input_Connector object_f32_Analog_Input_Offset_1
Analog input channel 1 offset.
Definition: P017_42_KG3_AI.h:101
TBlock_Output_Connector object_f32_Analog_Input_Data_DC
Analog input channels DC offset.
Definition: P017_42_KG3_AI.h:125
F32 f32_Gain_3
Effective gain of the channel 3.
Definition: P017_42_KG3_AI.h:170
TBlock_Output_Connector object_bool_Hardware_Error
Critical hardware error flag.
Definition: P017_42_KG3_AI.h:127
F32 f32_Gain_2
Effective gain of the channel 2.
Definition: P017_42_KG3_AI.h:169
TBlock_Output_Connector object_bool_Software_Overcurrent
Definition: P017_42_KG3_AI.h:130
TBlock_Output_Connector object_f32_Analog_Input_Data_1
Analog input channel 1 block output.
Definition: P017_42_KG3_AI.h:122
virtual ~TP017_42_KG3_AI_T0()
Class destructor method.
Definition: P017_42_KG3_AI.cpp:158
F32 f32_Offset_2
Effective offset of the channel 2.
Definition: P017_42_KG3_AI.h:173
TBlock_Input_Connector object_f32_Analog_Input_Offset_2
Analog input channel 2 offset.
Definition: P017_42_KG3_AI.h:102
virtual VOID Execute()
Analog input board P017.42 KG3 AI execute method.
Definition: P017_42_KG3_AI.cpp:193
U16 u16_Analog_Input_Status
Analog input status.
Definition: P017_42_KG3_AI.h:117
TP017_42_KG3_AI_T0()
Class constructor method.
Definition: P017_42_KG3_AI.cpp:70
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send detailed information about functional block.
Definition: P017_42_KG3_AI.cpp:235
TBlock_Input_Connector object_bool_Negate
Negate input analog signal value.
Definition: P017_42_KG3_AI.h:105
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_2
Analog input channel 2 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:98
TBlock_Input_Connector object_f32_Software_Overcurrent_Level
Software defined overcurrent level.
Definition: P017_42_KG3_AI.h:111
TBlock_Output_Connector object_f32_Analog_Input_Data_2
Analog input channel 2 block output.
Definition: P017_42_KG3_AI.h:123
I16 i16_Analog_Input_Data_2
Analog input channel 2 block output as I16.
Definition: P017_42_KG3_AI.h:119
I16 i16_Analog_Input_Data_3
Analog input channel 3 block output as I16.
Definition: P017_42_KG3_AI.h:120
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_1
Analog input channel 1 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:97
F32 f32_Offset_3
Effective offset of the channel 3.
Definition: P017_42_KG3_AI.h:174
F32 f32_Gain_1
Effective gain of the channel 1.
Definition: P017_42_KG3_AI.h:168
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_3
Analog input channel 3 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:99
TBlock_Output_Connector object_bool_Magnitude_Hardware_Level_Error
Hardware overcurrent limit.
Definition: P017_42_KG3_AI.h:129
virtual VOID Init()
Analog input board P017.42 KG3 AI object initialization.
Definition: P017_42_KG3_AI.cpp:168
TBlock_Output_Connector object_f32_Analog_Input_Data_3
Analog input channel 3 block output.
Definition: P017_42_KG3_AI.h:124
Definition: P017_42_KG3_AI.h:181
TBlock_Output_Connector object_f32_Analog_Input_Data_2
Analog input channel 2 block output.
Definition: P017_42_KG3_AI.h:252
I16 i16_Analog_Input_Data_1
Analog input channel 1 block output as I16.
Definition: P017_42_KG3_AI.h:247
VOID Map(TP017_42_KG3_AI_Registers *struct_Registers_Base_Address)
Analog input board P017.42 KG3 AI T1 memory map.
Definition: P017_42_KG3_AI.cpp:397
TBlock_Output_Connector object_f32_Analog_Input_Data_3
Analog input channel 3 block output.
Definition: P017_42_KG3_AI.h:253
F32 f32_Gain_3
Effective gain of the channel 3.
Definition: P017_42_KG3_AI.h:301
TBlock_Input_Connector object_f32_Software_Overcurrent_Level
Software defined overcurrent level.
Definition: P017_42_KG3_AI.h:240
F32 f32_Offset_1
Effective offset of the channel 1.
Definition: P017_42_KG3_AI.h:303
TBlock_Output_Connector object_bool_Symmenty_Error
Signal symmery error flag.
Definition: P017_42_KG3_AI.h:257
TP017_42_KG3_AI_T1()
Class constructor method.
Definition: P017_42_KG3_AI.cpp:298
TBlock_Input_Connector object_bool_Negate
Negate input analog signal value.
Definition: P017_42_KG3_AI.h:234
TBlock_Output_Connector object_bool_Hardware_Error
Critical hardware error flag.
Definition: P017_42_KG3_AI.h:256
F32 f32_Offset_3
Effective offset of the channel 3.
Definition: P017_42_KG3_AI.h:305
virtual VOID Execute()
Analog input board P017.42 KG3 AI T1 execute method.
Definition: P017_42_KG3_AI.cpp:436
virtual VOID Init()
Analog input board P017.42 KG3 AI T1 object initialization.
Definition: P017_42_KG3_AI.cpp:411
TBlock_Output_Connector object_f32_Analog_Input_Data_1
Analog input channel 1 block output.
Definition: P017_42_KG3_AI.h:251
F32 f32_Gain_2
Effective gain of the channel 2.
Definition: P017_42_KG3_AI.h:300
I16 i16_Analog_Input_Data_2
Analog input channel 2 block output as I16.
Definition: P017_42_KG3_AI.h:248
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_3
Analog input channel 3 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:228
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_1
Analog input channel 1 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:226
U16 u16_Analog_Input_Status
Analog input status.
Definition: P017_42_KG3_AI.h:246
F32 f32_Gain_1
Effective gain of the channel 1.
Definition: P017_42_KG3_AI.h:299
virtual ~TP017_42_KG3_AI_T1()
Class destructor method.
Definition: P017_42_KG3_AI.cpp:386
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_2
Analog input channel 2 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:227
TBlock_Output_Connector object_bool_Magnitude_Hardware_Level_Error
Hardware overcurrent limit.
Definition: P017_42_KG3_AI.h:258
volatile TP017_42_KG3_AI_Registers * struct_Registers
Hardware mapped registers.
Definition: P017_42_KG3_AI.h:297
TBlock_Output_Connector object_f32_Analog_Input_Data_DC
Analog input channels DC offset.
Definition: P017_42_KG3_AI.h:254
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send detailed information about functional block.
Definition: P017_42_KG3_AI.cpp:481
I16 i16_Analog_Input_Data_3
Analog input channel 3 block output as I16.
Definition: P017_42_KG3_AI.h:249
TBlock_Input_Connector object_f32_Analog_Input_Offset_2
Analog input channel 2 offset.
Definition: P017_42_KG3_AI.h:231
F32 f32_Offset_2
Effective offset of the channel 2.
Definition: P017_42_KG3_AI.h:304
TBlock_Input_Connector object_f32_Analog_Input_Offset_3
Analog input channel 3 offset.
Definition: P017_42_KG3_AI.h:232
TBlock_Input_Connector object_f32_Analog_Input_Offset_1
Analog input channel 1 offset.
Definition: P017_42_KG3_AI.h:230
TBlock_Output_Connector object_bool_Software_Overcurrent
Definition: P017_42_KG3_AI.h:259
Definition: P017_42_KG3_AI.h:312
TBlock_Output_Connector object_bool_Software_Overcurrent
Definition: P017_42_KG3_AI.h:390
TBlock_Output_Connector object_f32_Analog_Input_Data_DC
Analog input channels DC offset.
Definition: P017_42_KG3_AI.h:385
F32 f32_Offset_2
Effective offset of the channel 2.
Definition: P017_42_KG3_AI.h:435
I16 i16_Analog_Input_Data_3
Analog input channel 3 block output as I16.
Definition: P017_42_KG3_AI.h:380
U16 u16_Analog_Input_Status
Analog input status.
Definition: P017_42_KG3_AI.h:377
F32 f32_Gain_3
Effective gain of the channel 3.
Definition: P017_42_KG3_AI.h:432
TBlock_Input_Connector object_f32_Analog_Input_Offset_3
Analog input channel 3 offset.
Definition: P017_42_KG3_AI.h:363
virtual ~TP017_42_KG3_AI_T2()
Class destructor method.
Definition: P017_42_KG3_AI.cpp:646
TBlock_Input_Connector object_f32_Software_Overcurrent_Level
Software defined overcurrent level.
Definition: P017_42_KG3_AI.h:371
TBlock_Output_Connector object_bool_Symmenty_Error
Signal symmery error flag.
Definition: P017_42_KG3_AI.h:388
TP017_42_KG3_AI_T2()
Class constructor method.
Definition: P017_42_KG3_AI.cpp:558
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send detailed information about functional block.
Definition: P017_42_KG3_AI.cpp:741
volatile TP017_42_KG3_AI_Registers * struct_Registers
Hardware mapped registers.
Definition: P017_42_KG3_AI.h:428
TBlock_Output_Connector object_f32_Analog_Input_Data_3
Analog input channel 3 block output.
Definition: P017_42_KG3_AI.h:384
VOID Map(TP017_42_KG3_AI_Registers *struct_Registers_Base_Address)
Analog input board P017.42 KG3 AI T2 memory map.
Definition: P017_42_KG3_AI.cpp:657
virtual VOID Execute()
Analog input board P017.42 KG3 AI T2 execute method.
Definition: P017_42_KG3_AI.cpp:696
TBlock_Output_Connector object_f32_Analog_Input_Data_2
Analog input channel 2 block output.
Definition: P017_42_KG3_AI.h:383
virtual VOID Init()
Analog input board P017.42 KG3 AI object initialization.
Definition: P017_42_KG3_AI.cpp:671
I16 i16_Analog_Input_Data_1
Analog input channel 1 block output as I16.
Definition: P017_42_KG3_AI.h:378
TBlock_Input_Connector object_bool_Negate
Negate input analog signal value.
Definition: P017_42_KG3_AI.h:365
F32 f32_Gain_1
Effective gain of the channel 1.
Definition: P017_42_KG3_AI.h:430
TBlock_Input_Connector object_f32_Analog_Input_Offset_1
Analog input channel 1 offset.
Definition: P017_42_KG3_AI.h:361
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_2
Analog input channel 2 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:358
TBlock_Output_Connector object_bool_Magnitude_Hardware_Level_Error
Hardware overcurrent limit.
Definition: P017_42_KG3_AI.h:389
TBlock_Input_Connector object_f32_Analog_Input_Offset_2
Analog input channel 2 offset.
Definition: P017_42_KG3_AI.h:362
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_3
Analog input channel 3 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:359
TBlock_Input_Connector object_f32_Analog_Input_Full_Scale_1
Analog input channel 1 fill scale value. Also used for channel total gain adjustment.
Definition: P017_42_KG3_AI.h:357
I16 i16_Analog_Input_Data_2
Analog input channel 2 block output as I16.
Definition: P017_42_KG3_AI.h:379
TBlock_Output_Connector object_f32_Analog_Input_Data_1
Analog input channel 1 block output.
Definition: P017_42_KG3_AI.h:382
F32 f32_Offset_3
Effective offset of the channel 3.
Definition: P017_42_KG3_AI.h:436
F32 f32_Gain_2
Effective gain of the channel 2.
Definition: P017_42_KG3_AI.h:431
F32 f32_Offset_1
Effective offset of the channel 1.
Definition: P017_42_KG3_AI.h:434
TBlock_Output_Connector object_bool_Hardware_Error
Critical hardware error flag.
Definition: P017_42_KG3_AI.h:387
Definition: Protocol_Base.h:57
Definition: P017_42_KG3_AI.h:191
U16 u16_Unit_ID_L
0x00 : Unit identification L read register
Definition: P017_42_KG3_AI.h:193
U16 u16_Unit_ID_H
0x01 : Unit identification H read register
Definition: P017_42_KG3_AI.h:194
I16 i16_Analog_Input_Filtered_Data_1
0x06 : Analog input channel 1 filtered data register as I16 value
Definition: P017_42_KG3_AI.h:203
I16 i16_Analog_Input_Data_3
0x05 : Analog input channel 3 data register as I16 value
Definition: P017_42_KG3_AI.h:202
U16 u16_Status
0x02 : Status register
Definition: P017_42_KG3_AI.h:197
I16 i16_Analog_Input_Filtered_Data_3
0x08 : Analog input channel 3 filtered data register as I16 value
Definition: P017_42_KG3_AI.h:205
I16 i16_Analog_Input_Data_2
0x04 : Analog input channel 2 data register as I16 value
Definition: P017_42_KG3_AI.h:201
U16 u16_Control
0x02 : Control register
Definition: P017_42_KG3_AI.h:198
I16 i16_Analog_Input_Data_1
0x03 : Analog input channel 1 data register as I16 value
Definition: P017_42_KG3_AI.h:200
I16 i16_Analog_Input_Filtered_Data_2
0x07 : Analog input channel 2 filtered data register as I16 value
Definition: P017_42_KG3_AI.h:204
Definition: P017_42_KG3_AI.h:322
I16 i16_Analog_Input_Filtered_Data_2
0x07 : Analog input channel 2 filtered data register as I16 value
Definition: P017_42_KG3_AI.h:335
I16 i16_Analog_Input_Data_2
0x04 : Analog input channel 2 data register as I16 value
Definition: P017_42_KG3_AI.h:332
I16 i16_Analog_Input_Data_3
0x05 : Analog input channel 3 data register as I16 value
Definition: P017_42_KG3_AI.h:333
I16 i16_Analog_Input_Filtered_Data_1
0x06 : Analog input channel 1 filtered data register as I16 value
Definition: P017_42_KG3_AI.h:334
U16 u16_Unit_ID_H
0x01 : Unit identification H read register
Definition: P017_42_KG3_AI.h:325
U16 u16_Status
0x02 : Status register
Definition: P017_42_KG3_AI.h:328
U16 u16_Control
0x02 : Control register
Definition: P017_42_KG3_AI.h:329
I16 i16_Analog_Input_Filtered_Data_3
0x08 : Analog input channel 3 filtered data register as I16 value
Definition: P017_42_KG3_AI.h:336
I16 i16_Analog_Input_Data_1
0x03 : Analog input channel 1 data register as I16 value
Definition: P017_42_KG3_AI.h:331
U16 u16_Unit_ID_L
0x00 : Unit identification L read register
Definition: P017_42_KG3_AI.h:324
U16 u16_CMP_N_1_Status
Definition: P017_42_KG3_AI.h:157
U16 u16_CMP_P_3_Status
Definition: P017_42_KG3_AI.h:160
U16 u16_CMP_N_2_Status
Definition: P017_42_KG3_AI.h:159
U16 u16_Status
Definition: P017_42_KG3_AI.h:146
U16 u16_ADC_Hardware_Fault_3
Definition: P017_42_KG3_AI.h:151
U16 u16_CMP_N_3_Status
Definition: P017_42_KG3_AI.h:161
U16 u16_ADC_Hardware_Fault_2
Definition: P017_42_KG3_AI.h:150
U16 u16_CMP_P_2_Status
Definition: P017_42_KG3_AI.h:158
U16 u16_ADC_Hardware_Fault_1
Definition: P017_42_KG3_AI.h:149
U16 u16_CMP_P_1_Status
Definition: P017_42_KG3_AI.h:156
U16 u16_CMP_P_3_Status
Definition: P017_42_KG3_AI.h:289
U16 u16_CMP_N_2_Status
Definition: P017_42_KG3_AI.h:288
U16 u16_ADC_Hardware_Fault_1
Definition: P017_42_KG3_AI.h:278
U16 u16_CMP_N_1_Status
Definition: P017_42_KG3_AI.h:286
U16 u16_CMP_N_3_Status
Definition: P017_42_KG3_AI.h:290
U16 u16_CMP_P_2_Status
Definition: P017_42_KG3_AI.h:287
U16 u16_ADC_Hardware_Fault_2
Definition: P017_42_KG3_AI.h:279
U16 u16_Status
Definition: P017_42_KG3_AI.h:275
U16 u16_CMP_P_1_Status
Definition: P017_42_KG3_AI.h:285
U16 u16_ADC_Hardware_Fault_3
Definition: P017_42_KG3_AI.h:280
U16 u16_Status
Definition: P017_42_KG3_AI.h:406
U16 u16_CMP_N_2_Status
Definition: P017_42_KG3_AI.h:419
U16 u16_ADC_Hardware_Fault_2
Definition: P017_42_KG3_AI.h:410
U16 u16_ADC_Hardware_Fault_1
Definition: P017_42_KG3_AI.h:409
U16 u16_CMP_N_1_Status
Definition: P017_42_KG3_AI.h:417
U16 u16_CMP_P_3_Status
Definition: P017_42_KG3_AI.h:420
U16 u16_ADC_Hardware_Fault_3
Definition: P017_42_KG3_AI.h:411
U16 u16_CMP_P_2_Status
Definition: P017_42_KG3_AI.h:418
U16 u16_CMP_P_1_Status
Definition: P017_42_KG3_AI.h:416
U16 u16_CMP_N_3_Status
Definition: P017_42_KG3_AI.h:421