ConOpSys V2970  P004.07
ANVILEX control operating system
Function_Block_Orthogonal_Signal_Generator.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Function_Block_Orthogonal_Signal_Generator.h
3 //! @author ANVILEX GmbH
4 //! @version V1.0
5 //! @date 04.05.2015
6 //! @brief Orthogonal signal generator class header file.
7 //! @attention
8 //!
9 //! COPYRIGHT(C) 2015 ANVILEX GmbH
10 //!
11 //! Redistribution and use in source and binary forms, with or without
12 //! modification, are permitted provided that the following conditions are met:
13 //!
14 //! 1. Redistributions of source code must retain the above copyright notice,
15 //! this list of conditions and the following disclaimer.
16 //!
17 //! 2. Redistributions in binary form must reproduce the above copyright notice,
18 //! this list of conditions and the following disclaimer in the documentation
19 //! and/or other materials provided with the distribution.
20 //!
21 //! 3. Neither the name of ANVILEX nor the names of its contributors may be
22 //! used to endorse or promote products derived from this software without
23 //! specific prior written permission.
24 //!
25 //! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26 //! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 //! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 //! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
29 //! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 //! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 //! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 //! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 //! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 //! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 //! POSSIBILITY OF SUCH DAMAGE.
36 //------------------------------------------------------------------------------
37 
38 //------------------------------------------------------------------------------
39 // Protecting header files from mutual, recursive inclusion.
40 //------------------------------------------------------------------------------
41 
42 #pragma once
43 
44 //------------------------------------------------------------------------------
45 // Include standard libraries header files
46 //------------------------------------------------------------------------------
47 
48 //------------------------------------------------------------------------------
49 // Include thrid party header files
50 //------------------------------------------------------------------------------
51 
52 //------------------------------------------------------------------------------
53 // Include ConOpSys header files
54 //------------------------------------------------------------------------------
55 
56 #include "Math_Defines.h"
57 #include "Function_Block_Base.h"
58 
59 //------------------------------------------------------------------------------
60 // Include ConOpSys application header files
61 //------------------------------------------------------------------------------
62 
63 //------------------------------------------------------------------------------
64 // Macros
65 //------------------------------------------------------------------------------
66 
67 //------------------------------------------------------------------------------
68 //! @brief Class declaration description
69 //------------------------------------------------------------------------------
70 
72 {
73 
74  //----------------------------------------------------------------------------
75  // Public defines, methods and variables
76  //----------------------------------------------------------------------------
77 
78  public:
79 
80  //!-------------------------------------------------------------------------
81  //! @brief Class constructor method.
82  //! @note None
83  //! \par Override
84  //! Not allowed
85  //! @attention Don't call this method directly.
86  //--------------------------------------------------------------------------
87 
89 
90  //!-------------------------------------------------------------------------
91  //! @brief Class destructor method.
92  //! @note None
93  //! \par Override
94  //! Not allowed
95  //! @attention Don't call this method directly.
96  //--------------------------------------------------------------------------
97 
99 
100  //!-------------------------------------------------------------------------
101  //! @brief Function block initialisation method.
102  //! @note None
103  //! \par Override
104  //! Not allowed
105  //! @attention Don't call this method directly.
106  //--------------------------------------------------------------------------
107 
108  virtual VOID Init();
109 
110  //!-------------------------------------------------------------------------
111  //! @brief Function block execution method.
112  //! @note None
113  //! \par Override
114  //! Not allowed
115  //! @attention None
116  //--------------------------------------------------------------------------
117 
118  virtual VOID Execute();
119 
120  //!-------------------------------------------------------------------------
121  //! @brief Send information about Function block over communication link protocol
122  //! @note This method sends information about Function block over specified communication link protocol.
123  //! @param [in] TProtocol_Base *object_Protocol - Pointer to the communication link protocol
124  //! @return None
125  //! \par Override
126  //! Not allowed
127  //! @attention None
128  //--------------------------------------------------------------------------
129 
130  virtual VOID Send_Information( TProtocol_Base *object_Protocol );
131 
132  //--------------------------------------------------------------------------
133  // Function block parameter connectors
134  //--------------------------------------------------------------------------
135 
136  TBlock_Input_Connector object_f32_Magnitude; //!< Output signal magnitude
137  TBlock_Input_Connector object_f32_DC_Offset; //!< Output signal d.c. offset
138  TBlock_Input_Connector object_f32_Frequency; //!< Output signal frequency
139  TBlock_Input_Connector object_f32_Phase_Offset; //!< Output signal phase offset
140 
141  TBlock_Input_Connector object_f32_Sample_Time; //!< Sample time parameter
142 
143  //--------------------------------------------------------------------------
144  // Function block input connectors
145  //--------------------------------------------------------------------------
146 
147  //--------------------------------------------------------------------------
148  // Function block output connectors
149  //--------------------------------------------------------------------------
150 
154 
155  //----------------------------------------------------------------------------
156  // Protected defines, methods and variables
157  //----------------------------------------------------------------------------
158 
159  protected:
160 
161  //----------------------------------------------------------------------------
162  // Private defines, methods and variables
163  //----------------------------------------------------------------------------
164 
165  private:
166 
167  // Local variables
170 
171 };
172 
173 //------------------------------------------------------------------------------
174 // End Of File
175 //------------------------------------------------------------------------------
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
Function block base class header file.
Diverse mathematical defines 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_Orthogonal_Signal_Generator.h:72
virtual ~TFunction_Block_Orthogonal_Signal_Generator()
Class destructor method.
Definition: Function_Block_Orthogonal_Signal_Generator.cpp:122
virtual VOID Execute()
Function block execution method.
Definition: Function_Block_Orthogonal_Signal_Generator.cpp:148
TFunction_Block_Orthogonal_Signal_Generator()
Class constructor method.
Definition: Function_Block_Orthogonal_Signal_Generator.cpp:68
TBlock_Output_Connector object_f32_Theta
Definition: Function_Block_Orthogonal_Signal_Generator.h:151
TBlock_Output_Connector object_f32_Cosinus
Definition: Function_Block_Orthogonal_Signal_Generator.h:153
TBlock_Output_Connector object_f32_Sinus
Definition: Function_Block_Orthogonal_Signal_Generator.h:152
virtual VOID Init()
Function block initialisation method.
Definition: Function_Block_Orthogonal_Signal_Generator.cpp:132
TBlock_Input_Connector object_f32_Magnitude
Output signal magnitude.
Definition: Function_Block_Orthogonal_Signal_Generator.h:136
F32 f32_Angle_Step
Definition: Function_Block_Orthogonal_Signal_Generator.h:168
TBlock_Input_Connector object_f32_Sample_Time
Sample time parameter.
Definition: Function_Block_Orthogonal_Signal_Generator.h:141
virtual VOID Send_Information(TProtocol_Base *object_Protocol)
Send information about Function block over communication link protocol.
Definition: Function_Block_Orthogonal_Signal_Generator.cpp:192
TBlock_Input_Connector object_f32_Frequency
Output signal frequency.
Definition: Function_Block_Orthogonal_Signal_Generator.h:138
TBlock_Input_Connector object_f32_Phase_Offset
Output signal phase offset.
Definition: Function_Block_Orthogonal_Signal_Generator.h:139
TBlock_Input_Connector object_f32_DC_Offset
Output signal d.c. offset.
Definition: Function_Block_Orthogonal_Signal_Generator.h:137
F32 f32_Angle
Definition: Function_Block_Orthogonal_Signal_Generator.h:169
Definition: Protocol_Base.h:57