lib/create_standard_function_header.sh
changeset 280 69a307407f7b
parent 269 98fc461e1888
--- a/lib/create_standard_function_header.sh	Mon Apr 04 15:59:35 2011 +0100
+++ b/lib/create_standard_function_header.sh	Tue Apr 05 14:17:16 2011 +0100
@@ -36,7 +36,32 @@
 #
 
 
-create()
+print_usage()
+{
+  echo "usage: $0 {c | iec}"
+  echo "   c -> produce c file with implementation of standard functions"
+  echo " iec -> produce txt file with declaration of standard functions"
+  exit 0
+}
+
+
+create_iec_beg()
+{
+echo
+echo {disable code generation}
+echo
+}
+
+
+create_iec_end()
+{
+echo
+echo {enable code generation}
+echo
+}
+
+
+create_iec()
 {
 echo
 echo
@@ -48,403 +73,485 @@
 }
 
 
-
-
-echo
-echo {disable code generation}
-echo
-echo
-
-create    REAL_TO_SINT                    REAL                SINT      
-create    REAL_TO_LINT                    REAL                LINT      
-create    REAL_TO_DINT                    REAL                DINT      
-create    REAL_TO_DATE                    REAL                DATE      
-create    REAL_TO_DWORD                   REAL                DWORD     
-create    REAL_TO_DT                      REAL                DT        
-create    REAL_TO_TOD                     REAL                TOD       
-create    REAL_TO_UDINT                   REAL                UDINT     
-create    REAL_TO_WORD                    REAL                WORD      
-create    REAL_TO_STRING                  REAL                STRING    
-create    REAL_TO_LWORD                   REAL                LWORD     
-create    REAL_TO_UINT                    REAL                UINT      
-create    REAL_TO_LREAL                   REAL                LREAL     
-create    REAL_TO_BYTE                    REAL                BYTE      
-create    REAL_TO_USINT                   REAL                USINT     
-create    REAL_TO_ULINT                   REAL                ULINT     
-create    REAL_TO_BOOL                    REAL                BOOL      
-create    REAL_TO_TIME                    REAL                TIME      
-create    REAL_TO_INT                     REAL                INT       
-create    SINT_TO_REAL                    SINT                REAL      
-create    SINT_TO_LINT                    SINT                LINT      
-create    SINT_TO_DINT                    SINT                DINT      
-create    SINT_TO_DATE                    SINT                DATE      
-create    SINT_TO_DWORD                   SINT                DWORD     
-create    SINT_TO_DT                      SINT                DT        
-create    SINT_TO_TOD                     SINT                TOD       
-create    SINT_TO_UDINT                   SINT                UDINT     
-create    SINT_TO_WORD                    SINT                WORD      
-create    SINT_TO_STRING                  SINT                STRING    
-create    SINT_TO_LWORD                   SINT                LWORD     
-create    SINT_TO_UINT                    SINT                UINT      
-create    SINT_TO_LREAL                   SINT                LREAL     
-create    SINT_TO_BYTE                    SINT                BYTE      
-create    SINT_TO_USINT                   SINT                USINT     
-create    SINT_TO_ULINT                   SINT                ULINT     
-create    SINT_TO_BOOL                    SINT                BOOL      
-create    SINT_TO_TIME                    SINT                TIME      
-create    SINT_TO_INT                     SINT                INT       
-create    LINT_TO_REAL                    LINT                REAL      
-create    LINT_TO_SINT                    LINT                SINT      
-create    LINT_TO_DINT                    LINT                DINT      
-create    LINT_TO_DATE                    LINT                DATE      
-create    LINT_TO_DWORD                   LINT                DWORD     
-create    LINT_TO_DT                      LINT                DT        
-create    LINT_TO_TOD                     LINT                TOD       
-create    LINT_TO_UDINT                   LINT                UDINT     
-create    LINT_TO_WORD                    LINT                WORD      
-create    LINT_TO_STRING                  LINT                STRING    
-create    LINT_TO_LWORD                   LINT                LWORD     
-create    LINT_TO_UINT                    LINT                UINT      
-create    LINT_TO_LREAL                   LINT                LREAL     
-create    LINT_TO_BYTE                    LINT                BYTE      
-create    LINT_TO_USINT                   LINT                USINT     
-create    LINT_TO_ULINT                   LINT                ULINT     
-create    LINT_TO_BOOL                    LINT                BOOL      
-create    LINT_TO_TIME                    LINT                TIME      
-create    LINT_TO_INT                     LINT                INT       
-create    DINT_TO_REAL                    DINT                REAL      
-create    DINT_TO_SINT                    DINT                SINT      
-create    DINT_TO_LINT                    DINT                LINT      
-create    DINT_TO_DATE                    DINT                DATE      
-create    DINT_TO_DWORD                   DINT                DWORD     
-create    DINT_TO_DT                      DINT                DT        
-create    DINT_TO_TOD                     DINT                TOD       
-create    DINT_TO_UDINT                   DINT                UDINT     
-create    DINT_TO_WORD                    DINT                WORD      
-create    DINT_TO_STRING                  DINT                STRING    
-create    DINT_TO_LWORD                   DINT                LWORD     
-create    DINT_TO_UINT                    DINT                UINT      
-create    DINT_TO_LREAL                   DINT                LREAL     
-create    DINT_TO_BYTE                    DINT                BYTE      
-create    DINT_TO_USINT                   DINT                USINT     
-create    DINT_TO_ULINT                   DINT                ULINT     
-create    DINT_TO_BOOL                    DINT                BOOL      
-create    DINT_TO_TIME                    DINT                TIME      
-create    DINT_TO_INT                     DINT                INT       
-create    DATE_TO_REAL                    DATE                REAL      
-create    DATE_TO_SINT                    DATE                SINT      
-create    DATE_TO_LINT                    DATE                LINT      
-create    DATE_TO_DINT                    DATE                DINT      
-create    DATE_TO_DWORD                   DATE                DWORD     
-create    DATE_TO_UDINT                   DATE                UDINT     
-create    DATE_TO_WORD                    DATE                WORD      
-create    DATE_TO_STRING                  DATE                STRING    
-create    DATE_TO_LWORD                   DATE                LWORD     
-create    DATE_TO_UINT                    DATE                UINT      
-create    DATE_TO_LREAL                   DATE                LREAL     
-create    DATE_TO_BYTE                    DATE                BYTE      
-create    DATE_TO_USINT                   DATE                USINT     
-create    DATE_TO_ULINT                   DATE                ULINT     
-create    DATE_TO_INT                     DATE                INT       
-create   DWORD_TO_REAL                   DWORD                REAL      
-create   DWORD_TO_SINT                   DWORD                SINT      
-create   DWORD_TO_LINT                   DWORD                LINT      
-create   DWORD_TO_DINT                   DWORD                DINT      
-create   DWORD_TO_DATE                   DWORD                DATE      
-create   DWORD_TO_DT                     DWORD                DT        
-create   DWORD_TO_TOD                    DWORD                TOD       
-create   DWORD_TO_UDINT                  DWORD                UDINT     
-create   DWORD_TO_WORD                   DWORD                WORD      
-create   DWORD_TO_STRING                 DWORD                STRING    
-create   DWORD_TO_LWORD                  DWORD                LWORD     
-create   DWORD_TO_UINT                   DWORD                UINT      
-create   DWORD_TO_LREAL                  DWORD                LREAL     
-create   DWORD_TO_BYTE                   DWORD                BYTE      
-create   DWORD_TO_USINT                  DWORD                USINT     
-create   DWORD_TO_ULINT                  DWORD                ULINT     
-create   DWORD_TO_BOOL                   DWORD                BOOL      
-create   DWORD_TO_TIME                   DWORD                TIME      
-create   DWORD_TO_INT                    DWORD                INT       
-create      DT_TO_REAL                      DT                REAL      
-create      DT_TO_SINT                      DT                SINT      
-create      DT_TO_LINT                      DT                LINT      
-create      DT_TO_DINT                      DT                DINT      
-create      DT_TO_DWORD                     DT                DWORD     
-create      DT_TO_UDINT                     DT                UDINT     
-create      DT_TO_WORD                      DT                WORD      
-create      DT_TO_STRING                    DT                STRING    
-create      DT_TO_LWORD                     DT                LWORD     
-create      DT_TO_UINT                      DT                UINT      
-create      DT_TO_LREAL                     DT                LREAL     
-create      DT_TO_BYTE                      DT                BYTE      
-create      DT_TO_USINT                     DT                USINT     
-create      DT_TO_ULINT                     DT                ULINT     
-create      DT_TO_INT                       DT                INT       
-create     TOD_TO_REAL                     TOD                REAL      
-create     TOD_TO_SINT                     TOD                SINT      
-create     TOD_TO_LINT                     TOD                LINT      
-create     TOD_TO_DINT                     TOD                DINT      
-create     TOD_TO_DWORD                    TOD                DWORD     
-create     TOD_TO_UDINT                    TOD                UDINT     
-create     TOD_TO_WORD                     TOD                WORD      
-create     TOD_TO_STRING                   TOD                STRING    
-create     TOD_TO_LWORD                    TOD                LWORD     
-create     TOD_TO_UINT                     TOD                UINT      
-create     TOD_TO_LREAL                    TOD                LREAL     
-create     TOD_TO_BYTE                     TOD                BYTE      
-create     TOD_TO_USINT                    TOD                USINT     
-create     TOD_TO_ULINT                    TOD                ULINT     
-create     TOD_TO_INT                      TOD                INT       
-create   UDINT_TO_REAL                   UDINT                REAL      
-create   UDINT_TO_SINT                   UDINT                SINT      
-create   UDINT_TO_LINT                   UDINT                LINT      
-create   UDINT_TO_DINT                   UDINT                DINT      
-create   UDINT_TO_DATE                   UDINT                DATE      
-create   UDINT_TO_DWORD                  UDINT                DWORD     
-create   UDINT_TO_DT                     UDINT                DT        
-create   UDINT_TO_TOD                    UDINT                TOD       
-create   UDINT_TO_WORD                   UDINT                WORD      
-create   UDINT_TO_STRING                 UDINT                STRING    
-create   UDINT_TO_LWORD                  UDINT                LWORD     
-create   UDINT_TO_UINT                   UDINT                UINT      
-create   UDINT_TO_LREAL                  UDINT                LREAL     
-create   UDINT_TO_BYTE                   UDINT                BYTE      
-create   UDINT_TO_USINT                  UDINT                USINT     
-create   UDINT_TO_ULINT                  UDINT                ULINT     
-create   UDINT_TO_BOOL                   UDINT                BOOL      
-create   UDINT_TO_TIME                   UDINT                TIME      
-create   UDINT_TO_INT                    UDINT                INT       
-create    WORD_TO_REAL                    WORD                REAL      
-create    WORD_TO_SINT                    WORD                SINT      
-create    WORD_TO_LINT                    WORD                LINT      
-create    WORD_TO_DINT                    WORD                DINT      
-create    WORD_TO_DATE                    WORD                DATE      
-create    WORD_TO_DWORD                   WORD                DWORD     
-create    WORD_TO_DT                      WORD                DT        
-create    WORD_TO_TOD                     WORD                TOD       
-create    WORD_TO_UDINT                   WORD                UDINT     
-create    WORD_TO_STRING                  WORD                STRING    
-create    WORD_TO_LWORD                   WORD                LWORD     
-create    WORD_TO_UINT                    WORD                UINT      
-create    WORD_TO_LREAL                   WORD                LREAL     
-create    WORD_TO_BYTE                    WORD                BYTE      
-create    WORD_TO_USINT                   WORD                USINT     
-create    WORD_TO_ULINT                   WORD                ULINT     
-create    WORD_TO_BOOL                    WORD                BOOL      
-create    WORD_TO_TIME                    WORD                TIME      
-create    WORD_TO_INT                     WORD                INT       
-create  STRING_TO_REAL                  STRING                REAL      
-create  STRING_TO_SINT                  STRING                SINT      
-create  STRING_TO_LINT                  STRING                LINT      
-create  STRING_TO_DINT                  STRING                DINT      
-create  STRING_TO_DATE                  STRING                DATE      
-create  STRING_TO_DWORD                 STRING                DWORD     
-create  STRING_TO_DT                    STRING                DT        
-create  STRING_TO_TOD                   STRING                TOD       
-create  STRING_TO_UDINT                 STRING                UDINT     
-create  STRING_TO_WORD                  STRING                WORD      
-create  STRING_TO_LWORD                 STRING                LWORD     
-create  STRING_TO_UINT                  STRING                UINT      
-create  STRING_TO_LREAL                 STRING                LREAL     
-create  STRING_TO_BYTE                  STRING                BYTE      
-create  STRING_TO_USINT                 STRING                USINT     
-create  STRING_TO_ULINT                 STRING                ULINT     
-create  STRING_TO_BOOL                  STRING                BOOL      
-create  STRING_TO_TIME                  STRING                TIME      
-create  STRING_TO_INT                   STRING                INT       
-create   LWORD_TO_REAL                   LWORD                REAL      
-create   LWORD_TO_SINT                   LWORD                SINT      
-create   LWORD_TO_LINT                   LWORD                LINT      
-create   LWORD_TO_DINT                   LWORD                DINT      
-create   LWORD_TO_DATE                   LWORD                DATE      
-create   LWORD_TO_DWORD                  LWORD                DWORD     
-create   LWORD_TO_DT                     LWORD                DT        
-create   LWORD_TO_TOD                    LWORD                TOD       
-create   LWORD_TO_UDINT                  LWORD                UDINT     
-create   LWORD_TO_WORD                   LWORD                WORD      
-create   LWORD_TO_STRING                 LWORD                STRING    
-create   LWORD_TO_UINT                   LWORD                UINT      
-create   LWORD_TO_LREAL                  LWORD                LREAL     
-create   LWORD_TO_BYTE                   LWORD                BYTE      
-create   LWORD_TO_USINT                  LWORD                USINT     
-create   LWORD_TO_ULINT                  LWORD                ULINT     
-create   LWORD_TO_BOOL                   LWORD                BOOL      
-create   LWORD_TO_TIME                   LWORD                TIME      
-create   LWORD_TO_INT                    LWORD                INT       
-create    UINT_TO_REAL                    UINT                REAL      
-create    UINT_TO_SINT                    UINT                SINT      
-create    UINT_TO_LINT                    UINT                LINT      
-create    UINT_TO_DINT                    UINT                DINT      
-create    UINT_TO_DATE                    UINT                DATE      
-create    UINT_TO_DWORD                   UINT                DWORD     
-create    UINT_TO_DT                      UINT                DT        
-create    UINT_TO_TOD                     UINT                TOD       
-create    UINT_TO_UDINT                   UINT                UDINT     
-create    UINT_TO_WORD                    UINT                WORD      
-create    UINT_TO_STRING                  UINT                STRING    
-create    UINT_TO_LWORD                   UINT                LWORD     
-create    UINT_TO_LREAL                   UINT                LREAL     
-create    UINT_TO_BYTE                    UINT                BYTE      
-create    UINT_TO_USINT                   UINT                USINT     
-create    UINT_TO_ULINT                   UINT                ULINT     
-create    UINT_TO_BOOL                    UINT                BOOL      
-create    UINT_TO_TIME                    UINT                TIME      
-create    UINT_TO_INT                     UINT                INT       
-create   LREAL_TO_REAL                   LREAL                REAL      
-create   LREAL_TO_SINT                   LREAL                SINT      
-create   LREAL_TO_LINT                   LREAL                LINT      
-create   LREAL_TO_DINT                   LREAL                DINT      
-create   LREAL_TO_DATE                   LREAL                DATE      
-create   LREAL_TO_DWORD                  LREAL                DWORD     
-create   LREAL_TO_DT                     LREAL                DT        
-create   LREAL_TO_TOD                    LREAL                TOD       
-create   LREAL_TO_UDINT                  LREAL                UDINT     
-create   LREAL_TO_WORD                   LREAL                WORD      
-create   LREAL_TO_STRING                 LREAL                STRING    
-create   LREAL_TO_LWORD                  LREAL                LWORD     
-create   LREAL_TO_UINT                   LREAL                UINT      
-create   LREAL_TO_BYTE                   LREAL                BYTE      
-create   LREAL_TO_USINT                  LREAL                USINT     
-create   LREAL_TO_ULINT                  LREAL                ULINT     
-create   LREAL_TO_BOOL                   LREAL                BOOL      
-create   LREAL_TO_TIME                   LREAL                TIME      
-create   LREAL_TO_INT                    LREAL                INT       
-create    BYTE_TO_REAL                    BYTE                REAL      
-create    BYTE_TO_SINT                    BYTE                SINT      
-create    BYTE_TO_LINT                    BYTE                LINT      
-create    BYTE_TO_DINT                    BYTE                DINT      
-create    BYTE_TO_DATE                    BYTE                DATE      
-create    BYTE_TO_DWORD                   BYTE                DWORD     
-create    BYTE_TO_DT                      BYTE                DT        
-create    BYTE_TO_TOD                     BYTE                TOD       
-create    BYTE_TO_UDINT                   BYTE                UDINT     
-create    BYTE_TO_WORD                    BYTE                WORD      
-create    BYTE_TO_STRING                  BYTE                STRING    
-create    BYTE_TO_LWORD                   BYTE                LWORD     
-create    BYTE_TO_UINT                    BYTE                UINT      
-create    BYTE_TO_LREAL                   BYTE                LREAL     
-create    BYTE_TO_USINT                   BYTE                USINT     
-create    BYTE_TO_ULINT                   BYTE                ULINT     
-create    BYTE_TO_BOOL                    BYTE                BOOL      
-create    BYTE_TO_TIME                    BYTE                TIME      
-create    BYTE_TO_INT                     BYTE                INT       
-create   USINT_TO_REAL                   USINT                REAL      
-create   USINT_TO_SINT                   USINT                SINT      
-create   USINT_TO_LINT                   USINT                LINT      
-create   USINT_TO_DINT                   USINT                DINT      
-create   USINT_TO_DATE                   USINT                DATE      
-create   USINT_TO_DWORD                  USINT                DWORD     
-create   USINT_TO_DT                     USINT                DT        
-create   USINT_TO_TOD                    USINT                TOD       
-create   USINT_TO_UDINT                  USINT                UDINT     
-create   USINT_TO_WORD                   USINT                WORD      
-create   USINT_TO_STRING                 USINT                STRING    
-create   USINT_TO_LWORD                  USINT                LWORD     
-create   USINT_TO_UINT                   USINT                UINT      
-create   USINT_TO_LREAL                  USINT                LREAL     
-create   USINT_TO_BYTE                   USINT                BYTE      
-create   USINT_TO_ULINT                  USINT                ULINT     
-create   USINT_TO_BOOL                   USINT                BOOL      
-create   USINT_TO_TIME                   USINT                TIME      
-create   USINT_TO_INT                    USINT                INT       
-create   ULINT_TO_REAL                   ULINT                REAL      
-create   ULINT_TO_SINT                   ULINT                SINT      
-create   ULINT_TO_LINT                   ULINT                LINT      
-create   ULINT_TO_DINT                   ULINT                DINT      
-create   ULINT_TO_DATE                   ULINT                DATE      
-create   ULINT_TO_DWORD                  ULINT                DWORD     
-create   ULINT_TO_DT                     ULINT                DT        
-create   ULINT_TO_TOD                    ULINT                TOD       
-create   ULINT_TO_UDINT                  ULINT                UDINT     
-create   ULINT_TO_WORD                   ULINT                WORD      
-create   ULINT_TO_STRING                 ULINT                STRING    
-create   ULINT_TO_LWORD                  ULINT                LWORD     
-create   ULINT_TO_UINT                   ULINT                UINT      
-create   ULINT_TO_LREAL                  ULINT                LREAL     
-create   ULINT_TO_BYTE                   ULINT                BYTE      
-create   ULINT_TO_USINT                  ULINT                USINT     
-create   ULINT_TO_BOOL                   ULINT                BOOL      
-create   ULINT_TO_TIME                   ULINT                TIME      
-create   ULINT_TO_INT                    ULINT                INT       
-create    BOOL_TO_REAL                    BOOL                REAL      
-create    BOOL_TO_SINT                    BOOL                SINT      
-create    BOOL_TO_LINT                    BOOL                LINT      
-create    BOOL_TO_DINT                    BOOL                DINT      
-create    BOOL_TO_DATE                    BOOL                DATE      
-create    BOOL_TO_DWORD                   BOOL                DWORD     
-create    BOOL_TO_DT                      BOOL                DT        
-create    BOOL_TO_TOD                     BOOL                TOD       
-create    BOOL_TO_UDINT                   BOOL                UDINT     
-create    BOOL_TO_WORD                    BOOL                WORD      
-create    BOOL_TO_STRING                  BOOL                STRING    
-create    BOOL_TO_LWORD                   BOOL                LWORD     
-create    BOOL_TO_UINT                    BOOL                UINT      
-create    BOOL_TO_LREAL                   BOOL                LREAL     
-create    BOOL_TO_BYTE                    BOOL                BYTE      
-create    BOOL_TO_USINT                   BOOL                USINT     
-create    BOOL_TO_ULINT                   BOOL                ULINT     
-create    BOOL_TO_TIME                    BOOL                TIME      
-create    BOOL_TO_INT                     BOOL                INT       
-create    TIME_TO_REAL                    TIME                REAL      
-create    TIME_TO_SINT                    TIME                SINT      
-create    TIME_TO_LINT                    TIME                LINT      
-create    TIME_TO_DINT                    TIME                DINT      
-create    TIME_TO_DWORD                   TIME                DWORD     
-create    TIME_TO_UDINT                   TIME                UDINT     
-create    TIME_TO_WORD                    TIME                WORD      
-create    TIME_TO_STRING                  TIME                STRING    
-create    TIME_TO_LWORD                   TIME                LWORD     
-create    TIME_TO_UINT                    TIME                UINT      
-create    TIME_TO_LREAL                   TIME                LREAL     
-create    TIME_TO_BYTE                    TIME                BYTE      
-create    TIME_TO_USINT                   TIME                USINT     
-create    TIME_TO_ULINT                   TIME                ULINT     
-create    TIME_TO_INT                     TIME                INT       
-create     INT_TO_REAL                     INT                REAL      
-create     INT_TO_SINT                     INT                SINT      
-create     INT_TO_LINT                     INT                LINT      
-create     INT_TO_DINT                     INT                DINT      
-create     INT_TO_DATE                     INT                DATE      
-create     INT_TO_DWORD                    INT                DWORD     
-create     INT_TO_DT                       INT                DT        
-create     INT_TO_TOD                      INT                TOD       
-create     INT_TO_UDINT                    INT                UDINT     
-create     INT_TO_WORD                     INT                WORD      
-create     INT_TO_STRING                   INT                STRING    
-create     INT_TO_LWORD                    INT                LWORD     
-create     INT_TO_UINT                     INT                UINT      
-create     INT_TO_LREAL                    INT                LREAL     
-create     INT_TO_BYTE                     INT                BYTE      
-create     INT_TO_USINT                    INT                USINT     
-create     INT_TO_ULINT                    INT                ULINT     
-create     INT_TO_BOOL                     INT                BOOL      
-create     INT_TO_TIME                     INT                TIME      
-
-create DATE_AND_TIME_TO_TIME_OF_DAY     DATE_AND_TIME       TIME_OF_DAY  
-create DATE_AND_TIME_TO_DATE            DATE_AND_TIME       DATE         
-
-echo
-echo
-echo  "(*   *BCD_TO_**   and   **_TO_BCD*     are not yet supported  *)"
-echo  "(*  We comment them out for now...                            *)"
-echo  "(*"
-create   UDINT_TO_BCD_BYTE               UDINT                BYTE  
-create   UDINT_TO_BCD_WORD               UDINT                WORD  
-create   UDINT_TO_BCD_DWORD              UDINT                DWORD 
-create   UDINT_TO_BCD_LWORD              UDINT                LWORD 
-create    UINT_TO_BCD_BYTE                UINT                BYTE    
-create    UINT_TO_BCD_WORD                UINT                WORD    
-create    UINT_TO_BCD_DWORD               UINT                DWORD   
-create    UINT_TO_BCD_LWORD               UINT                LWORD   
-create   USINT_TO_BCD_BYTE               USINT                BYTE        
-create   USINT_TO_BCD_WORD               USINT                WORD        
-create   USINT_TO_BCD_DWORD              USINT                DWORD       
-create   USINT_TO_BCD_LWORD              USINT                LWORD       
-create   ULINT_TO_BCD_BYTE               ULINT                BYTE        
-create   ULINT_TO_BCD_WORD               ULINT                WORD        
-create   ULINT_TO_BCD_DWORD              ULINT                DWORD       
-create   ULINT_TO_BCD_LWORD              ULINT                LWORD       
-
+create_c_beg()
+{
+echo  
+}
+
+create_c_end()
+{
+echo  
+}
+
+
+create_c()
+{
+echo 
+echo inline
+echo $1"("$2 IN, $3 *__OUT, BOOL EN, BOOL *__ENO")" 
+echo { $4 }
+} 
+ 
+
+##################################
+##################################
+##                              ##
+##    Main code starts here...  ##
+##                              ##
+##################################
+##################################
+
+if [ $# -ne 1 ] 
+then
+  print_usage
+fi
+
+if   [ $1 = "c" ] 
+then
+  create=create_c
+  create_beg=create_c_beg
+  create_end=create_c_end
+elif [ $1 = "iec" ] 
+then 
+  create=create_iec
+  create_beg=create_iec_beg
+  create_end=create_iec_end
+else
+  print_usage
+fi
+
+
+
+$create_beg    
+
+
+
+$create	BOOL_TO_BYTE	BOOL	BYTE	"*__OUT=(BYTE	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_DINT	BOOL	DINT	"*__OUT=(DINT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_DWORD	BOOL	DWORD	"*__OUT=(DWORD	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_INT	BOOL	INT	"*__OUT=(INT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_LINT	BOOL	LINT	"*__OUT=(LINT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_LREAL	BOOL	LREAL	"*__OUT=(LREAL	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_LWORD	BOOL	LWORD	"*__OUT=(LWORD	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_REAL	BOOL	REAL	"*__OUT=(REAL	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_SINT	BOOL	SINT	"*__OUT=(SINT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_UDINT	BOOL	UDINT	"*__OUT=(UDINT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_UINT	BOOL	UINT	"*__OUT=(UINT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_ULINT	BOOL	ULINT	"*__OUT=(ULINT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_USINT	BOOL	USINT	"*__OUT=(USINT	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BOOL_TO_WORD	BOOL	WORD	"*__OUT=(WORD	)__move_BOOL	(EN,__ENO,IN);"	
+$create	BYTE_TO_BOOL	BYTE	BOOL	"*__OUT=(BOOL	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_DINT	BYTE	DINT	"*__OUT=(DINT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_DWORD	BYTE	DWORD	"*__OUT=(DWORD	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_INT	BYTE	INT	"*__OUT=(INT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_LINT	BYTE	LINT	"*__OUT=(LINT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_LREAL	BYTE	LREAL	"*__OUT=(LREAL	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_LWORD	BYTE	LWORD	"*__OUT=(LWORD	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_REAL	BYTE	REAL	"*__OUT=(REAL	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_SINT	BYTE	SINT	"*__OUT=(SINT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_UDINT	BYTE	UDINT	"*__OUT=(UDINT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_UINT	BYTE	UINT	"*__OUT=(UINT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_ULINT	BYTE	ULINT	"*__OUT=(ULINT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_USINT	BYTE	USINT	"*__OUT=(USINT	)__move_BYTE	(EN,__ENO,IN);"	
+$create	BYTE_TO_WORD	BYTE	WORD	"*__OUT=(WORD	)__move_BYTE	(EN,__ENO,IN);"	
+$create	DINT_TO_BOOL	DINT	BOOL	"*__OUT=(BOOL	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_BYTE	DINT	BYTE	"*__OUT=(BYTE	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_DWORD	DINT	DWORD	"*__OUT=(DWORD	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_INT	DINT	INT	"*__OUT=(INT	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_LINT	DINT	LINT	"*__OUT=(LINT	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_LREAL	DINT	LREAL	"*__OUT=(LREAL	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_LWORD	DINT	LWORD	"*__OUT=(LWORD	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_REAL	DINT	REAL	"*__OUT=(REAL	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_SINT	DINT	SINT	"*__OUT=(SINT	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_UDINT	DINT	UDINT	"*__OUT=(UDINT	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_UINT	DINT	UINT	"*__OUT=(UINT	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_ULINT	DINT	ULINT	"*__OUT=(ULINT	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_USINT	DINT	USINT	"*__OUT=(USINT	)__move_DINT	(EN,__ENO,IN);"	
+$create	DINT_TO_WORD	DINT	WORD	"*__OUT=(WORD	)__move_DINT	(EN,__ENO,IN);"	
+$create	DWORD_TO_BOOL	DWORD	BOOL	"*__OUT=(BOOL	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_BYTE	DWORD	BYTE	"*__OUT=(BYTE	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_DINT	DWORD	DINT	"*__OUT=(DINT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_INT	DWORD	INT	"*__OUT=(INT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_LINT	DWORD	LINT	"*__OUT=(LINT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_LREAL	DWORD	LREAL	"*__OUT=(LREAL	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_LWORD	DWORD	LWORD	"*__OUT=(LWORD	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_REAL	DWORD	REAL	"*__OUT=(REAL	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_SINT	DWORD	SINT	"*__OUT=(SINT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_UDINT	DWORD	UDINT	"*__OUT=(UDINT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_UINT	DWORD	UINT	"*__OUT=(UINT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_ULINT	DWORD	ULINT	"*__OUT=(ULINT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_USINT	DWORD	USINT	"*__OUT=(USINT	)__move_DWORD	(EN,__ENO,IN);"	
+$create	DWORD_TO_WORD	DWORD	WORD	"*__OUT=(WORD	)__move_DWORD	(EN,__ENO,IN);"	
+$create	INT_TO_BOOL	INT	BOOL	"*__OUT=(BOOL	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_BYTE	INT	BYTE	"*__OUT=(BYTE	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_DINT	INT	DINT	"*__OUT=(DINT	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_DWORD	INT	DWORD	"*__OUT=(DWORD	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_LINT	INT	LINT	"*__OUT=(LINT	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_LREAL	INT	LREAL	"*__OUT=(LREAL	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_LWORD	INT	LWORD	"*__OUT=(LWORD	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_REAL	INT	REAL	"*__OUT=(REAL	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_SINT	INT	SINT	"*__OUT=(SINT	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_UDINT	INT	UDINT	"*__OUT=(UDINT	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_UINT	INT	UINT	"*__OUT=(UINT	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_ULINT	INT	ULINT	"*__OUT=(ULINT	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_USINT	INT	USINT	"*__OUT=(USINT	)__move_INT	(EN,__ENO,IN);"	
+$create	INT_TO_WORD	INT	WORD	"*__OUT=(WORD	)__move_INT	(EN,__ENO,IN);"	
+$create	LINT_TO_BOOL	LINT	BOOL	"*__OUT=(BOOL	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_BYTE	LINT	BYTE	"*__OUT=(BYTE	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_DINT	LINT	DINT	"*__OUT=(DINT	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_DWORD	LINT	DWORD	"*__OUT=(DWORD	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_INT	LINT	INT	"*__OUT=(INT	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_LREAL	LINT	LREAL	"*__OUT=(LREAL	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_LWORD	LINT	LWORD	"*__OUT=(LWORD	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_REAL	LINT	REAL	"*__OUT=(REAL	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_SINT	LINT	SINT	"*__OUT=(SINT	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_UDINT	LINT	UDINT	"*__OUT=(UDINT	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_UINT	LINT	UINT	"*__OUT=(UINT	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_ULINT	LINT	ULINT	"*__OUT=(ULINT	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_USINT	LINT	USINT	"*__OUT=(USINT	)__move_LINT	(EN,__ENO,IN);"	
+$create	LINT_TO_WORD	LINT	WORD	"*__OUT=(WORD	)__move_LINT	(EN,__ENO,IN);"	
+$create	LREAL_TO_BOOL	LREAL	BOOL	"*__OUT=(BOOL	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_BYTE	LREAL	BYTE	"*__OUT=(BYTE	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_DINT	LREAL	DINT	"*__OUT=(DINT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_DWORD	LREAL	DWORD	"*__OUT=(DWORD	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_INT	LREAL	INT	"*__OUT=(INT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_LINT	LREAL	LINT	"*__OUT=(LINT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_LWORD	LREAL	LWORD	"*__OUT=(LWORD	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_REAL	LREAL	REAL	"*__OUT=(REAL	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_SINT	LREAL	SINT	"*__OUT=(SINT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_UDINT	LREAL	UDINT	"*__OUT=(UDINT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_UINT	LREAL	UINT	"*__OUT=(UINT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_ULINT	LREAL	ULINT	"*__OUT=(ULINT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_USINT	LREAL	USINT	"*__OUT=(USINT	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LREAL_TO_WORD	LREAL	WORD	"*__OUT=(WORD	)__move_LREAL	(EN,__ENO,IN);"	
+$create	LWORD_TO_BOOL	LWORD	BOOL	"*__OUT=(BOOL	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_BYTE	LWORD	BYTE	"*__OUT=(BYTE	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_DINT	LWORD	DINT	"*__OUT=(DINT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_DWORD	LWORD	DWORD	"*__OUT=(DWORD	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_INT	LWORD	INT	"*__OUT=(INT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_LINT	LWORD	LINT	"*__OUT=(LINT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_LREAL	LWORD	LREAL	"*__OUT=(LREAL	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_REAL	LWORD	REAL	"*__OUT=(REAL	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_SINT	LWORD	SINT	"*__OUT=(SINT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_UDINT	LWORD	UDINT	"*__OUT=(UDINT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_UINT	LWORD	UINT	"*__OUT=(UINT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_ULINT	LWORD	ULINT	"*__OUT=(ULINT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_USINT	LWORD	USINT	"*__OUT=(USINT	)__move_LWORD	(EN,__ENO,IN);"	
+$create	LWORD_TO_WORD	LWORD	WORD	"*__OUT=(WORD	)__move_LWORD	(EN,__ENO,IN);"	
+$create	REAL_TO_BOOL	REAL	BOOL	"*__OUT=(BOOL	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_BYTE	REAL	BYTE	"*__OUT=(BYTE	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_DINT	REAL	DINT	"*__OUT=(DINT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_DWORD	REAL	DWORD	"*__OUT=(DWORD	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_INT	REAL	INT	"*__OUT=(INT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_LINT	REAL	LINT	"*__OUT=(LINT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_LREAL	REAL	LREAL	"*__OUT=(LREAL	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_LWORD	REAL	LWORD	"*__OUT=(LWORD	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_SINT	REAL	SINT	"*__OUT=(SINT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_UDINT	REAL	UDINT	"*__OUT=(UDINT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_UINT	REAL	UINT	"*__OUT=(UINT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_ULINT	REAL	ULINT	"*__OUT=(ULINT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_USINT	REAL	USINT	"*__OUT=(USINT	)__move_REAL	(EN,__ENO,IN);"	
+$create	REAL_TO_WORD	REAL	WORD	"*__OUT=(WORD	)__move_REAL	(EN,__ENO,IN);"	
+$create	SINT_TO_BOOL	SINT	BOOL	"*__OUT=(BOOL	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_BYTE	SINT	BYTE	"*__OUT=(BYTE	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_DINT	SINT	DINT	"*__OUT=(DINT	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_DWORD	SINT	DWORD	"*__OUT=(DWORD	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_INT	SINT	INT	"*__OUT=(INT	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_LINT	SINT	LINT	"*__OUT=(LINT	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_LREAL	SINT	LREAL	"*__OUT=(LREAL	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_LWORD	SINT	LWORD	"*__OUT=(LWORD	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_REAL	SINT	REAL	"*__OUT=(REAL	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_UDINT	SINT	UDINT	"*__OUT=(UDINT	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_UINT	SINT	UINT	"*__OUT=(UINT	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_ULINT	SINT	ULINT	"*__OUT=(ULINT	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_USINT	SINT	USINT	"*__OUT=(USINT	)__move_SINT	(EN,__ENO,IN);"	
+$create	SINT_TO_WORD	SINT	WORD	"*__OUT=(WORD	)__move_SINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_BOOL	UDINT	BOOL	"*__OUT=(BOOL	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_BYTE	UDINT	BYTE	"*__OUT=(BYTE	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_DINT	UDINT	DINT	"*__OUT=(DINT	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_DWORD	UDINT	DWORD	"*__OUT=(DWORD	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_INT	UDINT	INT	"*__OUT=(INT	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_LINT	UDINT	LINT	"*__OUT=(LINT	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_LREAL	UDINT	LREAL	"*__OUT=(LREAL	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_LWORD	UDINT	LWORD	"*__OUT=(LWORD	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_REAL	UDINT	REAL	"*__OUT=(REAL	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_SINT	UDINT	SINT	"*__OUT=(SINT	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_UINT	UDINT	UINT	"*__OUT=(UINT	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_ULINT	UDINT	ULINT	"*__OUT=(ULINT	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_USINT	UDINT	USINT	"*__OUT=(USINT	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UDINT_TO_WORD	UDINT	WORD	"*__OUT=(WORD	)__move_UDINT	(EN,__ENO,IN);"	
+$create	UINT_TO_BOOL	UINT	BOOL	"*__OUT=(BOOL	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_BYTE	UINT	BYTE	"*__OUT=(BYTE	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_DINT	UINT	DINT	"*__OUT=(DINT	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_DWORD	UINT	DWORD	"*__OUT=(DWORD	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_INT	UINT	INT	"*__OUT=(INT	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_LINT	UINT	LINT	"*__OUT=(LINT	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_LREAL	UINT	LREAL	"*__OUT=(LREAL	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_LWORD	UINT	LWORD	"*__OUT=(LWORD	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_REAL	UINT	REAL	"*__OUT=(REAL	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_SINT	UINT	SINT	"*__OUT=(SINT	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_UDINT	UINT	UDINT	"*__OUT=(UDINT	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_ULINT	UINT	ULINT	"*__OUT=(ULINT	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_USINT	UINT	USINT	"*__OUT=(USINT	)__move_UINT	(EN,__ENO,IN);"	
+$create	UINT_TO_WORD	UINT	WORD	"*__OUT=(WORD	)__move_UINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_BOOL	ULINT	BOOL	"*__OUT=(BOOL	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_BYTE	ULINT	BYTE	"*__OUT=(BYTE	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_DINT	ULINT	DINT	"*__OUT=(DINT	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_DWORD	ULINT	DWORD	"*__OUT=(DWORD	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_INT	ULINT	INT	"*__OUT=(INT	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_LINT	ULINT	LINT	"*__OUT=(LINT	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_LREAL	ULINT	LREAL	"*__OUT=(LREAL	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_LWORD	ULINT	LWORD	"*__OUT=(LWORD	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_REAL	ULINT	REAL	"*__OUT=(REAL	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_SINT	ULINT	SINT	"*__OUT=(SINT	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_UDINT	ULINT	UDINT	"*__OUT=(UDINT	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_UINT	ULINT	UINT	"*__OUT=(UINT	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_USINT	ULINT	USINT	"*__OUT=(USINT	)__move_ULINT	(EN,__ENO,IN);"	
+$create	ULINT_TO_WORD	ULINT	WORD	"*__OUT=(WORD	)__move_ULINT	(EN,__ENO,IN);"	
+$create	USINT_TO_BOOL	USINT	BOOL	"*__OUT=(BOOL	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_BYTE	USINT	BYTE	"*__OUT=(BYTE	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_DINT	USINT	DINT	"*__OUT=(DINT	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_DWORD	USINT	DWORD	"*__OUT=(DWORD	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_INT	USINT	INT	"*__OUT=(INT	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_LINT	USINT	LINT	"*__OUT=(LINT	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_LREAL	USINT	LREAL	"*__OUT=(LREAL	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_LWORD	USINT	LWORD	"*__OUT=(LWORD	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_REAL	USINT	REAL	"*__OUT=(REAL	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_SINT	USINT	SINT	"*__OUT=(SINT	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_UDINT	USINT	UDINT	"*__OUT=(UDINT	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_UINT	USINT	UINT	"*__OUT=(UINT	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_ULINT	USINT	ULINT	"*__OUT=(ULINT	)__move_USINT	(EN,__ENO,IN);"	
+$create	USINT_TO_WORD	USINT	WORD	"*__OUT=(WORD	)__move_USINT	(EN,__ENO,IN);"	
+$create	WORD_TO_BOOL	WORD	BOOL	"*__OUT=(BOOL	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_BYTE	WORD	BYTE	"*__OUT=(BYTE	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_DINT	WORD	DINT	"*__OUT=(DINT	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_DWORD	WORD	DWORD	"*__OUT=(DWORD	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_INT	WORD	INT	"*__OUT=(INT	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_LINT	WORD	LINT	"*__OUT=(LINT	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_LREAL	WORD	LREAL	"*__OUT=(LREAL	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_LWORD	WORD	LWORD	"*__OUT=(LWORD	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_REAL	WORD	REAL	"*__OUT=(REAL	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_SINT	WORD	SINT	"*__OUT=(SINT	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_UDINT	WORD	UDINT	"*__OUT=(UDINT	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_UINT	WORD	UINT	"*__OUT=(UINT	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_ULINT	WORD	ULINT	"*__OUT=(ULINT	)__move_WORD	(EN,__ENO,IN);"	
+$create	WORD_TO_USINT	WORD	USINT	"*__OUT=(USINT	)__move_WORD	(EN,__ENO,IN);"	
+
+
+########################
+# Handling strings...  #
+########################
+$create	STRING_TO_BOOL	STRING	BOOL	"*__OUT=(BOOL	)__string_to_bool	(EN,__ENO,IN);"	
+$create	STRING_TO_BYTE	STRING	BYTE	"*__OUT=(BYTE	)__string_to_bit	(EN,__ENO,IN);"	
+$create	STRING_TO_WORD	STRING	WORD	"*__OUT=(WORD	)__string_to_bit	(EN,__ENO,IN);"	
+$create	STRING_TO_DWORD	STRING	DWORD	"*__OUT=(DWORD	)__string_to_bit	(EN,__ENO,IN);"	
+$create	STRING_TO_LWORD	STRING	LWORD	"*__OUT=(LWORD	)__string_to_bit	(EN,__ENO,IN);"	
+$create	STRING_TO_SINT	STRING	SINT	"*__OUT=(SINT	)__string_to_sint	(EN,__ENO,IN);"	
+$create	STRING_TO_INT	STRING	INT	"*__OUT=(INT	)__string_to_sint	(EN,__ENO,IN);"	
+$create	STRING_TO_DINT	STRING	DINT	"*__OUT=(DINT	)__string_to_sint	(EN,__ENO,IN);"	
+$create	STRING_TO_LINT	STRING	LINT	"*__OUT=(LINT	)__string_to_sint	(EN,__ENO,IN);"	
+$create	STRING_TO_USINT	STRING	USINT	"*__OUT=(USINT	)__string_to_uint	(EN,__ENO,IN);"	
+$create	STRING_TO_UINT	STRING	UINT	"*__OUT=(UINT	)__string_to_uint	(EN,__ENO,IN);"	
+$create	STRING_TO_UDINT	STRING	UDINT	"*__OUT=(UDINT	)__string_to_uint	(EN,__ENO,IN);"	
+$create	STRING_TO_ULINT	STRING	ULINT	"*__OUT=(ULINT	)__string_to_uint	(EN,__ENO,IN);"	
+$create	STRING_TO_REAL	STRING	REAL	"*__OUT=(REAL	)__string_to_real	(EN,__ENO,IN);"	
+$create	STRING_TO_LREAL	STRING	LREAL	"*__OUT=(LREAL	)__string_to_real	(EN,__ENO,IN);"	
+$create	STRING_TO_DATE	STRING	DATE	"*__OUT=(DATE	)__string_to_time	(EN,__ENO,IN);"
+$create	STRING_TO_TIME	STRING	TIME	"*__OUT=(TIME	)__string_to_time	(EN,__ENO,IN);"
+$create	STRING_TO_TOD	STRING	TOD	"*__OUT=(TOD	)__string_to_time	(EN,__ENO,IN);"
+$create	STRING_TO_DT	STRING	DT	"*__OUT=(DT	)__string_to_time	(EN,__ENO,IN);"
+
+$create	BOOL_TO_STRING	BOOL	STRING	"*__OUT=(STRING	)__bool_to_string	(EN,__ENO,IN);"
+$create	BYTE_TO_STRING	BYTE	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
+$create	WORD_TO_STRING	WORD	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
+$create	DWORD_TO_STRING	DWORD	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
+$create	LWORD_TO_STRING	LWORD	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
+$create	INT_TO_STRING	INT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
+$create	LINT_TO_STRING	LINT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
+$create	DINT_TO_STRING	DINT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
+$create	SINT_TO_STRING	SINT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
+$create	USINT_TO_STRING	USINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
+$create	UINT_TO_STRING	UINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
+$create	UDINT_TO_STRING	UDINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
+$create	ULINT_TO_STRING	ULINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
+$create	REAL_TO_STRING	REAL	STRING	"*__OUT=(STRING	)__real_to_string	(EN,__ENO,IN);"
+$create	LREAL_TO_STRING	LREAL	STRING	"*__OUT=(STRING	)__real_to_string	(EN,__ENO,IN);"
+$create	DATE_TO_STRING	DATE	STRING	"*__OUT=(STRING	)__date_to_string	(EN,__ENO,IN);"
+$create	DT_TO_STRING	DT	STRING	"*__OUT=(STRING	)__dt_to_string	(EN,__ENO,IN);"
+$create	TIME_TO_STRING	TIME	STRING	"*__OUT=(STRING	)__time_to_string	(EN,__ENO,IN);"
+$create	TOD_TO_STRING	TOD	STRING	"*__OUT=(STRING	)__tod_to_string	(EN,__ENO,IN);"
+
+########################
+# Handling of dates    #
+########################
+$create	BOOL_TO_DATE	BOOL	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	BYTE_TO_DATE	BYTE	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	WORD_TO_DATE	WORD	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	DWORD_TO_DATE	DWORD	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	LWORD_TO_DATE	LWORD	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	SINT_TO_DATE	SINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	INT_TO_DATE	INT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	DINT_TO_DATE	DINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	LINT_TO_DATE	LINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	USINT_TO_DATE	USINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	UINT_TO_DATE	UINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	UDINT_TO_DATE	UDINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	ULINT_TO_DATE	ULINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
+$create	REAL_TO_DATE	REAL	DATE	"*__OUT=(DATE	)__real_to_time	(EN,__ENO,IN);"
+$create	LREAL_TO_DATE	LREAL	DATE	"*__OUT=(DATE	)__real_to_time	(EN,__ENO,IN);"
+
+$create	DATE_TO_BYTE	DATE	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_WORD	DATE	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_DWORD	DATE	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_LWORD	DATE	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_SINT	DATE	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_INT	DATE	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_DINT	DATE	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_LINT	DATE	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_USINT	DATE	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_UINT	DATE	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_UDINT	DATE	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_ULINT	DATE	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DATE_TO_REAL	DATE	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
+$create	DATE_TO_LREAL	DATE	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
+
+########################
+# Handling of TIME     #
+########################
+$create	BOOL_TO_TIME	BOOL	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	BYTE_TO_TIME	BYTE	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	WORD_TO_TIME	WORD	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	DWORD_TO_TIME	DWORD	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	LWORD_TO_TIME	LWORD	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	SINT_TO_TIME	SINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	INT_TO_TIME	INT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	DINT_TO_TIME	DINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	LINT_TO_TIME	LINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	USINT_TO_TIME	USINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	UINT_TO_TIME	UINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	UDINT_TO_TIME	UDINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	ULINT_TO_TIME	ULINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
+$create	REAL_TO_TIME	REAL	TIME	"*__OUT=(TIME	)__real_to_time	(EN,__ENO,IN);"
+$create	LREAL_TO_TIME	LREAL	TIME	"*__OUT=(TIME	)__real_to_time	(EN,__ENO,IN);"
+
+$create	TIME_TO_BYTE	TIME	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_WORD	TIME	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_DWORD	TIME	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_LWORD	TIME	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_SINT	TIME	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_INT	TIME	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_DINT	TIME	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_LINT	TIME	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_USINT	TIME	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_UINT	TIME	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_UDINT	TIME	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_ULINT	TIME	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TIME_TO_REAL	TIME	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
+$create	TIME_TO_LREAL	TIME	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
+
+
+##############################
+# Handling of DATE_AND_TIME  #
+##############################
+$create	BOOL_TO_DT	BOOL	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	BYTE_TO_DT	BYTE	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	WORD_TO_DT	WORD	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	DWORD_TO_DT	DWORD	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	LWORD_TO_DT	LWORD	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	SINT_TO_DT	SINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	INT_TO_DT	INT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	DINT_TO_DT	DINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	LINT_TO_DT	LINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	USINT_TO_DT	USINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	UINT_TO_DT	UINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	UDINT_TO_DT	UDINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	ULINT_TO_DT	ULINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
+$create	REAL_TO_DT	REAL	DT	"*__OUT=(DT	)__real_to_time	(EN,__ENO,IN);"
+$create	LREAL_TO_DT	LREAL	DT	"*__OUT=(DT	)__real_to_time	(EN,__ENO,IN);"
+
+$create	DT_TO_BYTE	DT	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_WORD	DT	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_DWORD	DT	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_LWORD	DT	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_SINT	DT	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_INT	DT	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_DINT	DT	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_LINT	DT	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_USINT	DT	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_UINT	DT	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_UDINT	DT	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_ULINT	DT	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	DT_TO_REAL	DT	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
+$create	DT_TO_LREAL	DT	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
+
+
+####################
+# Handling of TOD  #
+####################
+
+$create	BOOL_TO_TOD	BOOL	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	BYTE_TO_TOD	BYTE	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	WORD_TO_TOD	WORD	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	DWORD_TO_TOD	DWORD	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	LWORD_TO_TOD	LWORD	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	SINT_TO_TOD	SINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	INT_TO_TOD	INT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	DINT_TO_TOD	DINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	LINT_TO_TOD	LINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	USINT_TO_TOD	USINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	UINT_TO_TOD	UINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	UDINT_TO_TOD	UDINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	ULINT_TO_TOD	ULINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
+$create	REAL_TO_TOD	REAL	TOD	"*__OUT=(TOD	)__real_to_time	(EN,__ENO,IN);"
+$create	LREAL_TO_TOD	LREAL	TOD	"*__OUT=(TOD	)__real_to_time	(EN,__ENO,IN);"
+
+$create	TOD_TO_BYTE	TOD	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_WORD	TOD	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_DWORD	TOD	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_LWORD	TOD	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_SINT	TOD	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_INT	TOD	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_DINT	TOD	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_LINT	TOD	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_USINT	TOD	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_UINT	TOD	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_UDINT	TOD	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_ULINT	TOD	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
+$create	TOD_TO_REAL	TOD	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
+$create	TOD_TO_LREAL	TOD	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
+
+
+
+                                                                                                                                                 
+$create DATE_AND_TIME_TO_TIME_OF_DAY	DT       TOD	"*__OUT = (TOD	)__date_and_time_to_time_of_day(EN,__ENO,IN);" 
+$create DATE_AND_TIME_TO_DATE	DT	DATE	"*__OUT = (DATE	)__date_and_time_to_date(EN,__ENO,IN);" 
+                                                                                                                     
+
+
+
+$create_end    
+
+                                                                                          
+# *BCD_TO_**   and   **_TO_BCD*     are not yet supported                        
+# We comment them out for now...                                                  
+exit 0                                                                                     
+create   UDINT_TO_BCD_BYTE               UDINT                BYTE                             
+create   UDINT_TO_BCD_WORD               UDINT                WORD                             
+create   UDINT_TO_BCD_DWORD              UDINT                DWORD                            
+create   UDINT_TO_BCD_LWORD              UDINT                LWORD                            
+create    UINT_TO_BCD_BYTE                UINT                BYTE                             
+create    UINT_TO_BCD_WORD                UINT                WORD                             
+create    UINT_TO_BCD_DWORD               UINT                DWORD                            
+create    UINT_TO_BCD_LWORD               UINT                LWORD                            
+create   USINT_TO_BCD_BYTE               USINT                BYTE                             
+create   USINT_TO_BCD_WORD               USINT                WORD                             
+create   USINT_TO_BCD_DWORD              USINT                DWORD                            
+create   USINT_TO_BCD_LWORD              USINT                LWORD               
+create   ULINT_TO_BCD_BYTE               ULINT                BYTE                
+create   ULINT_TO_BCD_WORD               ULINT                WORD                
+create   ULINT_TO_BCD_DWORD              ULINT                DWORD               
+create   ULINT_TO_BCD_LWORD              ULINT                LWORD               
+                                                                                  
 create   BYTE_BCD_TO_UDINT               BYTE                 UDINT                
 create   WORD_BCD_TO_UDINT               WORD                 UDINT                
 create  DWORD_BCD_TO_UDINT               DWORD                UDINT                
@@ -461,11 +568,8 @@
 create   WORD_BCD_TO_ULINT               WORD                 ULINT                      
 create  DWORD_BCD_TO_ULINT               DWORD                ULINT                      
 create  LWORD_BCD_TO_ULINT               LWORD                ULINT                      
-echo  "*)"
-
-
-echo
-echo {enable code generation}
+
+
 
 exit 0