ConOpSys V2970  P004.07
ANVILEX control operating system
Block_Input_Connector.h
Go to the documentation of this file.
1 //------------------------------------------------------------------------------
2 //! @file Block_Input_Connector.h
3 //! @URL $HeadURL: https://192.168.3.4:8443/svn/P004_07/ConOpSys/Blocks/Block_Input_Connector.h $
4 //! @author $Author: minch $ (ANVILEX)
5 //! @version $Revision: 2954 $
6 //! @date $Date: 2022-03-01 12:44:44 +0500 (Di, 01 Mrz 2022) $
7 //! @brief Block input connecttor class header file.
8 //! @attention
9 //!
10 //! COPYRIGHT(C) 2015-2021 ANVILEX
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 VCL header files
47 //------------------------------------------------------------------------------
48 
49 #include "ConOpSys_Target.h"
50 
51 #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
52 
53 #include <IniFiles.hpp>
54 
55 #endif
56 
57 //------------------------------------------------------------------------------
58 // Include ConOpSys header files
59 //------------------------------------------------------------------------------
60 
61 #include "Block_Connector.h"
62 #include "Block_Output_Connector.h"
63 
64 //------------------------------------------------------------------------------
65 // Include VDC header files
66 //------------------------------------------------------------------------------
67 
68 #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
69 
70 #include "Block_Connector_Signal.h"
71 #include "Block_Connector_Address.h"
72 
73 #endif
74 
75 //------------------------------------------------------------------------------
76 // Class definitions
77 //------------------------------------------------------------------------------
78 
79 class TParameter_Base;
80 
81 //! @brief Function block input connector class
83 {
84 
85  //----------------------------------------------------------------------------
86  // Public defines, method and variables
87  //----------------------------------------------------------------------------
88 
89  public:
90 
91  //!-------------------------------------------------------------------------
92  //! @brief Class constructor method.
93  //! @note None
94  //! \par Override
95  //! Not allowed
96  //! @attention Don't call this method directly.
97  //! \par UML diagram
98  //! @dotfile TBlock_Input_Connector__TBlock_Input_Connector.dt
99  //--------------------------------------------------------------------------
100 
102 
103  //!-------------------------------------------------------------------------
104  //! @brief Class destructor method.
105  //! @note None
106  //! \par Override
107  //! Not allowed
108  //! @attention Don't call this method directly.
109  //! \par UML diagram
110  //! @dotfile TBlock_Input_Connector___TBlock_Input_Connector.dt
111  //--------------------------------------------------------------------------
112 
113  #if CONOPSYS_TARGET == CONOPSYS_TARGET_DEVICE
115  #endif
116 
117  //!-------------------------------------------------------------------------
118  //! @brief Set specified data type of the input connector
119  //! @note None
120  //! @param [in] enum_Connector_Type - Connector data type in according to the TBlock_Connector_Type
121  //! \par Override
122  //! Not allowed
123  //! @attention None
124  //! \par UML diagram
125  //! @dotfile TBlock_Input_Connector__Set_Type.dt
126  //--------------------------------------------------------------------------
127 
128  VOID Set_Type( TBlock_Connector_Type enum_Connector_Type );
129 
130  //!-------------------------------------------------------------------------
131  //! @brief Set data type of the input connector to BOOL and initialise by specifiet value
132  //! @note None
133  //! @param [in] bool_Value - Default BOOL initalisation value of input connector
134  //! \par Override
135  //! Not allowed
136  //! @attention None
137  //! \par UML diagram
138  //! @dotfile TBlock_Input_Connector__Set_Type_BOOL.dt
139  //--------------------------------------------------------------------------
140 
141  VOID Set_Type_BOOL( BOOL bool_Value );
142 
143  //!-------------------------------------------------------------------------
144  //! @brief Set data type of the input connector to U8 and initialise by specifiet value
145  //! @note None
146  //! @param [in] u8_Value - Default U8 initalisation value of input connector
147  //! \par Override
148  //! Not allowed
149  //! @attention None
150  //! \par UML diagram
151  //! @dotfile TBlock_Input_Connector__Set_Type_U8.dt
152  //--------------------------------------------------------------------------
153 
154  VOID Set_Type_U8( U8 u8_Value );
155 
156  //!-------------------------------------------------------------------------
157  //! @brief Set data type of the input connector to I8 and initialise by specifiet value
158  //! @note None
159  //! @param [in] i8_Value - Default I8 initalisation value of input connector
160  //! \par Override
161  //! Not allowed
162  //! @attention None
163  //! \par UML diagram
164  //! @dotfile TBlock_Input_Connector__Set_Type_I8.dt
165  //--------------------------------------------------------------------------
166 
167  VOID Set_Type_I8( I8 i8_Value );
168 
169  //!-------------------------------------------------------------------------
170  //! @brief Set data type of the input connector to U16 and initialise by specifiet value
171  //! @note None
172  //! @param [in] u16_Value - Default U16 initalisation value of input connector
173  //! \par Override
174  //! Not allowed
175  //! @attention None
176  //! \par UML diagram
177  //! @dotfile TBlock_Input_Connector__Set_Type_U16.dt
178  //--------------------------------------------------------------------------
179 
180  VOID Set_Type_U16( U16 u16_Value );
181 
182  //!-------------------------------------------------------------------------
183  //! @brief Set data type of the input connector to I16 and initialise by specifiet value
184  //! @note None
185  //! @param [in] i16_Value - Default I16 initalisation value of input connector
186  //! \par Override
187  //! Not allowed
188  //! @attention None
189  //! \par UML diagram
190  //! @dotfile TBlock_Input_Connector__Set_Type_I16.dt
191  //--------------------------------------------------------------------------
192 
193  VOID Set_Type_I16( I16 i16_Value );
194 
195  //!-------------------------------------------------------------------------
196  //! @brief Set data type of the input connector to U32 and initialise by specifiet value
197  //! @note None
198  //! @param [in] u32_Value - Default U32 initalisation value of input connector
199  //! \par Override
200  //! Not allowed
201  //! @attention None
202  //! \par UML diagram
203  //! @dotfile TBlock_Input_Connector__Set_Type_U32.dt
204  //--------------------------------------------------------------------------
205 
206  VOID Set_Type_U32( U32 u32_Value );
207 
208  //!-------------------------------------------------------------------------
209  //! @brief Set data type of the input connector to I32 and initialise by specifiet value
210  //! @note None
211  //! @param [in] i32_Value - Default I32 initalisation value of input connector
212  //! \par Override
213  //! Not allowed
214  //! @attention None
215  //! \par UML diagram
216  //! @dotfile TBlock_Input_Connector__Set_Type_I32.dt
217  //--------------------------------------------------------------------------
218 
219  VOID Set_Type_I32( I32 i32_Value );
220 
221  //!-------------------------------------------------------------------------
222  //! @brief Set data type of the input connector to U64 and initialise by specifiet value
223  //! @note None
224  //! @param [in] u64_Value - Default U64 initalisation value of input connector
225  //! \par Override
226  //! Not allowed
227  //! @attention None
228  //! \par UML diagram
229  //! @dotfile TBlock_Input_Connector__Set_Type_U64.dt
230  //--------------------------------------------------------------------------
231 
232  VOID Set_Type_U64( U64 u64_Value );
233 
234  //!-------------------------------------------------------------------------
235  //! @brief Set data type of the input connector to I64 and initialise by specifiet value
236  //! @note None
237  //! @param [in] i64_Value - Default I64 initalisation value of input connector
238  //! \par Override
239  //! Not allowed
240  //! @attention None
241  //! \par UML diagram
242  //! @dotfile TBlock_Input_Connector__Set_Type_I64.dt
243  //--------------------------------------------------------------------------
244 
245  VOID Set_Type_I64( I64 i64_Value );
246 
247  //!-------------------------------------------------------------------------
248  //! @brief Set data type of the input connector to U128 and initialise by specifiet value
249  //! @note None
250  //! @param [in] u128_Value - Default U128 initalisation value of input connector
251  //! \par Override
252  //! Not allowed
253  //! @attention None
254  //! \par UML diagram
255  //! @dotfile TBlock_Input_Connector__Set_Type_U128.dt
256  //--------------------------------------------------------------------------
257 
258  #if ( PARAMETER_DATATYPE_U128_SUPPORT == (true) )
259  VOID Set_Type_U128( U128 u128_Value );
260  #endif
261 
262  //!-------------------------------------------------------------------------
263  //! @brief Set data type of the input connector to I128 and initialise by specifiet value
264  //! @note None
265  //! @param [in] i128_Value - Default I128 initalisation value of input connector
266  //! \par Override
267  //! Not allowed
268  //! @attention None
269  //! \par UML diagram
270  //! @dotfile TBlock_Input_Connector__Set_Type_I128.dt
271  //--------------------------------------------------------------------------
272 
273  #if ( PARAMETER_DATATYPE_I128_SUPPORT == (true) )
274  VOID Set_Type_I128( I128 i128_Value );
275  #endif
276 
277  //!-------------------------------------------------------------------------
278  //! @brief Set data type of the input connector to U256 and initialise by specifiet value
279  //! @note None
280  //! @param [in] u256_Value - Default U256 initalisation value of input connector
281  //! \par Override
282  //! Not allowed
283  //! @attention None
284  //! \par UML diagram
285  //! @dotfile TBlock_Input_Connector__Set_Type_U256.dt
286  //--------------------------------------------------------------------------
287 
288  #if ( PARAMETER_DATATYPE_U256_SUPPORT == (true) )
289  VOID Set_Type_U256( U256 u256_Value );
290  #endif
291 
292  //!-------------------------------------------------------------------------
293  //! @brief Set data type of the input connector to I256 and initialise by specifiet value
294  //! @note None
295  //! @param [in] i256_Value - Default I256 initalisation value of input connector
296  //! \par Override
297  //! Not allowed
298  //! @attention None
299  //! \par UML diagram
300  //! @dotfile TBlock_Input_Connector__Set_Type_I256.dt
301  //--------------------------------------------------------------------------
302 
303  #if ( PARAMETER_DATATYPE_I256_SUPPORT == (true) )
304  VOID Set_Type_I256( I256 i256_Value );
305  #endif
306 
307  //!-------------------------------------------------------------------------
308  //! @brief Set data type of the input connector to F16 and initialise by specifiet value
309  //! @note None
310  //! @param [in] f16_Value - Default F16 initalisation value of input connector
311  //! \par Override
312  //! Not allowed
313  //! @attention None
314  //! \par UML diagram
315  //! @dotfile TBlock_Input_Connector__Set_Type_F16.dt
316  //--------------------------------------------------------------------------
317 
318  #if ( PARAMETER_DATATYPE_F16_SUPPORT == (true) )
319  VOID Set_Type_F16( F16 f16_Value );
320  #endif
321 
322  //!-------------------------------------------------------------------------
323  //! @brief Set data type of the input connector to F32 and initialise by specifiet value
324  //! @note None
325  //! @param [in] f32_Value - Default f32 initalisation value of input connector
326  //! \par Override
327  //! Not allowed
328  //! @attention None
329  //! \par UML diagram
330  //! @dotfile TBlock_Input_Connector__Set_Type_F32.dt
331  //--------------------------------------------------------------------------
332 
333  VOID Set_Type_F32( F32 f32_Value );
334 
335  //!-------------------------------------------------------------------------
336  //! @brief Set data type of the input connector to F64 and initialise by specifiet value
337  //! @note None
338  //! @param [in] f64_Value - Default F64 initalisation value of input connector
339  //! \par Override
340  //! Not allowed
341  //! @attention None
342  //! \par UML diagram
343  //! @dotfile TBlock_Input_Connector__Set_Type_F64.dt
344  //--------------------------------------------------------------------------
345 
346  VOID Set_Type_F64( F64 f64_Value );
347 
348  //!-------------------------------------------------------------------------
349  //! @brief Set data type of the input connector to F80 and initialise by specifiet value
350  //! @note None
351  //! @param [in] f80_Value - Default F80 initalisation value of input connector
352  //! \par Override
353  //! Not allowed
354  //! @attention None
355  //! \par UML diagram
356  //! @dotfile TBlock_Input_Connector__Set_Type_F80.dt
357  //--------------------------------------------------------------------------
358 
359  #if ( PARAMETER_DATATYPE_F80_SUPPORT == (true) )
360  VOID Set_Type_F80( F80 f80_Value );
361  #endif
362 
363  //!-------------------------------------------------------------------------
364  //! @brief Set data type of the input connector to F128 and initialise by specifiet value
365  //! @note None
366  //! @param [in] f128_Value - Default F128 initalisation value of input connector
367  //! \par Override
368  //! Not allowed
369  //! @attention None
370  //! \par UML diagram
371  //! @dotfile TBlock_Input_Connector__Set_Type_F128.dt
372  //--------------------------------------------------------------------------
373 
374  #if ( PARAMETER_DATATYPE_F128_SUPPORT == (true) )
375  VOID Set_Type_F128( F128 f128_Value );
376  #endif
377 
378  //!-------------------------------------------------------------------------
379  //! @brief Set data type of the input connector to F256 and initialise by specifiet value
380  //! @note None
381  //! @param [in] f256_Value - Default F256 initalisation value of input connector
382  //! \par Override
383  //! Not allowed
384  //! @attention None
385  //! \par UML diagram
386  //! @dotfile TBlock_Input_Connector__Set_Type_F256.dt
387  //--------------------------------------------------------------------------
388 
389  #if ( PARAMETER_DATATYPE_F256_SUPPORT == (true) )
390  VOID Set_Type_F256( F256 f256_Value );
391  #endif
392 
393  //!-------------------------------------------------------------------------
394  //! @brief Returns interconnection status of the input connector
395  //! @note None
396  //! @return BOOL - Interconnection status of the input connector
397  //! @retval false - Input connector has invalid interconnection
398  //! @retval true - Input connector valid interconnection
399  //! \par Override
400  //! Not allowed
401  //! @attention None
402  //! \par UML diagram
403  //! @dotfile TBlock_Input_Connector__Is_Connected.dt
404  //--------------------------------------------------------------------------
405 
406  BOOL Is_Connected();
407 
408  //!-------------------------------------------------------------------------
409  //! @brief Append interconnection status of the input connector
410  //! @note None
411  //! @param [inout] *bool_Connected_Status - Pointer to the input connector interconnection status variable
412  //! \par Override
413  //! Not allowed
414  //! @attention None
415  //! \par UML diagram
416  //! @dotfile TBlock_Input_Connector__Append_Connected_Status.dt
417  //--------------------------------------------------------------------------
418 
419  VOID Append_Connected_Status( BOOL *bool_Connected_Status );
420 
421  //!-------------------------------------------------------------------------
422  //! @brief Connect input connector to the output connector
423  //! @note None
424  //! @param [in] *object_Output_Connector - Pointer to the output connector
425  //! @return BOOL - Interconnection status
426  //! @retval false - Interconnection successful
427  //! @retval true - Interconnection failed
428  //! \par Override
429  //! Not allowed
430  //! @attention None
431  //! \par UML diagram
432  //! @dotfile TBlock_Input_Connector__Connect.dt
433  //--------------------------------------------------------------------------
434 
435  BOOL Connect( TBlock_Output_Connector *object_Output_Connector );
436 
437  //!-------------------------------------------------------------------------
438  //! @brief Connect input connector to the variable of the datatype BOOL
439  //! @note ANVILEX KM: This method can be depricated and replaced to operator.
440  //! @param [in] *bool_Variable - Pointer to the variable of the datatype BOOL
441  //! @return BOOL - Interconnection status
442  //! @retval false - Interconnection successful
443  //! @retval true - Interconnection failed
444  //! \par Override
445  //! Not allowed
446  //! @attention None
447  //! @todo ANVILEX KM: Check for possible deprecation.
448  //! \par UML diagram
449  //! @dotfile TBlock_Input_Connector__Connect.dt
450  //--------------------------------------------------------------------------
451 
452  BOOL Connect( BOOL *bool_Variable );
453 
454  //!-------------------------------------------------------------------------
455  //! @brief Connect input connector to the variable of the datatype F32
456  //! @note ANVILEX KM: This method can be depricated and replaced to operator.
457  //! @param [in] *f32_Variable - Pointer to the variable of the datatype F32
458  //! @return BOOL - Interconnection status
459  //! @retval false - Interconnection successful
460  //! @retval true - Interconnection failed
461  //! \par Override
462  //! Not allowed
463  //! @attention None
464  //! @todo ANVILEX KM: Check for possible deprecation.
465  //! \par UML diagram
466  //! @dotfile TBlock_Input_Connector__Connect.dt
467  //--------------------------------------------------------------------------
468 
469  BOOL Connect( F32 *f32_Variable );
470 
471  //!-------------------------------------------------------------------------
472  //! @brief Return connector value as BOOL value
473  //! @note None
474  //! @param None
475  //! @return BOOL - BOOL value
476  //! \par Override
477  //! Not allowed
478  //! @attention None
479  //! \par UML diagram
480  //! @dotfile TBlock_Input_Connector__Get_As_BOOL.dt
481  //--------------------------------------------------------------------------
482 
483  BOOL Get_As_BOOL();
484 
485  //--------------------------------------------------------------------------
486  // Public operators
487  //--------------------------------------------------------------------------
488 
489  //! @brief Connect input connector to the output connector
490  //! \par UML diagram
491  //! @dotfile TBlock_Input_Connector__operator=.dt
492  VOID operator=( TBlock_Output_Connector &object_Connector );
493 
494  //! @brief Connect input connector to the parameter
495  //! \par UML diagram
496  //! @dotfile TBlock_Input_Connector__operator=.dt
497  VOID operator=( TParameter_Base &object_Parameter );
498 
499  //! @brief Connect input connector to the BOOL variable
500  //! \par UML diagram
501  //! @dotfile TBlock_Input_Connector__operator=.dt
502  VOID operator=( BOOL *bool_Variable );
503 
504  //! @brief Connect input connector to the immediate BOOL value
505  //! \par UML diagram
506  //! @dotfile TBlock_Input_Connector__operator=.dt
507  VOID operator=( BOOL bool_Value );
508 
509  //! @brief Connect input connector to the U8 variable
510  //! \par UML diagram
511  //! @dotfile TBlock_Input_Connector__operator=.dt
512  VOID operator=( U8 *u8_Variable );
513 
514  //! @brief Connect input connector to the immediate U8 value
515  //! \par UML diagram
516  //! @dotfile TBlock_Input_Connector__operator=.dt
517  VOID operator=( U8 u8_Value );
518 
519  //! @brief Connect input connector to the I8 variable
520  //! \par UML diagram
521  //! @dotfile TBlock_Input_Connector__operator=.dt
522  VOID operator=( I8 *i8_Variable );
523 
524  //! @brief Connect input connector to the immediate I8 value
525  //! \par UML diagram
526  //! @dotfile TBlock_Input_Connector__operator=.dt
527  VOID operator=( I8 i8_Value );
528 
529  //! @brief Connect input connector to the U16 variable
530  //! \par UML diagram
531  //! @dotfile TBlock_Input_Connector__operator=.dt
532  VOID operator=( U16 *u16_Variable );
533 
534  //! @brief Connect input connector to the immediate U16 value
535  //! \par UML diagram
536  //! @dotfile TBlock_Input_Connector__operator=.dt
537  VOID operator=( U16 u16_Value );
538 
539  //! @brief Connect input connector to the I16 variable
540  //! \par UML diagram
541  //! @dotfile TBlock_Input_Connector__operator=.dt
542  VOID operator=( I16 *i16_Variable );
543 
544  //! @brief Connect to the immediate I16 value
545  //! \par UML diagram
546  //! @dotfile TBlock_Input_Connector__operator=.dt
547  VOID operator=( I16 i16_Value );
548 
549  //! @brief Connect input connector to the U32 variable
550  //! \par UML diagram
551  //! @dotfile TBlock_Input_Connector__operator=.dt
552  VOID operator=( U32 *u32_Variable );
553 
554  //! @brief Connect input connector to the immediate U32 value
555  //! \par UML diagram
556  //! @dotfile TBlock_Input_Connector__operator=.dt
557  VOID operator=( U32 u32_Value );
558 
559  //! @brief Connect input connector to the I32 variable
560  //! \par UML diagram
561  //! @dotfile TBlock_Input_Connector__operator=.dt
562  VOID operator=( I32 *i32_Variable );
563 
564  //! @brief Connect input connector to the immediate I32 value
565  //! \par UML diagram
566  //! @dotfile TBlock_Input_Connector__operator=.dt
567  VOID operator=( I32 i32_Value );
568 
569  //! @brief Connect input connector to the U64 variable
570  //! \par UML diagram
571  //! @dotfile TBlock_Input_Connector__operator=.dt
572  VOID operator=( U64 *u64_Variable );
573 
574  //! @brief Connect input connector to the immediate U64 value
575  //! \par UML diagram
576  //! @dotfile TBlock_Input_Connector__operator=.dt
577  VOID operator=( U64 u64_Value );
578 
579  //! @brief Connect input connector to the I64 variable
580  //! \par UML diagram
581  //! @dotfile TBlock_Input_Connector__operator=.dt
582  VOID operator=( I64 *i64_Variable );
583 
584  //! @brief Connect input connector to the immediate I64 value
585  //! \par UML diagram
586  //! @dotfile TBlock_Input_Connector__operator=.dt
587  VOID operator=( I64 i64_Value );
588 
589  //! @brief Connect input connector to the U128 variable
590  //! \par UML diagram
591  //! @dotfile TBlock_Input_Connector__operator=.dt
592  #if ( PARAMETER_DATATYPE_U128_SUPPORT == (true) )
593  VOID operator=( U128 *u128_Variable );
594  #endif
595 
596  //! @brief Connect input connector to the immediate U128 value
597  //! \par UML diagram
598  //! @dotfile TBlock_Input_Connector__operator=.dt
599  #if ( PARAMETER_DATATYPE_U128_SUPPORT == (true) )
600  VOID operator=( U128 u128_Value );
601  #endif
602 
603  //! @brief Connect input connector to the I128 variable
604  //! \par UML diagram
605  //! @dotfile TBlock_Input_Connector__operator=.dt
606  #if ( PARAMETER_DATATYPE_I128_SUPPORT == (true) )
607  VOID operator=( I128 *i128_Variable );
608  #endif
609 
610  //! @brief Connect input connector to the immediate I128 value
611  //! \par UML diagram
612  //! @dotfile TBlock_Input_Connector__operator=.dt
613  #if ( PARAMETER_DATATYPE_I128_SUPPORT == (true) )
614  VOID operator=( I128 i128_Value );
615  #endif
616 
617  //! @brief Connect input connector to the U256 variable
618  //! \par UML diagram
619  //! @dotfile TBlock_Input_Connector__operator=.dt
620  #if ( PARAMETER_DATATYPE_U256_SUPPORT == (true) )
621  VOID operator=( U256 *u256_Variable );
622  #endif
623 
624  //! @brief Connect input connector to the immediate U256 value
625  //! \par UML diagram
626  //! @dotfile TBlock_Input_Connector__operator=.dt
627  #if ( PARAMETER_DATATYPE_U256_SUPPORT == (true) )
628  VOID operator=( U256 u256_Value );
629  #endif
630 
631  //! @brief Connect input connector to the I256 variable
632  //! \par UML diagram
633  //! @dotfile TBlock_Input_Connector__operator=.dt
634  #if ( PARAMETER_DATATYPE_I256_SUPPORT == (true) )
635  VOID operator=( I256 *i256_Variable );
636  #endif
637 
638  //! @brief Connect input connector to the immediate I256 value
639  //! \par UML diagram
640  //! @dotfile TBlock_Input_Connector__operator=.dt
641  #if ( PARAMETER_DATATYPE_I256_SUPPORT == (true) )
642  VOID operator=( I256 i256_Value );
643  #endif
644 
645  //! @brief Connect input connector to the F16 variable
646  //! \par UML diagram
647  //! @dotfile TBlock_Input_Connector__operator=.dt
648  #if ( PARAMETER_DATATYPE_F16_SUPPORT == (true) )
649  VOID operator=( F16 *f16_Variable );
650  #endif
651 
652  //! @brief Connect input connector to the immediate F16 value
653  //! \par UML diagram
654  //! @dotfile TBlock_Input_Connector__operator=.dt
655  #if ( PARAMETER_DATATYPE_F16_SUPPORT == (true) )
656  VOID operator=( F16 f16_Value );
657  #endif
658 
659  //! @brief Connect input connector to the F32 variable
660  //! \par UML diagram
661  //! @dotfile TBlock_Input_Connector__operator=.dt
662  VOID operator=( F32 *f32_Variable );
663 
664  //! @brief Connect input connector to the immediate F32 value
665  //! \par UML diagram
666  //! @dotfile TBlock_Input_Connector__operator=.dt
667  VOID operator=( F32 f32_Value );
668 
669  //! @brief Connect input connector to the F64 variable
670  //! \par UML diagram
671  //! @dotfile TBlock_Input_Connector__operator=.dt
672  VOID operator=( F64 *f64_Variable );
673 
674  //! @brief Connect input connector to the immediate F64 value
675  //! \par UML diagram
676  //! @dotfile TBlock_Input_Connector__operator=.dt
677  VOID operator=( F64 f64_Value );
678 
679  //! @brief Connect input connector to the F80 variable
680  //! \par UML diagram
681  //! @dotfile TBlock_Input_Connector__operator=.dt
682  #if ( PARAMETER_DATATYPE_F80_SUPPORT == (true) )
683  VOID operator=( F80 *f80_Variable );
684  #endif
685 
686  //! @brief Connect input connector to the immediate F80 value
687  //! \par UML diagram
688  //! @dotfile TBlock_Input_Connector__operator=.dt
689  #if ( PARAMETER_DATATYPE_F80_SUPPORT == (true) )
690  VOID operator=( F80 f80_Value );
691  #endif
692 
693  //! @brief Connect input connector to the F128 variable
694  //! \par UML diagram
695  //! @dotfile TBlock_Input_Connector__operator=.dt
696  #if ( PARAMETER_DATATYPE_F128_SUPPORT == (true) )
697  VOID operator=( F128 *f128_Variable );
698  #endif
699 
700  //! @brief Connect input connector to the immediate F128 value
701  //! \par UML diagram
702  //! @dotfile TBlock_Input_Connector__operator=.dt
703  #if ( PARAMETER_DATATYPE_F128_SUPPORT == (true) )
704  VOID operator=( F128 f128_Value );
705  #endif
706 
707  //! @brief Connect input connector to the F256 variable
708  //! \par UML diagram
709  //! @dotfile TBlock_Input_Connector__operator=.dt
710  #if ( PARAMETER_DATATYPE_F256_SUPPORT == (true) )
711  VOID operator=( F256 *f256_Variable );
712  #endif
713 
714  //! @brief Connect input connector to the immediate F256 value
715  //! \par UML diagram
716  //! @dotfile TBlock_Input_Connector__operator=.dt
717  #if ( PARAMETER_DATATYPE_F256_SUPPORT == (true) )
718  VOID operator=( F256 f256_Value );
719  #endif
720 
721  //--------------------------------------------------------------------------
722  // Public variables
723  //--------------------------------------------------------------------------
724 
725  //! @brief Pointer to the input signal external data storage
726  //! @todo ANVILEX KM: Make property not accessable ==> Mode to private
728 
729  //----------------------------------------------------------------------------
730  // Public defines, method and variables related to VDC
731  //----------------------------------------------------------------------------
732 
733  public:
734 
735  //--------------------------------------------------------------------------
736  // Public methods related to VDC
737  //--------------------------------------------------------------------------
738 
739  #if CONOPSYS_TARGET == CONOPSYS_TARGET_VDC
740 
741  __fastcall TBlock_Input_Connector( TComponent* Owner, TList *Storage );
742 
743  //!-------------------------------------------------------------------------
744  //! @brief Class destructor method.
745  //! @note None
746  //! \par Override
747  //! Not allowed
748  //! @attention Don't call this method directly.
749  //! \par UML diagram
750  //! @dotfile TBlock_Input_Connector___TBlock_Input_Connector.dt
751  //--------------------------------------------------------------------------
752 
754 
755  VOID __fastcall LoadFromProjectFile( TMemIniFile *ProjectFile, AnsiString SubSection, int ConnectorIndex );
756 
757  VOID __fastcall SaveToProjectFile( TMemIniFile *ProjectFile, AnsiString SubSection, int ConnectorIndex );
758 
759  VOID __fastcall Paint();
760 
761  #endif
762 
763  //----------------------------------------------------------------------------
764  // Protected defines, methods and variables
765  //----------------------------------------------------------------------------
766 
767  protected:
768 
769  //----------------------------------------------------------------------------
770  // Private defines, methods and variables
771  //----------------------------------------------------------------------------
772 
773  private:
774 
775  //--------------------------------------------------------------------------
776  // Private defines
777  //--------------------------------------------------------------------------
778 
779  //! @todo ANVILEX KM: Potentioal optimisation
780  // 1. Move this declaration to the base class
781  // 2. Reduce bit field length
782 
783  //! @brief Input connector status structure
784  typedef union
785  {
786 
787  //! @brief Input connector status
789 
790  //! @brief Input connector status bit parsing structure
791  struct
792  {
793 
794  //! @brief Input connected status
796 
797  //! @brief Input incompatible datatype connection status
799 
800  //! @brief Input double connection status
802 
803  //! @brief Reserved bits
804  U32 :29;
805 
806  } Fields;
807 
808  } TInput_Connector_Status;
809 
810  //--------------------------------------------------------------------------
811  // Private methods
812  //--------------------------------------------------------------------------
813 
814  //!-------------------------------------------------------------------------
815  //! @brief Set input connector connected status method
816  //! @note None
817  //! @param None
818  //! @return None
819  //! \par Override
820  //! Not allowed
821  //! @attention None
822  //! \par UML diagram
823  //! @dotfile TBlock_Input_Connector__Set_Connected_Flag.dt
824  //--------------------------------------------------------------------------
825 
827 
828  //!-------------------------------------------------------------------------
829  //! @brief Set incompatible datatype status method
830  //! @note None
831  //! @param None
832  //! @return None
833  //! \par Override
834  //! Not allowed
835  //! @attention None
836  //! \par UML diagram
837  //! @dotfile TBlock_Input_Connector__Set_Incompatible_Datatype_Flag.dt
838  //--------------------------------------------------------------------------
839 
841 
842  //--------------------------------------------------------------------------
843  // Private variables
844  //--------------------------------------------------------------------------
845 
846  //! @brief Input connector status
848 
849 };
850 
851 //------------------------------------------------------------------------------
852 // End of file
853 //------------------------------------------------------------------------------
Block connecttor class header file.
TBlock_Connector_Type
Function block connector type class
Definition: Block_Connector.h:107
Block output connecttor class header file.
ConOpSys deploy target definitions file.
int BOOL
Boolean datatype definition.
Definition: Defines.h:124
unsigned long long U64
Binary 64-Bit unsigned integer datatype defenition.
Definition: Defines.h:213
long I32
2s Compliment 32-Bit signed integer datatype defenition
Definition: Defines.h:206
unsigned char U8
Binary 8-Bit unsigned integer datatype defenition.
Definition: Defines.h:183
signed char I8
2s Compliment 8-Bit signed integer datatype defenition
Definition: Defines.h:186
long double F80
IEEE-754 80-Bit extended presession floating point numbers datatype defenition.
Definition: Defines.h:330
void VOID
Datatypesess datatype definition.
Definition: Defines.h:105
unsigned long U32
Binary 32-Bit unsigned integer datatype defenition.
Definition: Defines.h:203
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
long long I64
2s Compliment 64-Bit signed integer datatype defenition
Definition: Defines.h:217
double F64
IEEE-754 64-Bit double presession floating point numbers datatype defenition.
Definition: Defines.h:327
unsigned short U16
Binary 16-Bit unsigned integer datatype defenition.
Definition: Defines.h:193
Function block connector base class.
Definition: Block_Connector.h:390
Function block input connector class.
Definition: Block_Input_Connector.h:83
VOID Set_Type_U64(U64 u64_Value)
Set data type of the input connector to U64 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:267
VOID Set_Type_F16(F16 f16_Value)
Set data type of the input connector to F16 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:393
VOID __fastcall SaveToProjectFile(TMemIniFile *ProjectFile, AnsiString SubSection, int ConnectorIndex)
Definition: Block_Input_Connector.cpp:3015
TBlock_Input_Connector()
Class constructor method.
Definition: Block_Input_Connector.cpp:92
VOID Set_Type_I32(I32 i32_Value)
Set data type of the input connector to I32 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:249
VOID Set_Type_BOOL(BOOL bool_Value)
Set data type of the input connector to BOOL and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:141
VOID Set_Type_I16(I16 i16_Value)
Set data type of the input connector to I16 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:213
~TBlock_Input_Connector()
Class destructor method.
Definition: Block_Input_Connector.cpp:116
TConOpSys_Variant object_Pointer
Pointer to the input signal external data storage.
Definition: Block_Input_Connector.h:727
VOID Set_Type_F256(F256 f256_Value)
Set data type of the input connector to F256 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:473
VOID Set_Type_F128(F128 f128_Value)
Set data type of the input connector to F128 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:451
VOID Set_Type_I256(I256 i256_Value)
Set data type of the input connector to I256 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:371
BOOL Is_Connected()
Returns interconnection status of the input connector.
Definition: Block_Input_Connector.cpp:493
VOID Set_Type_I128(I128 i128_Value)
Set data type of the input connector to I128 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:327
VOID Set_Type_I8(I8 i8_Value)
Set data type of the input connector to I8 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:177
VOID Set_Type_U32(U32 u32_Value)
Set data type of the input connector to U32 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:231
VOID Set_Type_I64(I64 i64_Value)
Set data type of the input connector to I64 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:285
VOID Append_Connected_Status(BOOL *bool_Connected_Status)
Append interconnection status of the input connector.
Definition: Block_Input_Connector.cpp:505
VOID Set_Type_F80(F80 f80_Value)
Set data type of the input connector to F80 and initialise by specifiet value.
VOID Set_Type_U256(U256 u256_Value)
Set data type of the input connector to U256 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:349
VOID Set_Type_U128(U128 u128_Value)
Set data type of the input connector to U128 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:305
VOID Set_Type_U8(U8 u8_Value)
Set data type of the input connector to U8 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:159
BOOL Get_As_BOOL()
Return connector value as BOOL value.
Definition: Block_Input_Connector.cpp:2982
VOID Set_Type_F32(F32 f32_Value)
Set data type of the input connector to F32 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:413
BOOL Connect(TBlock_Output_Connector *object_Output_Connector)
Connect input connector to the output connector.
Definition: Block_Input_Connector.cpp:574
VOID Set_Type_F64(F64 f64_Value)
Set data type of the input connector to F64 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:431
VOID Set_Connected_Flag()
Set input connector connected status method.
Definition: Block_Input_Connector.cpp:517
VOID Set_Incompatible_Datatype_Flag()
Set incompatible datatype status method.
Definition: Block_Input_Connector.cpp:556
TInput_Connector_Status struct_Status
Input connector status.
Definition: Block_Input_Connector.h:847
VOID operator=(TBlock_Output_Connector &object_Connector)
Connect input connector to the output connector.
Definition: Block_Input_Connector.cpp:677
VOID __fastcall LoadFromProjectFile(TMemIniFile *ProjectFile, AnsiString SubSection, int ConnectorIndex)
Definition: Block_Input_Connector.cpp:2996
VOID Set_Type(TBlock_Connector_Type enum_Connector_Type)
Set specified data type of the input connector.
Definition: Block_Input_Connector.cpp:126
VOID Set_Type_U16(U16 u16_Value)
Set data type of the input connector to U16 and initialise by specifiet value.
Definition: Block_Input_Connector.cpp:195
VOID __fastcall Paint()
Definition: Block_Input_Connector.cpp:3043
Function block output connector class.
Definition: Block_Output_Connector.h:59
ConOpSys variant class.
Definition: ConOpSys_Variant.h:851
Definition: List.h:15
Parameter base class.
Definition: Parameter_Base.h:60
Input connector status structure.
Definition: Block_Input_Connector.h:785
U32 u32_Status
Input connector status.
Definition: Block_Input_Connector.h:788
U32 u32_Connected
Input connected status.
Definition: Block_Input_Connector.h:795
U32 u32_Double_Connected
Input double connection status.
Definition: Block_Input_Connector.h:801
U32 u32_Incompatible_Datatype
Input incompatible datatype connection status.
Definition: Block_Input_Connector.h:798