lib/create_standard_function_header.sh
changeset 280 69a307407f7b
parent 269 98fc461e1888
equal deleted inserted replaced
277:f88718b71b6c 280:69a307407f7b
    34 #  A shell script to create the library header file containing the 
    34 #  A shell script to create the library header file containing the 
    35 #  standard functions defined in IEC 61131-3
    35 #  standard functions defined in IEC 61131-3
    36 #
    36 #
    37 
    37 
    38 
    38 
    39 create()
    39 print_usage()
       
    40 {
       
    41   echo "usage: $0 {c | iec}"
       
    42   echo "   c -> produce c file with implementation of standard functions"
       
    43   echo " iec -> produce txt file with declaration of standard functions"
       
    44   exit 0
       
    45 }
       
    46 
       
    47 
       
    48 create_iec_beg()
       
    49 {
       
    50 echo
       
    51 echo {disable code generation}
       
    52 echo
       
    53 }
       
    54 
       
    55 
       
    56 create_iec_end()
       
    57 {
       
    58 echo
       
    59 echo {enable code generation}
       
    60 echo
       
    61 }
       
    62 
       
    63 
       
    64 create_iec()
    40 {
    65 {
    41 echo
    66 echo
    42 echo
    67 echo
    43 echo FUNCTION $1 : $3
    68 echo FUNCTION $1 : $3
    44 echo "  "VAR_INPUT   IN: $2";" END_VAR
    69 echo "  "VAR_INPUT   IN: $2";" END_VAR
    46 echo "  "LD TRUE
    71 echo "  "LD TRUE
    47 echo END_FUNCTION
    72 echo END_FUNCTION
    48 }
    73 }
    49 
    74 
    50 
    75 
    51 
    76 create_c_beg()
    52 
    77 {
    53 echo
    78 echo  
    54 echo {disable code generation}
    79 }
    55 echo
    80 
    56 echo
    81 create_c_end()
    57 
    82 {
    58 create    REAL_TO_SINT                    REAL                SINT      
    83 echo  
    59 create    REAL_TO_LINT                    REAL                LINT      
    84 }
    60 create    REAL_TO_DINT                    REAL                DINT      
    85 
    61 create    REAL_TO_DATE                    REAL                DATE      
    86 
    62 create    REAL_TO_DWORD                   REAL                DWORD     
    87 create_c()
    63 create    REAL_TO_DT                      REAL                DT        
    88 {
    64 create    REAL_TO_TOD                     REAL                TOD       
    89 echo 
    65 create    REAL_TO_UDINT                   REAL                UDINT     
    90 echo inline
    66 create    REAL_TO_WORD                    REAL                WORD      
    91 echo $1"("$2 IN, $3 *__OUT, BOOL EN, BOOL *__ENO")" 
    67 create    REAL_TO_STRING                  REAL                STRING    
    92 echo { $4 }
    68 create    REAL_TO_LWORD                   REAL                LWORD     
    93 } 
    69 create    REAL_TO_UINT                    REAL                UINT      
    94  
    70 create    REAL_TO_LREAL                   REAL                LREAL     
    95 
    71 create    REAL_TO_BYTE                    REAL                BYTE      
    96 ##################################
    72 create    REAL_TO_USINT                   REAL                USINT     
    97 ##################################
    73 create    REAL_TO_ULINT                   REAL                ULINT     
    98 ##                              ##
    74 create    REAL_TO_BOOL                    REAL                BOOL      
    99 ##    Main code starts here...  ##
    75 create    REAL_TO_TIME                    REAL                TIME      
   100 ##                              ##
    76 create    REAL_TO_INT                     REAL                INT       
   101 ##################################
    77 create    SINT_TO_REAL                    SINT                REAL      
   102 ##################################
    78 create    SINT_TO_LINT                    SINT                LINT      
   103 
    79 create    SINT_TO_DINT                    SINT                DINT      
   104 if [ $# -ne 1 ] 
    80 create    SINT_TO_DATE                    SINT                DATE      
   105 then
    81 create    SINT_TO_DWORD                   SINT                DWORD     
   106   print_usage
    82 create    SINT_TO_DT                      SINT                DT        
   107 fi
    83 create    SINT_TO_TOD                     SINT                TOD       
   108 
    84 create    SINT_TO_UDINT                   SINT                UDINT     
   109 if   [ $1 = "c" ] 
    85 create    SINT_TO_WORD                    SINT                WORD      
   110 then
    86 create    SINT_TO_STRING                  SINT                STRING    
   111   create=create_c
    87 create    SINT_TO_LWORD                   SINT                LWORD     
   112   create_beg=create_c_beg
    88 create    SINT_TO_UINT                    SINT                UINT      
   113   create_end=create_c_end
    89 create    SINT_TO_LREAL                   SINT                LREAL     
   114 elif [ $1 = "iec" ] 
    90 create    SINT_TO_BYTE                    SINT                BYTE      
   115 then 
    91 create    SINT_TO_USINT                   SINT                USINT     
   116   create=create_iec
    92 create    SINT_TO_ULINT                   SINT                ULINT     
   117   create_beg=create_iec_beg
    93 create    SINT_TO_BOOL                    SINT                BOOL      
   118   create_end=create_iec_end
    94 create    SINT_TO_TIME                    SINT                TIME      
   119 else
    95 create    SINT_TO_INT                     SINT                INT       
   120   print_usage
    96 create    LINT_TO_REAL                    LINT                REAL      
   121 fi
    97 create    LINT_TO_SINT                    LINT                SINT      
   122 
    98 create    LINT_TO_DINT                    LINT                DINT      
   123 
    99 create    LINT_TO_DATE                    LINT                DATE      
   124 
   100 create    LINT_TO_DWORD                   LINT                DWORD     
   125 $create_beg    
   101 create    LINT_TO_DT                      LINT                DT        
   126 
   102 create    LINT_TO_TOD                     LINT                TOD       
   127 
   103 create    LINT_TO_UDINT                   LINT                UDINT     
   128 
   104 create    LINT_TO_WORD                    LINT                WORD      
   129 $create	BOOL_TO_BYTE	BOOL	BYTE	"*__OUT=(BYTE	)__move_BOOL	(EN,__ENO,IN);"	
   105 create    LINT_TO_STRING                  LINT                STRING    
   130 $create	BOOL_TO_DINT	BOOL	DINT	"*__OUT=(DINT	)__move_BOOL	(EN,__ENO,IN);"	
   106 create    LINT_TO_LWORD                   LINT                LWORD     
   131 $create	BOOL_TO_DWORD	BOOL	DWORD	"*__OUT=(DWORD	)__move_BOOL	(EN,__ENO,IN);"	
   107 create    LINT_TO_UINT                    LINT                UINT      
   132 $create	BOOL_TO_INT	BOOL	INT	"*__OUT=(INT	)__move_BOOL	(EN,__ENO,IN);"	
   108 create    LINT_TO_LREAL                   LINT                LREAL     
   133 $create	BOOL_TO_LINT	BOOL	LINT	"*__OUT=(LINT	)__move_BOOL	(EN,__ENO,IN);"	
   109 create    LINT_TO_BYTE                    LINT                BYTE      
   134 $create	BOOL_TO_LREAL	BOOL	LREAL	"*__OUT=(LREAL	)__move_BOOL	(EN,__ENO,IN);"	
   110 create    LINT_TO_USINT                   LINT                USINT     
   135 $create	BOOL_TO_LWORD	BOOL	LWORD	"*__OUT=(LWORD	)__move_BOOL	(EN,__ENO,IN);"	
   111 create    LINT_TO_ULINT                   LINT                ULINT     
   136 $create	BOOL_TO_REAL	BOOL	REAL	"*__OUT=(REAL	)__move_BOOL	(EN,__ENO,IN);"	
   112 create    LINT_TO_BOOL                    LINT                BOOL      
   137 $create	BOOL_TO_SINT	BOOL	SINT	"*__OUT=(SINT	)__move_BOOL	(EN,__ENO,IN);"	
   113 create    LINT_TO_TIME                    LINT                TIME      
   138 $create	BOOL_TO_UDINT	BOOL	UDINT	"*__OUT=(UDINT	)__move_BOOL	(EN,__ENO,IN);"	
   114 create    LINT_TO_INT                     LINT                INT       
   139 $create	BOOL_TO_UINT	BOOL	UINT	"*__OUT=(UINT	)__move_BOOL	(EN,__ENO,IN);"	
   115 create    DINT_TO_REAL                    DINT                REAL      
   140 $create	BOOL_TO_ULINT	BOOL	ULINT	"*__OUT=(ULINT	)__move_BOOL	(EN,__ENO,IN);"	
   116 create    DINT_TO_SINT                    DINT                SINT      
   141 $create	BOOL_TO_USINT	BOOL	USINT	"*__OUT=(USINT	)__move_BOOL	(EN,__ENO,IN);"	
   117 create    DINT_TO_LINT                    DINT                LINT      
   142 $create	BOOL_TO_WORD	BOOL	WORD	"*__OUT=(WORD	)__move_BOOL	(EN,__ENO,IN);"	
   118 create    DINT_TO_DATE                    DINT                DATE      
   143 $create	BYTE_TO_BOOL	BYTE	BOOL	"*__OUT=(BOOL	)__move_BYTE	(EN,__ENO,IN);"	
   119 create    DINT_TO_DWORD                   DINT                DWORD     
   144 $create	BYTE_TO_DINT	BYTE	DINT	"*__OUT=(DINT	)__move_BYTE	(EN,__ENO,IN);"	
   120 create    DINT_TO_DT                      DINT                DT        
   145 $create	BYTE_TO_DWORD	BYTE	DWORD	"*__OUT=(DWORD	)__move_BYTE	(EN,__ENO,IN);"	
   121 create    DINT_TO_TOD                     DINT                TOD       
   146 $create	BYTE_TO_INT	BYTE	INT	"*__OUT=(INT	)__move_BYTE	(EN,__ENO,IN);"	
   122 create    DINT_TO_UDINT                   DINT                UDINT     
   147 $create	BYTE_TO_LINT	BYTE	LINT	"*__OUT=(LINT	)__move_BYTE	(EN,__ENO,IN);"	
   123 create    DINT_TO_WORD                    DINT                WORD      
   148 $create	BYTE_TO_LREAL	BYTE	LREAL	"*__OUT=(LREAL	)__move_BYTE	(EN,__ENO,IN);"	
   124 create    DINT_TO_STRING                  DINT                STRING    
   149 $create	BYTE_TO_LWORD	BYTE	LWORD	"*__OUT=(LWORD	)__move_BYTE	(EN,__ENO,IN);"	
   125 create    DINT_TO_LWORD                   DINT                LWORD     
   150 $create	BYTE_TO_REAL	BYTE	REAL	"*__OUT=(REAL	)__move_BYTE	(EN,__ENO,IN);"	
   126 create    DINT_TO_UINT                    DINT                UINT      
   151 $create	BYTE_TO_SINT	BYTE	SINT	"*__OUT=(SINT	)__move_BYTE	(EN,__ENO,IN);"	
   127 create    DINT_TO_LREAL                   DINT                LREAL     
   152 $create	BYTE_TO_UDINT	BYTE	UDINT	"*__OUT=(UDINT	)__move_BYTE	(EN,__ENO,IN);"	
   128 create    DINT_TO_BYTE                    DINT                BYTE      
   153 $create	BYTE_TO_UINT	BYTE	UINT	"*__OUT=(UINT	)__move_BYTE	(EN,__ENO,IN);"	
   129 create    DINT_TO_USINT                   DINT                USINT     
   154 $create	BYTE_TO_ULINT	BYTE	ULINT	"*__OUT=(ULINT	)__move_BYTE	(EN,__ENO,IN);"	
   130 create    DINT_TO_ULINT                   DINT                ULINT     
   155 $create	BYTE_TO_USINT	BYTE	USINT	"*__OUT=(USINT	)__move_BYTE	(EN,__ENO,IN);"	
   131 create    DINT_TO_BOOL                    DINT                BOOL      
   156 $create	BYTE_TO_WORD	BYTE	WORD	"*__OUT=(WORD	)__move_BYTE	(EN,__ENO,IN);"	
   132 create    DINT_TO_TIME                    DINT                TIME      
   157 $create	DINT_TO_BOOL	DINT	BOOL	"*__OUT=(BOOL	)__move_DINT	(EN,__ENO,IN);"	
   133 create    DINT_TO_INT                     DINT                INT       
   158 $create	DINT_TO_BYTE	DINT	BYTE	"*__OUT=(BYTE	)__move_DINT	(EN,__ENO,IN);"	
   134 create    DATE_TO_REAL                    DATE                REAL      
   159 $create	DINT_TO_DWORD	DINT	DWORD	"*__OUT=(DWORD	)__move_DINT	(EN,__ENO,IN);"	
   135 create    DATE_TO_SINT                    DATE                SINT      
   160 $create	DINT_TO_INT	DINT	INT	"*__OUT=(INT	)__move_DINT	(EN,__ENO,IN);"	
   136 create    DATE_TO_LINT                    DATE                LINT      
   161 $create	DINT_TO_LINT	DINT	LINT	"*__OUT=(LINT	)__move_DINT	(EN,__ENO,IN);"	
   137 create    DATE_TO_DINT                    DATE                DINT      
   162 $create	DINT_TO_LREAL	DINT	LREAL	"*__OUT=(LREAL	)__move_DINT	(EN,__ENO,IN);"	
   138 create    DATE_TO_DWORD                   DATE                DWORD     
   163 $create	DINT_TO_LWORD	DINT	LWORD	"*__OUT=(LWORD	)__move_DINT	(EN,__ENO,IN);"	
   139 create    DATE_TO_UDINT                   DATE                UDINT     
   164 $create	DINT_TO_REAL	DINT	REAL	"*__OUT=(REAL	)__move_DINT	(EN,__ENO,IN);"	
   140 create    DATE_TO_WORD                    DATE                WORD      
   165 $create	DINT_TO_SINT	DINT	SINT	"*__OUT=(SINT	)__move_DINT	(EN,__ENO,IN);"	
   141 create    DATE_TO_STRING                  DATE                STRING    
   166 $create	DINT_TO_UDINT	DINT	UDINT	"*__OUT=(UDINT	)__move_DINT	(EN,__ENO,IN);"	
   142 create    DATE_TO_LWORD                   DATE                LWORD     
   167 $create	DINT_TO_UINT	DINT	UINT	"*__OUT=(UINT	)__move_DINT	(EN,__ENO,IN);"	
   143 create    DATE_TO_UINT                    DATE                UINT      
   168 $create	DINT_TO_ULINT	DINT	ULINT	"*__OUT=(ULINT	)__move_DINT	(EN,__ENO,IN);"	
   144 create    DATE_TO_LREAL                   DATE                LREAL     
   169 $create	DINT_TO_USINT	DINT	USINT	"*__OUT=(USINT	)__move_DINT	(EN,__ENO,IN);"	
   145 create    DATE_TO_BYTE                    DATE                BYTE      
   170 $create	DINT_TO_WORD	DINT	WORD	"*__OUT=(WORD	)__move_DINT	(EN,__ENO,IN);"	
   146 create    DATE_TO_USINT                   DATE                USINT     
   171 $create	DWORD_TO_BOOL	DWORD	BOOL	"*__OUT=(BOOL	)__move_DWORD	(EN,__ENO,IN);"	
   147 create    DATE_TO_ULINT                   DATE                ULINT     
   172 $create	DWORD_TO_BYTE	DWORD	BYTE	"*__OUT=(BYTE	)__move_DWORD	(EN,__ENO,IN);"	
   148 create    DATE_TO_INT                     DATE                INT       
   173 $create	DWORD_TO_DINT	DWORD	DINT	"*__OUT=(DINT	)__move_DWORD	(EN,__ENO,IN);"	
   149 create   DWORD_TO_REAL                   DWORD                REAL      
   174 $create	DWORD_TO_INT	DWORD	INT	"*__OUT=(INT	)__move_DWORD	(EN,__ENO,IN);"	
   150 create   DWORD_TO_SINT                   DWORD                SINT      
   175 $create	DWORD_TO_LINT	DWORD	LINT	"*__OUT=(LINT	)__move_DWORD	(EN,__ENO,IN);"	
   151 create   DWORD_TO_LINT                   DWORD                LINT      
   176 $create	DWORD_TO_LREAL	DWORD	LREAL	"*__OUT=(LREAL	)__move_DWORD	(EN,__ENO,IN);"	
   152 create   DWORD_TO_DINT                   DWORD                DINT      
   177 $create	DWORD_TO_LWORD	DWORD	LWORD	"*__OUT=(LWORD	)__move_DWORD	(EN,__ENO,IN);"	
   153 create   DWORD_TO_DATE                   DWORD                DATE      
   178 $create	DWORD_TO_REAL	DWORD	REAL	"*__OUT=(REAL	)__move_DWORD	(EN,__ENO,IN);"	
   154 create   DWORD_TO_DT                     DWORD                DT        
   179 $create	DWORD_TO_SINT	DWORD	SINT	"*__OUT=(SINT	)__move_DWORD	(EN,__ENO,IN);"	
   155 create   DWORD_TO_TOD                    DWORD                TOD       
   180 $create	DWORD_TO_UDINT	DWORD	UDINT	"*__OUT=(UDINT	)__move_DWORD	(EN,__ENO,IN);"	
   156 create   DWORD_TO_UDINT                  DWORD                UDINT     
   181 $create	DWORD_TO_UINT	DWORD	UINT	"*__OUT=(UINT	)__move_DWORD	(EN,__ENO,IN);"	
   157 create   DWORD_TO_WORD                   DWORD                WORD      
   182 $create	DWORD_TO_ULINT	DWORD	ULINT	"*__OUT=(ULINT	)__move_DWORD	(EN,__ENO,IN);"	
   158 create   DWORD_TO_STRING                 DWORD                STRING    
   183 $create	DWORD_TO_USINT	DWORD	USINT	"*__OUT=(USINT	)__move_DWORD	(EN,__ENO,IN);"	
   159 create   DWORD_TO_LWORD                  DWORD                LWORD     
   184 $create	DWORD_TO_WORD	DWORD	WORD	"*__OUT=(WORD	)__move_DWORD	(EN,__ENO,IN);"	
   160 create   DWORD_TO_UINT                   DWORD                UINT      
   185 $create	INT_TO_BOOL	INT	BOOL	"*__OUT=(BOOL	)__move_INT	(EN,__ENO,IN);"	
   161 create   DWORD_TO_LREAL                  DWORD                LREAL     
   186 $create	INT_TO_BYTE	INT	BYTE	"*__OUT=(BYTE	)__move_INT	(EN,__ENO,IN);"	
   162 create   DWORD_TO_BYTE                   DWORD                BYTE      
   187 $create	INT_TO_DINT	INT	DINT	"*__OUT=(DINT	)__move_INT	(EN,__ENO,IN);"	
   163 create   DWORD_TO_USINT                  DWORD                USINT     
   188 $create	INT_TO_DWORD	INT	DWORD	"*__OUT=(DWORD	)__move_INT	(EN,__ENO,IN);"	
   164 create   DWORD_TO_ULINT                  DWORD                ULINT     
   189 $create	INT_TO_LINT	INT	LINT	"*__OUT=(LINT	)__move_INT	(EN,__ENO,IN);"	
   165 create   DWORD_TO_BOOL                   DWORD                BOOL      
   190 $create	INT_TO_LREAL	INT	LREAL	"*__OUT=(LREAL	)__move_INT	(EN,__ENO,IN);"	
   166 create   DWORD_TO_TIME                   DWORD                TIME      
   191 $create	INT_TO_LWORD	INT	LWORD	"*__OUT=(LWORD	)__move_INT	(EN,__ENO,IN);"	
   167 create   DWORD_TO_INT                    DWORD                INT       
   192 $create	INT_TO_REAL	INT	REAL	"*__OUT=(REAL	)__move_INT	(EN,__ENO,IN);"	
   168 create      DT_TO_REAL                      DT                REAL      
   193 $create	INT_TO_SINT	INT	SINT	"*__OUT=(SINT	)__move_INT	(EN,__ENO,IN);"	
   169 create      DT_TO_SINT                      DT                SINT      
   194 $create	INT_TO_UDINT	INT	UDINT	"*__OUT=(UDINT	)__move_INT	(EN,__ENO,IN);"	
   170 create      DT_TO_LINT                      DT                LINT      
   195 $create	INT_TO_UINT	INT	UINT	"*__OUT=(UINT	)__move_INT	(EN,__ENO,IN);"	
   171 create      DT_TO_DINT                      DT                DINT      
   196 $create	INT_TO_ULINT	INT	ULINT	"*__OUT=(ULINT	)__move_INT	(EN,__ENO,IN);"	
   172 create      DT_TO_DWORD                     DT                DWORD     
   197 $create	INT_TO_USINT	INT	USINT	"*__OUT=(USINT	)__move_INT	(EN,__ENO,IN);"	
   173 create      DT_TO_UDINT                     DT                UDINT     
   198 $create	INT_TO_WORD	INT	WORD	"*__OUT=(WORD	)__move_INT	(EN,__ENO,IN);"	
   174 create      DT_TO_WORD                      DT                WORD      
   199 $create	LINT_TO_BOOL	LINT	BOOL	"*__OUT=(BOOL	)__move_LINT	(EN,__ENO,IN);"	
   175 create      DT_TO_STRING                    DT                STRING    
   200 $create	LINT_TO_BYTE	LINT	BYTE	"*__OUT=(BYTE	)__move_LINT	(EN,__ENO,IN);"	
   176 create      DT_TO_LWORD                     DT                LWORD     
   201 $create	LINT_TO_DINT	LINT	DINT	"*__OUT=(DINT	)__move_LINT	(EN,__ENO,IN);"	
   177 create      DT_TO_UINT                      DT                UINT      
   202 $create	LINT_TO_DWORD	LINT	DWORD	"*__OUT=(DWORD	)__move_LINT	(EN,__ENO,IN);"	
   178 create      DT_TO_LREAL                     DT                LREAL     
   203 $create	LINT_TO_INT	LINT	INT	"*__OUT=(INT	)__move_LINT	(EN,__ENO,IN);"	
   179 create      DT_TO_BYTE                      DT                BYTE      
   204 $create	LINT_TO_LREAL	LINT	LREAL	"*__OUT=(LREAL	)__move_LINT	(EN,__ENO,IN);"	
   180 create      DT_TO_USINT                     DT                USINT     
   205 $create	LINT_TO_LWORD	LINT	LWORD	"*__OUT=(LWORD	)__move_LINT	(EN,__ENO,IN);"	
   181 create      DT_TO_ULINT                     DT                ULINT     
   206 $create	LINT_TO_REAL	LINT	REAL	"*__OUT=(REAL	)__move_LINT	(EN,__ENO,IN);"	
   182 create      DT_TO_INT                       DT                INT       
   207 $create	LINT_TO_SINT	LINT	SINT	"*__OUT=(SINT	)__move_LINT	(EN,__ENO,IN);"	
   183 create     TOD_TO_REAL                     TOD                REAL      
   208 $create	LINT_TO_UDINT	LINT	UDINT	"*__OUT=(UDINT	)__move_LINT	(EN,__ENO,IN);"	
   184 create     TOD_TO_SINT                     TOD                SINT      
   209 $create	LINT_TO_UINT	LINT	UINT	"*__OUT=(UINT	)__move_LINT	(EN,__ENO,IN);"	
   185 create     TOD_TO_LINT                     TOD                LINT      
   210 $create	LINT_TO_ULINT	LINT	ULINT	"*__OUT=(ULINT	)__move_LINT	(EN,__ENO,IN);"	
   186 create     TOD_TO_DINT                     TOD                DINT      
   211 $create	LINT_TO_USINT	LINT	USINT	"*__OUT=(USINT	)__move_LINT	(EN,__ENO,IN);"	
   187 create     TOD_TO_DWORD                    TOD                DWORD     
   212 $create	LINT_TO_WORD	LINT	WORD	"*__OUT=(WORD	)__move_LINT	(EN,__ENO,IN);"	
   188 create     TOD_TO_UDINT                    TOD                UDINT     
   213 $create	LREAL_TO_BOOL	LREAL	BOOL	"*__OUT=(BOOL	)__move_LREAL	(EN,__ENO,IN);"	
   189 create     TOD_TO_WORD                     TOD                WORD      
   214 $create	LREAL_TO_BYTE	LREAL	BYTE	"*__OUT=(BYTE	)__move_LREAL	(EN,__ENO,IN);"	
   190 create     TOD_TO_STRING                   TOD                STRING    
   215 $create	LREAL_TO_DINT	LREAL	DINT	"*__OUT=(DINT	)__move_LREAL	(EN,__ENO,IN);"	
   191 create     TOD_TO_LWORD                    TOD                LWORD     
   216 $create	LREAL_TO_DWORD	LREAL	DWORD	"*__OUT=(DWORD	)__move_LREAL	(EN,__ENO,IN);"	
   192 create     TOD_TO_UINT                     TOD                UINT      
   217 $create	LREAL_TO_INT	LREAL	INT	"*__OUT=(INT	)__move_LREAL	(EN,__ENO,IN);"	
   193 create     TOD_TO_LREAL                    TOD                LREAL     
   218 $create	LREAL_TO_LINT	LREAL	LINT	"*__OUT=(LINT	)__move_LREAL	(EN,__ENO,IN);"	
   194 create     TOD_TO_BYTE                     TOD                BYTE      
   219 $create	LREAL_TO_LWORD	LREAL	LWORD	"*__OUT=(LWORD	)__move_LREAL	(EN,__ENO,IN);"	
   195 create     TOD_TO_USINT                    TOD                USINT     
   220 $create	LREAL_TO_REAL	LREAL	REAL	"*__OUT=(REAL	)__move_LREAL	(EN,__ENO,IN);"	
   196 create     TOD_TO_ULINT                    TOD                ULINT     
   221 $create	LREAL_TO_SINT	LREAL	SINT	"*__OUT=(SINT	)__move_LREAL	(EN,__ENO,IN);"	
   197 create     TOD_TO_INT                      TOD                INT       
   222 $create	LREAL_TO_UDINT	LREAL	UDINT	"*__OUT=(UDINT	)__move_LREAL	(EN,__ENO,IN);"	
   198 create   UDINT_TO_REAL                   UDINT                REAL      
   223 $create	LREAL_TO_UINT	LREAL	UINT	"*__OUT=(UINT	)__move_LREAL	(EN,__ENO,IN);"	
   199 create   UDINT_TO_SINT                   UDINT                SINT      
   224 $create	LREAL_TO_ULINT	LREAL	ULINT	"*__OUT=(ULINT	)__move_LREAL	(EN,__ENO,IN);"	
   200 create   UDINT_TO_LINT                   UDINT                LINT      
   225 $create	LREAL_TO_USINT	LREAL	USINT	"*__OUT=(USINT	)__move_LREAL	(EN,__ENO,IN);"	
   201 create   UDINT_TO_DINT                   UDINT                DINT      
   226 $create	LREAL_TO_WORD	LREAL	WORD	"*__OUT=(WORD	)__move_LREAL	(EN,__ENO,IN);"	
   202 create   UDINT_TO_DATE                   UDINT                DATE      
   227 $create	LWORD_TO_BOOL	LWORD	BOOL	"*__OUT=(BOOL	)__move_LWORD	(EN,__ENO,IN);"	
   203 create   UDINT_TO_DWORD                  UDINT                DWORD     
   228 $create	LWORD_TO_BYTE	LWORD	BYTE	"*__OUT=(BYTE	)__move_LWORD	(EN,__ENO,IN);"	
   204 create   UDINT_TO_DT                     UDINT                DT        
   229 $create	LWORD_TO_DINT	LWORD	DINT	"*__OUT=(DINT	)__move_LWORD	(EN,__ENO,IN);"	
   205 create   UDINT_TO_TOD                    UDINT                TOD       
   230 $create	LWORD_TO_DWORD	LWORD	DWORD	"*__OUT=(DWORD	)__move_LWORD	(EN,__ENO,IN);"	
   206 create   UDINT_TO_WORD                   UDINT                WORD      
   231 $create	LWORD_TO_INT	LWORD	INT	"*__OUT=(INT	)__move_LWORD	(EN,__ENO,IN);"	
   207 create   UDINT_TO_STRING                 UDINT                STRING    
   232 $create	LWORD_TO_LINT	LWORD	LINT	"*__OUT=(LINT	)__move_LWORD	(EN,__ENO,IN);"	
   208 create   UDINT_TO_LWORD                  UDINT                LWORD     
   233 $create	LWORD_TO_LREAL	LWORD	LREAL	"*__OUT=(LREAL	)__move_LWORD	(EN,__ENO,IN);"	
   209 create   UDINT_TO_UINT                   UDINT                UINT      
   234 $create	LWORD_TO_REAL	LWORD	REAL	"*__OUT=(REAL	)__move_LWORD	(EN,__ENO,IN);"	
   210 create   UDINT_TO_LREAL                  UDINT                LREAL     
   235 $create	LWORD_TO_SINT	LWORD	SINT	"*__OUT=(SINT	)__move_LWORD	(EN,__ENO,IN);"	
   211 create   UDINT_TO_BYTE                   UDINT                BYTE      
   236 $create	LWORD_TO_UDINT	LWORD	UDINT	"*__OUT=(UDINT	)__move_LWORD	(EN,__ENO,IN);"	
   212 create   UDINT_TO_USINT                  UDINT                USINT     
   237 $create	LWORD_TO_UINT	LWORD	UINT	"*__OUT=(UINT	)__move_LWORD	(EN,__ENO,IN);"	
   213 create   UDINT_TO_ULINT                  UDINT                ULINT     
   238 $create	LWORD_TO_ULINT	LWORD	ULINT	"*__OUT=(ULINT	)__move_LWORD	(EN,__ENO,IN);"	
   214 create   UDINT_TO_BOOL                   UDINT                BOOL      
   239 $create	LWORD_TO_USINT	LWORD	USINT	"*__OUT=(USINT	)__move_LWORD	(EN,__ENO,IN);"	
   215 create   UDINT_TO_TIME                   UDINT                TIME      
   240 $create	LWORD_TO_WORD	LWORD	WORD	"*__OUT=(WORD	)__move_LWORD	(EN,__ENO,IN);"	
   216 create   UDINT_TO_INT                    UDINT                INT       
   241 $create	REAL_TO_BOOL	REAL	BOOL	"*__OUT=(BOOL	)__move_REAL	(EN,__ENO,IN);"	
   217 create    WORD_TO_REAL                    WORD                REAL      
   242 $create	REAL_TO_BYTE	REAL	BYTE	"*__OUT=(BYTE	)__move_REAL	(EN,__ENO,IN);"	
   218 create    WORD_TO_SINT                    WORD                SINT      
   243 $create	REAL_TO_DINT	REAL	DINT	"*__OUT=(DINT	)__move_REAL	(EN,__ENO,IN);"	
   219 create    WORD_TO_LINT                    WORD                LINT      
   244 $create	REAL_TO_DWORD	REAL	DWORD	"*__OUT=(DWORD	)__move_REAL	(EN,__ENO,IN);"	
   220 create    WORD_TO_DINT                    WORD                DINT      
   245 $create	REAL_TO_INT	REAL	INT	"*__OUT=(INT	)__move_REAL	(EN,__ENO,IN);"	
   221 create    WORD_TO_DATE                    WORD                DATE      
   246 $create	REAL_TO_LINT	REAL	LINT	"*__OUT=(LINT	)__move_REAL	(EN,__ENO,IN);"	
   222 create    WORD_TO_DWORD                   WORD                DWORD     
   247 $create	REAL_TO_LREAL	REAL	LREAL	"*__OUT=(LREAL	)__move_REAL	(EN,__ENO,IN);"	
   223 create    WORD_TO_DT                      WORD                DT        
   248 $create	REAL_TO_LWORD	REAL	LWORD	"*__OUT=(LWORD	)__move_REAL	(EN,__ENO,IN);"	
   224 create    WORD_TO_TOD                     WORD                TOD       
   249 $create	REAL_TO_SINT	REAL	SINT	"*__OUT=(SINT	)__move_REAL	(EN,__ENO,IN);"	
   225 create    WORD_TO_UDINT                   WORD                UDINT     
   250 $create	REAL_TO_UDINT	REAL	UDINT	"*__OUT=(UDINT	)__move_REAL	(EN,__ENO,IN);"	
   226 create    WORD_TO_STRING                  WORD                STRING    
   251 $create	REAL_TO_UINT	REAL	UINT	"*__OUT=(UINT	)__move_REAL	(EN,__ENO,IN);"	
   227 create    WORD_TO_LWORD                   WORD                LWORD     
   252 $create	REAL_TO_ULINT	REAL	ULINT	"*__OUT=(ULINT	)__move_REAL	(EN,__ENO,IN);"	
   228 create    WORD_TO_UINT                    WORD                UINT      
   253 $create	REAL_TO_USINT	REAL	USINT	"*__OUT=(USINT	)__move_REAL	(EN,__ENO,IN);"	
   229 create    WORD_TO_LREAL                   WORD                LREAL     
   254 $create	REAL_TO_WORD	REAL	WORD	"*__OUT=(WORD	)__move_REAL	(EN,__ENO,IN);"	
   230 create    WORD_TO_BYTE                    WORD                BYTE      
   255 $create	SINT_TO_BOOL	SINT	BOOL	"*__OUT=(BOOL	)__move_SINT	(EN,__ENO,IN);"	
   231 create    WORD_TO_USINT                   WORD                USINT     
   256 $create	SINT_TO_BYTE	SINT	BYTE	"*__OUT=(BYTE	)__move_SINT	(EN,__ENO,IN);"	
   232 create    WORD_TO_ULINT                   WORD                ULINT     
   257 $create	SINT_TO_DINT	SINT	DINT	"*__OUT=(DINT	)__move_SINT	(EN,__ENO,IN);"	
   233 create    WORD_TO_BOOL                    WORD                BOOL      
   258 $create	SINT_TO_DWORD	SINT	DWORD	"*__OUT=(DWORD	)__move_SINT	(EN,__ENO,IN);"	
   234 create    WORD_TO_TIME                    WORD                TIME      
   259 $create	SINT_TO_INT	SINT	INT	"*__OUT=(INT	)__move_SINT	(EN,__ENO,IN);"	
   235 create    WORD_TO_INT                     WORD                INT       
   260 $create	SINT_TO_LINT	SINT	LINT	"*__OUT=(LINT	)__move_SINT	(EN,__ENO,IN);"	
   236 create  STRING_TO_REAL                  STRING                REAL      
   261 $create	SINT_TO_LREAL	SINT	LREAL	"*__OUT=(LREAL	)__move_SINT	(EN,__ENO,IN);"	
   237 create  STRING_TO_SINT                  STRING                SINT      
   262 $create	SINT_TO_LWORD	SINT	LWORD	"*__OUT=(LWORD	)__move_SINT	(EN,__ENO,IN);"	
   238 create  STRING_TO_LINT                  STRING                LINT      
   263 $create	SINT_TO_REAL	SINT	REAL	"*__OUT=(REAL	)__move_SINT	(EN,__ENO,IN);"	
   239 create  STRING_TO_DINT                  STRING                DINT      
   264 $create	SINT_TO_UDINT	SINT	UDINT	"*__OUT=(UDINT	)__move_SINT	(EN,__ENO,IN);"	
   240 create  STRING_TO_DATE                  STRING                DATE      
   265 $create	SINT_TO_UINT	SINT	UINT	"*__OUT=(UINT	)__move_SINT	(EN,__ENO,IN);"	
   241 create  STRING_TO_DWORD                 STRING                DWORD     
   266 $create	SINT_TO_ULINT	SINT	ULINT	"*__OUT=(ULINT	)__move_SINT	(EN,__ENO,IN);"	
   242 create  STRING_TO_DT                    STRING                DT        
   267 $create	SINT_TO_USINT	SINT	USINT	"*__OUT=(USINT	)__move_SINT	(EN,__ENO,IN);"	
   243 create  STRING_TO_TOD                   STRING                TOD       
   268 $create	SINT_TO_WORD	SINT	WORD	"*__OUT=(WORD	)__move_SINT	(EN,__ENO,IN);"	
   244 create  STRING_TO_UDINT                 STRING                UDINT     
   269 $create	UDINT_TO_BOOL	UDINT	BOOL	"*__OUT=(BOOL	)__move_UDINT	(EN,__ENO,IN);"	
   245 create  STRING_TO_WORD                  STRING                WORD      
   270 $create	UDINT_TO_BYTE	UDINT	BYTE	"*__OUT=(BYTE	)__move_UDINT	(EN,__ENO,IN);"	
   246 create  STRING_TO_LWORD                 STRING                LWORD     
   271 $create	UDINT_TO_DINT	UDINT	DINT	"*__OUT=(DINT	)__move_UDINT	(EN,__ENO,IN);"	
   247 create  STRING_TO_UINT                  STRING                UINT      
   272 $create	UDINT_TO_DWORD	UDINT	DWORD	"*__OUT=(DWORD	)__move_UDINT	(EN,__ENO,IN);"	
   248 create  STRING_TO_LREAL                 STRING                LREAL     
   273 $create	UDINT_TO_INT	UDINT	INT	"*__OUT=(INT	)__move_UDINT	(EN,__ENO,IN);"	
   249 create  STRING_TO_BYTE                  STRING                BYTE      
   274 $create	UDINT_TO_LINT	UDINT	LINT	"*__OUT=(LINT	)__move_UDINT	(EN,__ENO,IN);"	
   250 create  STRING_TO_USINT                 STRING                USINT     
   275 $create	UDINT_TO_LREAL	UDINT	LREAL	"*__OUT=(LREAL	)__move_UDINT	(EN,__ENO,IN);"	
   251 create  STRING_TO_ULINT                 STRING                ULINT     
   276 $create	UDINT_TO_LWORD	UDINT	LWORD	"*__OUT=(LWORD	)__move_UDINT	(EN,__ENO,IN);"	
   252 create  STRING_TO_BOOL                  STRING                BOOL      
   277 $create	UDINT_TO_REAL	UDINT	REAL	"*__OUT=(REAL	)__move_UDINT	(EN,__ENO,IN);"	
   253 create  STRING_TO_TIME                  STRING                TIME      
   278 $create	UDINT_TO_SINT	UDINT	SINT	"*__OUT=(SINT	)__move_UDINT	(EN,__ENO,IN);"	
   254 create  STRING_TO_INT                   STRING                INT       
   279 $create	UDINT_TO_UINT	UDINT	UINT	"*__OUT=(UINT	)__move_UDINT	(EN,__ENO,IN);"	
   255 create   LWORD_TO_REAL                   LWORD                REAL      
   280 $create	UDINT_TO_ULINT	UDINT	ULINT	"*__OUT=(ULINT	)__move_UDINT	(EN,__ENO,IN);"	
   256 create   LWORD_TO_SINT                   LWORD                SINT      
   281 $create	UDINT_TO_USINT	UDINT	USINT	"*__OUT=(USINT	)__move_UDINT	(EN,__ENO,IN);"	
   257 create   LWORD_TO_LINT                   LWORD                LINT      
   282 $create	UDINT_TO_WORD	UDINT	WORD	"*__OUT=(WORD	)__move_UDINT	(EN,__ENO,IN);"	
   258 create   LWORD_TO_DINT                   LWORD                DINT      
   283 $create	UINT_TO_BOOL	UINT	BOOL	"*__OUT=(BOOL	)__move_UINT	(EN,__ENO,IN);"	
   259 create   LWORD_TO_DATE                   LWORD                DATE      
   284 $create	UINT_TO_BYTE	UINT	BYTE	"*__OUT=(BYTE	)__move_UINT	(EN,__ENO,IN);"	
   260 create   LWORD_TO_DWORD                  LWORD                DWORD     
   285 $create	UINT_TO_DINT	UINT	DINT	"*__OUT=(DINT	)__move_UINT	(EN,__ENO,IN);"	
   261 create   LWORD_TO_DT                     LWORD                DT        
   286 $create	UINT_TO_DWORD	UINT	DWORD	"*__OUT=(DWORD	)__move_UINT	(EN,__ENO,IN);"	
   262 create   LWORD_TO_TOD                    LWORD                TOD       
   287 $create	UINT_TO_INT	UINT	INT	"*__OUT=(INT	)__move_UINT	(EN,__ENO,IN);"	
   263 create   LWORD_TO_UDINT                  LWORD                UDINT     
   288 $create	UINT_TO_LINT	UINT	LINT	"*__OUT=(LINT	)__move_UINT	(EN,__ENO,IN);"	
   264 create   LWORD_TO_WORD                   LWORD                WORD      
   289 $create	UINT_TO_LREAL	UINT	LREAL	"*__OUT=(LREAL	)__move_UINT	(EN,__ENO,IN);"	
   265 create   LWORD_TO_STRING                 LWORD                STRING    
   290 $create	UINT_TO_LWORD	UINT	LWORD	"*__OUT=(LWORD	)__move_UINT	(EN,__ENO,IN);"	
   266 create   LWORD_TO_UINT                   LWORD                UINT      
   291 $create	UINT_TO_REAL	UINT	REAL	"*__OUT=(REAL	)__move_UINT	(EN,__ENO,IN);"	
   267 create   LWORD_TO_LREAL                  LWORD                LREAL     
   292 $create	UINT_TO_SINT	UINT	SINT	"*__OUT=(SINT	)__move_UINT	(EN,__ENO,IN);"	
   268 create   LWORD_TO_BYTE                   LWORD                BYTE      
   293 $create	UINT_TO_UDINT	UINT	UDINT	"*__OUT=(UDINT	)__move_UINT	(EN,__ENO,IN);"	
   269 create   LWORD_TO_USINT                  LWORD                USINT     
   294 $create	UINT_TO_ULINT	UINT	ULINT	"*__OUT=(ULINT	)__move_UINT	(EN,__ENO,IN);"	
   270 create   LWORD_TO_ULINT                  LWORD                ULINT     
   295 $create	UINT_TO_USINT	UINT	USINT	"*__OUT=(USINT	)__move_UINT	(EN,__ENO,IN);"	
   271 create   LWORD_TO_BOOL                   LWORD                BOOL      
   296 $create	UINT_TO_WORD	UINT	WORD	"*__OUT=(WORD	)__move_UINT	(EN,__ENO,IN);"	
   272 create   LWORD_TO_TIME                   LWORD                TIME      
   297 $create	ULINT_TO_BOOL	ULINT	BOOL	"*__OUT=(BOOL	)__move_ULINT	(EN,__ENO,IN);"	
   273 create   LWORD_TO_INT                    LWORD                INT       
   298 $create	ULINT_TO_BYTE	ULINT	BYTE	"*__OUT=(BYTE	)__move_ULINT	(EN,__ENO,IN);"	
   274 create    UINT_TO_REAL                    UINT                REAL      
   299 $create	ULINT_TO_DINT	ULINT	DINT	"*__OUT=(DINT	)__move_ULINT	(EN,__ENO,IN);"	
   275 create    UINT_TO_SINT                    UINT                SINT      
   300 $create	ULINT_TO_DWORD	ULINT	DWORD	"*__OUT=(DWORD	)__move_ULINT	(EN,__ENO,IN);"	
   276 create    UINT_TO_LINT                    UINT                LINT      
   301 $create	ULINT_TO_INT	ULINT	INT	"*__OUT=(INT	)__move_ULINT	(EN,__ENO,IN);"	
   277 create    UINT_TO_DINT                    UINT                DINT      
   302 $create	ULINT_TO_LINT	ULINT	LINT	"*__OUT=(LINT	)__move_ULINT	(EN,__ENO,IN);"	
   278 create    UINT_TO_DATE                    UINT                DATE      
   303 $create	ULINT_TO_LREAL	ULINT	LREAL	"*__OUT=(LREAL	)__move_ULINT	(EN,__ENO,IN);"	
   279 create    UINT_TO_DWORD                   UINT                DWORD     
   304 $create	ULINT_TO_LWORD	ULINT	LWORD	"*__OUT=(LWORD	)__move_ULINT	(EN,__ENO,IN);"	
   280 create    UINT_TO_DT                      UINT                DT        
   305 $create	ULINT_TO_REAL	ULINT	REAL	"*__OUT=(REAL	)__move_ULINT	(EN,__ENO,IN);"	
   281 create    UINT_TO_TOD                     UINT                TOD       
   306 $create	ULINT_TO_SINT	ULINT	SINT	"*__OUT=(SINT	)__move_ULINT	(EN,__ENO,IN);"	
   282 create    UINT_TO_UDINT                   UINT                UDINT     
   307 $create	ULINT_TO_UDINT	ULINT	UDINT	"*__OUT=(UDINT	)__move_ULINT	(EN,__ENO,IN);"	
   283 create    UINT_TO_WORD                    UINT                WORD      
   308 $create	ULINT_TO_UINT	ULINT	UINT	"*__OUT=(UINT	)__move_ULINT	(EN,__ENO,IN);"	
   284 create    UINT_TO_STRING                  UINT                STRING    
   309 $create	ULINT_TO_USINT	ULINT	USINT	"*__OUT=(USINT	)__move_ULINT	(EN,__ENO,IN);"	
   285 create    UINT_TO_LWORD                   UINT                LWORD     
   310 $create	ULINT_TO_WORD	ULINT	WORD	"*__OUT=(WORD	)__move_ULINT	(EN,__ENO,IN);"	
   286 create    UINT_TO_LREAL                   UINT                LREAL     
   311 $create	USINT_TO_BOOL	USINT	BOOL	"*__OUT=(BOOL	)__move_USINT	(EN,__ENO,IN);"	
   287 create    UINT_TO_BYTE                    UINT                BYTE      
   312 $create	USINT_TO_BYTE	USINT	BYTE	"*__OUT=(BYTE	)__move_USINT	(EN,__ENO,IN);"	
   288 create    UINT_TO_USINT                   UINT                USINT     
   313 $create	USINT_TO_DINT	USINT	DINT	"*__OUT=(DINT	)__move_USINT	(EN,__ENO,IN);"	
   289 create    UINT_TO_ULINT                   UINT                ULINT     
   314 $create	USINT_TO_DWORD	USINT	DWORD	"*__OUT=(DWORD	)__move_USINT	(EN,__ENO,IN);"	
   290 create    UINT_TO_BOOL                    UINT                BOOL      
   315 $create	USINT_TO_INT	USINT	INT	"*__OUT=(INT	)__move_USINT	(EN,__ENO,IN);"	
   291 create    UINT_TO_TIME                    UINT                TIME      
   316 $create	USINT_TO_LINT	USINT	LINT	"*__OUT=(LINT	)__move_USINT	(EN,__ENO,IN);"	
   292 create    UINT_TO_INT                     UINT                INT       
   317 $create	USINT_TO_LREAL	USINT	LREAL	"*__OUT=(LREAL	)__move_USINT	(EN,__ENO,IN);"	
   293 create   LREAL_TO_REAL                   LREAL                REAL      
   318 $create	USINT_TO_LWORD	USINT	LWORD	"*__OUT=(LWORD	)__move_USINT	(EN,__ENO,IN);"	
   294 create   LREAL_TO_SINT                   LREAL                SINT      
   319 $create	USINT_TO_REAL	USINT	REAL	"*__OUT=(REAL	)__move_USINT	(EN,__ENO,IN);"	
   295 create   LREAL_TO_LINT                   LREAL                LINT      
   320 $create	USINT_TO_SINT	USINT	SINT	"*__OUT=(SINT	)__move_USINT	(EN,__ENO,IN);"	
   296 create   LREAL_TO_DINT                   LREAL                DINT      
   321 $create	USINT_TO_UDINT	USINT	UDINT	"*__OUT=(UDINT	)__move_USINT	(EN,__ENO,IN);"	
   297 create   LREAL_TO_DATE                   LREAL                DATE      
   322 $create	USINT_TO_UINT	USINT	UINT	"*__OUT=(UINT	)__move_USINT	(EN,__ENO,IN);"	
   298 create   LREAL_TO_DWORD                  LREAL                DWORD     
   323 $create	USINT_TO_ULINT	USINT	ULINT	"*__OUT=(ULINT	)__move_USINT	(EN,__ENO,IN);"	
   299 create   LREAL_TO_DT                     LREAL                DT        
   324 $create	USINT_TO_WORD	USINT	WORD	"*__OUT=(WORD	)__move_USINT	(EN,__ENO,IN);"	
   300 create   LREAL_TO_TOD                    LREAL                TOD       
   325 $create	WORD_TO_BOOL	WORD	BOOL	"*__OUT=(BOOL	)__move_WORD	(EN,__ENO,IN);"	
   301 create   LREAL_TO_UDINT                  LREAL                UDINT     
   326 $create	WORD_TO_BYTE	WORD	BYTE	"*__OUT=(BYTE	)__move_WORD	(EN,__ENO,IN);"	
   302 create   LREAL_TO_WORD                   LREAL                WORD      
   327 $create	WORD_TO_DINT	WORD	DINT	"*__OUT=(DINT	)__move_WORD	(EN,__ENO,IN);"	
   303 create   LREAL_TO_STRING                 LREAL                STRING    
   328 $create	WORD_TO_DWORD	WORD	DWORD	"*__OUT=(DWORD	)__move_WORD	(EN,__ENO,IN);"	
   304 create   LREAL_TO_LWORD                  LREAL                LWORD     
   329 $create	WORD_TO_INT	WORD	INT	"*__OUT=(INT	)__move_WORD	(EN,__ENO,IN);"	
   305 create   LREAL_TO_UINT                   LREAL                UINT      
   330 $create	WORD_TO_LINT	WORD	LINT	"*__OUT=(LINT	)__move_WORD	(EN,__ENO,IN);"	
   306 create   LREAL_TO_BYTE                   LREAL                BYTE      
   331 $create	WORD_TO_LREAL	WORD	LREAL	"*__OUT=(LREAL	)__move_WORD	(EN,__ENO,IN);"	
   307 create   LREAL_TO_USINT                  LREAL                USINT     
   332 $create	WORD_TO_LWORD	WORD	LWORD	"*__OUT=(LWORD	)__move_WORD	(EN,__ENO,IN);"	
   308 create   LREAL_TO_ULINT                  LREAL                ULINT     
   333 $create	WORD_TO_REAL	WORD	REAL	"*__OUT=(REAL	)__move_WORD	(EN,__ENO,IN);"	
   309 create   LREAL_TO_BOOL                   LREAL                BOOL      
   334 $create	WORD_TO_SINT	WORD	SINT	"*__OUT=(SINT	)__move_WORD	(EN,__ENO,IN);"	
   310 create   LREAL_TO_TIME                   LREAL                TIME      
   335 $create	WORD_TO_UDINT	WORD	UDINT	"*__OUT=(UDINT	)__move_WORD	(EN,__ENO,IN);"	
   311 create   LREAL_TO_INT                    LREAL                INT       
   336 $create	WORD_TO_UINT	WORD	UINT	"*__OUT=(UINT	)__move_WORD	(EN,__ENO,IN);"	
   312 create    BYTE_TO_REAL                    BYTE                REAL      
   337 $create	WORD_TO_ULINT	WORD	ULINT	"*__OUT=(ULINT	)__move_WORD	(EN,__ENO,IN);"	
   313 create    BYTE_TO_SINT                    BYTE                SINT      
   338 $create	WORD_TO_USINT	WORD	USINT	"*__OUT=(USINT	)__move_WORD	(EN,__ENO,IN);"	
   314 create    BYTE_TO_LINT                    BYTE                LINT      
   339 
   315 create    BYTE_TO_DINT                    BYTE                DINT      
   340 
   316 create    BYTE_TO_DATE                    BYTE                DATE      
   341 ########################
   317 create    BYTE_TO_DWORD                   BYTE                DWORD     
   342 # Handling strings...  #
   318 create    BYTE_TO_DT                      BYTE                DT        
   343 ########################
   319 create    BYTE_TO_TOD                     BYTE                TOD       
   344 $create	STRING_TO_BOOL	STRING	BOOL	"*__OUT=(BOOL	)__string_to_bool	(EN,__ENO,IN);"	
   320 create    BYTE_TO_UDINT                   BYTE                UDINT     
   345 $create	STRING_TO_BYTE	STRING	BYTE	"*__OUT=(BYTE	)__string_to_bit	(EN,__ENO,IN);"	
   321 create    BYTE_TO_WORD                    BYTE                WORD      
   346 $create	STRING_TO_WORD	STRING	WORD	"*__OUT=(WORD	)__string_to_bit	(EN,__ENO,IN);"	
   322 create    BYTE_TO_STRING                  BYTE                STRING    
   347 $create	STRING_TO_DWORD	STRING	DWORD	"*__OUT=(DWORD	)__string_to_bit	(EN,__ENO,IN);"	
   323 create    BYTE_TO_LWORD                   BYTE                LWORD     
   348 $create	STRING_TO_LWORD	STRING	LWORD	"*__OUT=(LWORD	)__string_to_bit	(EN,__ENO,IN);"	
   324 create    BYTE_TO_UINT                    BYTE                UINT      
   349 $create	STRING_TO_SINT	STRING	SINT	"*__OUT=(SINT	)__string_to_sint	(EN,__ENO,IN);"	
   325 create    BYTE_TO_LREAL                   BYTE                LREAL     
   350 $create	STRING_TO_INT	STRING	INT	"*__OUT=(INT	)__string_to_sint	(EN,__ENO,IN);"	
   326 create    BYTE_TO_USINT                   BYTE                USINT     
   351 $create	STRING_TO_DINT	STRING	DINT	"*__OUT=(DINT	)__string_to_sint	(EN,__ENO,IN);"	
   327 create    BYTE_TO_ULINT                   BYTE                ULINT     
   352 $create	STRING_TO_LINT	STRING	LINT	"*__OUT=(LINT	)__string_to_sint	(EN,__ENO,IN);"	
   328 create    BYTE_TO_BOOL                    BYTE                BOOL      
   353 $create	STRING_TO_USINT	STRING	USINT	"*__OUT=(USINT	)__string_to_uint	(EN,__ENO,IN);"	
   329 create    BYTE_TO_TIME                    BYTE                TIME      
   354 $create	STRING_TO_UINT	STRING	UINT	"*__OUT=(UINT	)__string_to_uint	(EN,__ENO,IN);"	
   330 create    BYTE_TO_INT                     BYTE                INT       
   355 $create	STRING_TO_UDINT	STRING	UDINT	"*__OUT=(UDINT	)__string_to_uint	(EN,__ENO,IN);"	
   331 create   USINT_TO_REAL                   USINT                REAL      
   356 $create	STRING_TO_ULINT	STRING	ULINT	"*__OUT=(ULINT	)__string_to_uint	(EN,__ENO,IN);"	
   332 create   USINT_TO_SINT                   USINT                SINT      
   357 $create	STRING_TO_REAL	STRING	REAL	"*__OUT=(REAL	)__string_to_real	(EN,__ENO,IN);"	
   333 create   USINT_TO_LINT                   USINT                LINT      
   358 $create	STRING_TO_LREAL	STRING	LREAL	"*__OUT=(LREAL	)__string_to_real	(EN,__ENO,IN);"	
   334 create   USINT_TO_DINT                   USINT                DINT      
   359 $create	STRING_TO_DATE	STRING	DATE	"*__OUT=(DATE	)__string_to_time	(EN,__ENO,IN);"
   335 create   USINT_TO_DATE                   USINT                DATE      
   360 $create	STRING_TO_TIME	STRING	TIME	"*__OUT=(TIME	)__string_to_time	(EN,__ENO,IN);"
   336 create   USINT_TO_DWORD                  USINT                DWORD     
   361 $create	STRING_TO_TOD	STRING	TOD	"*__OUT=(TOD	)__string_to_time	(EN,__ENO,IN);"
   337 create   USINT_TO_DT                     USINT                DT        
   362 $create	STRING_TO_DT	STRING	DT	"*__OUT=(DT	)__string_to_time	(EN,__ENO,IN);"
   338 create   USINT_TO_TOD                    USINT                TOD       
   363 
   339 create   USINT_TO_UDINT                  USINT                UDINT     
   364 $create	BOOL_TO_STRING	BOOL	STRING	"*__OUT=(STRING	)__bool_to_string	(EN,__ENO,IN);"
   340 create   USINT_TO_WORD                   USINT                WORD      
   365 $create	BYTE_TO_STRING	BYTE	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
   341 create   USINT_TO_STRING                 USINT                STRING    
   366 $create	WORD_TO_STRING	WORD	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
   342 create   USINT_TO_LWORD                  USINT                LWORD     
   367 $create	DWORD_TO_STRING	DWORD	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
   343 create   USINT_TO_UINT                   USINT                UINT      
   368 $create	LWORD_TO_STRING	LWORD	STRING	"*__OUT=(STRING	)__bit_to_string	(EN,__ENO,IN);"
   344 create   USINT_TO_LREAL                  USINT                LREAL     
   369 $create	INT_TO_STRING	INT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
   345 create   USINT_TO_BYTE                   USINT                BYTE      
   370 $create	LINT_TO_STRING	LINT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
   346 create   USINT_TO_ULINT                  USINT                ULINT     
   371 $create	DINT_TO_STRING	DINT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
   347 create   USINT_TO_BOOL                   USINT                BOOL      
   372 $create	SINT_TO_STRING	SINT	STRING	"*__OUT=(STRING	)__sint_to_string	(EN,__ENO,IN);"
   348 create   USINT_TO_TIME                   USINT                TIME      
   373 $create	USINT_TO_STRING	USINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
   349 create   USINT_TO_INT                    USINT                INT       
   374 $create	UINT_TO_STRING	UINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
   350 create   ULINT_TO_REAL                   ULINT                REAL      
   375 $create	UDINT_TO_STRING	UDINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
   351 create   ULINT_TO_SINT                   ULINT                SINT      
   376 $create	ULINT_TO_STRING	ULINT	STRING	"*__OUT=(STRING	)__uint_to_string	(EN,__ENO,IN);"
   352 create   ULINT_TO_LINT                   ULINT                LINT      
   377 $create	REAL_TO_STRING	REAL	STRING	"*__OUT=(STRING	)__real_to_string	(EN,__ENO,IN);"
   353 create   ULINT_TO_DINT                   ULINT                DINT      
   378 $create	LREAL_TO_STRING	LREAL	STRING	"*__OUT=(STRING	)__real_to_string	(EN,__ENO,IN);"
   354 create   ULINT_TO_DATE                   ULINT                DATE      
   379 $create	DATE_TO_STRING	DATE	STRING	"*__OUT=(STRING	)__date_to_string	(EN,__ENO,IN);"
   355 create   ULINT_TO_DWORD                  ULINT                DWORD     
   380 $create	DT_TO_STRING	DT	STRING	"*__OUT=(STRING	)__dt_to_string	(EN,__ENO,IN);"
   356 create   ULINT_TO_DT                     ULINT                DT        
   381 $create	TIME_TO_STRING	TIME	STRING	"*__OUT=(STRING	)__time_to_string	(EN,__ENO,IN);"
   357 create   ULINT_TO_TOD                    ULINT                TOD       
   382 $create	TOD_TO_STRING	TOD	STRING	"*__OUT=(STRING	)__tod_to_string	(EN,__ENO,IN);"
   358 create   ULINT_TO_UDINT                  ULINT                UDINT     
   383 
   359 create   ULINT_TO_WORD                   ULINT                WORD      
   384 ########################
   360 create   ULINT_TO_STRING                 ULINT                STRING    
   385 # Handling of dates    #
   361 create   ULINT_TO_LWORD                  ULINT                LWORD     
   386 ########################
   362 create   ULINT_TO_UINT                   ULINT                UINT      
   387 $create	BOOL_TO_DATE	BOOL	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   363 create   ULINT_TO_LREAL                  ULINT                LREAL     
   388 $create	BYTE_TO_DATE	BYTE	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   364 create   ULINT_TO_BYTE                   ULINT                BYTE      
   389 $create	WORD_TO_DATE	WORD	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   365 create   ULINT_TO_USINT                  ULINT                USINT     
   390 $create	DWORD_TO_DATE	DWORD	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   366 create   ULINT_TO_BOOL                   ULINT                BOOL      
   391 $create	LWORD_TO_DATE	LWORD	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   367 create   ULINT_TO_TIME                   ULINT                TIME      
   392 $create	SINT_TO_DATE	SINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   368 create   ULINT_TO_INT                    ULINT                INT       
   393 $create	INT_TO_DATE	INT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   369 create    BOOL_TO_REAL                    BOOL                REAL      
   394 $create	DINT_TO_DATE	DINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   370 create    BOOL_TO_SINT                    BOOL                SINT      
   395 $create	LINT_TO_DATE	LINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   371 create    BOOL_TO_LINT                    BOOL                LINT      
   396 $create	USINT_TO_DATE	USINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   372 create    BOOL_TO_DINT                    BOOL                DINT      
   397 $create	UINT_TO_DATE	UINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   373 create    BOOL_TO_DATE                    BOOL                DATE      
   398 $create	UDINT_TO_DATE	UDINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   374 create    BOOL_TO_DWORD                   BOOL                DWORD     
   399 $create	ULINT_TO_DATE	ULINT	DATE	"*__OUT=(DATE	)__int_to_time	(EN,__ENO,IN);"
   375 create    BOOL_TO_DT                      BOOL                DT        
   400 $create	REAL_TO_DATE	REAL	DATE	"*__OUT=(DATE	)__real_to_time	(EN,__ENO,IN);"
   376 create    BOOL_TO_TOD                     BOOL                TOD       
   401 $create	LREAL_TO_DATE	LREAL	DATE	"*__OUT=(DATE	)__real_to_time	(EN,__ENO,IN);"
   377 create    BOOL_TO_UDINT                   BOOL                UDINT     
   402 
   378 create    BOOL_TO_WORD                    BOOL                WORD      
   403 $create	DATE_TO_BYTE	DATE	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
   379 create    BOOL_TO_STRING                  BOOL                STRING    
   404 $create	DATE_TO_WORD	DATE	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
   380 create    BOOL_TO_LWORD                   BOOL                LWORD     
   405 $create	DATE_TO_DWORD	DATE	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
   381 create    BOOL_TO_UINT                    BOOL                UINT      
   406 $create	DATE_TO_LWORD	DATE	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
   382 create    BOOL_TO_LREAL                   BOOL                LREAL     
   407 $create	DATE_TO_SINT	DATE	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
   383 create    BOOL_TO_BYTE                    BOOL                BYTE      
   408 $create	DATE_TO_INT	DATE	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
   384 create    BOOL_TO_USINT                   BOOL                USINT     
   409 $create	DATE_TO_DINT	DATE	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
   385 create    BOOL_TO_ULINT                   BOOL                ULINT     
   410 $create	DATE_TO_LINT	DATE	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
   386 create    BOOL_TO_TIME                    BOOL                TIME      
   411 $create	DATE_TO_USINT	DATE	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
   387 create    BOOL_TO_INT                     BOOL                INT       
   412 $create	DATE_TO_UINT	DATE	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
   388 create    TIME_TO_REAL                    TIME                REAL      
   413 $create	DATE_TO_UDINT	DATE	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
   389 create    TIME_TO_SINT                    TIME                SINT      
   414 $create	DATE_TO_ULINT	DATE	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
   390 create    TIME_TO_LINT                    TIME                LINT      
   415 $create	DATE_TO_REAL	DATE	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
   391 create    TIME_TO_DINT                    TIME                DINT      
   416 $create	DATE_TO_LREAL	DATE	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
   392 create    TIME_TO_DWORD                   TIME                DWORD     
   417 
   393 create    TIME_TO_UDINT                   TIME                UDINT     
   418 ########################
   394 create    TIME_TO_WORD                    TIME                WORD      
   419 # Handling of TIME     #
   395 create    TIME_TO_STRING                  TIME                STRING    
   420 ########################
   396 create    TIME_TO_LWORD                   TIME                LWORD     
   421 $create	BOOL_TO_TIME	BOOL	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   397 create    TIME_TO_UINT                    TIME                UINT      
   422 $create	BYTE_TO_TIME	BYTE	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   398 create    TIME_TO_LREAL                   TIME                LREAL     
   423 $create	WORD_TO_TIME	WORD	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   399 create    TIME_TO_BYTE                    TIME                BYTE      
   424 $create	DWORD_TO_TIME	DWORD	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   400 create    TIME_TO_USINT                   TIME                USINT     
   425 $create	LWORD_TO_TIME	LWORD	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   401 create    TIME_TO_ULINT                   TIME                ULINT     
   426 $create	SINT_TO_TIME	SINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   402 create    TIME_TO_INT                     TIME                INT       
   427 $create	INT_TO_TIME	INT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   403 create     INT_TO_REAL                     INT                REAL      
   428 $create	DINT_TO_TIME	DINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   404 create     INT_TO_SINT                     INT                SINT      
   429 $create	LINT_TO_TIME	LINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   405 create     INT_TO_LINT                     INT                LINT      
   430 $create	USINT_TO_TIME	USINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   406 create     INT_TO_DINT                     INT                DINT      
   431 $create	UINT_TO_TIME	UINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   407 create     INT_TO_DATE                     INT                DATE      
   432 $create	UDINT_TO_TIME	UDINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   408 create     INT_TO_DWORD                    INT                DWORD     
   433 $create	ULINT_TO_TIME	ULINT	TIME	"*__OUT=(TIME	)__int_to_time	(EN,__ENO,IN);"
   409 create     INT_TO_DT                       INT                DT        
   434 $create	REAL_TO_TIME	REAL	TIME	"*__OUT=(TIME	)__real_to_time	(EN,__ENO,IN);"
   410 create     INT_TO_TOD                      INT                TOD       
   435 $create	LREAL_TO_TIME	LREAL	TIME	"*__OUT=(TIME	)__real_to_time	(EN,__ENO,IN);"
   411 create     INT_TO_UDINT                    INT                UDINT     
   436 
   412 create     INT_TO_WORD                     INT                WORD      
   437 $create	TIME_TO_BYTE	TIME	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
   413 create     INT_TO_STRING                   INT                STRING    
   438 $create	TIME_TO_WORD	TIME	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
   414 create     INT_TO_LWORD                    INT                LWORD     
   439 $create	TIME_TO_DWORD	TIME	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
   415 create     INT_TO_UINT                     INT                UINT      
   440 $create	TIME_TO_LWORD	TIME	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
   416 create     INT_TO_LREAL                    INT                LREAL     
   441 $create	TIME_TO_SINT	TIME	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
   417 create     INT_TO_BYTE                     INT                BYTE      
   442 $create	TIME_TO_INT	TIME	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
   418 create     INT_TO_USINT                    INT                USINT     
   443 $create	TIME_TO_DINT	TIME	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
   419 create     INT_TO_ULINT                    INT                ULINT     
   444 $create	TIME_TO_LINT	TIME	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
   420 create     INT_TO_BOOL                     INT                BOOL      
   445 $create	TIME_TO_USINT	TIME	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
   421 create     INT_TO_TIME                     INT                TIME      
   446 $create	TIME_TO_UINT	TIME	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
   422 
   447 $create	TIME_TO_UDINT	TIME	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
   423 create DATE_AND_TIME_TO_TIME_OF_DAY     DATE_AND_TIME       TIME_OF_DAY  
   448 $create	TIME_TO_ULINT	TIME	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
   424 create DATE_AND_TIME_TO_DATE            DATE_AND_TIME       DATE         
   449 $create	TIME_TO_REAL	TIME	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
   425 
   450 $create	TIME_TO_LREAL	TIME	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
   426 echo
   451 
   427 echo
   452 
   428 echo  "(*   *BCD_TO_**   and   **_TO_BCD*     are not yet supported  *)"
   453 ##############################
   429 echo  "(*  We comment them out for now...                            *)"
   454 # Handling of DATE_AND_TIME  #
   430 echo  "(*"
   455 ##############################
   431 create   UDINT_TO_BCD_BYTE               UDINT                BYTE  
   456 $create	BOOL_TO_DT	BOOL	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   432 create   UDINT_TO_BCD_WORD               UDINT                WORD  
   457 $create	BYTE_TO_DT	BYTE	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   433 create   UDINT_TO_BCD_DWORD              UDINT                DWORD 
   458 $create	WORD_TO_DT	WORD	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   434 create   UDINT_TO_BCD_LWORD              UDINT                LWORD 
   459 $create	DWORD_TO_DT	DWORD	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   435 create    UINT_TO_BCD_BYTE                UINT                BYTE    
   460 $create	LWORD_TO_DT	LWORD	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   436 create    UINT_TO_BCD_WORD                UINT                WORD    
   461 $create	SINT_TO_DT	SINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   437 create    UINT_TO_BCD_DWORD               UINT                DWORD   
   462 $create	INT_TO_DT	INT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   438 create    UINT_TO_BCD_LWORD               UINT                LWORD   
   463 $create	DINT_TO_DT	DINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   439 create   USINT_TO_BCD_BYTE               USINT                BYTE        
   464 $create	LINT_TO_DT	LINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   440 create   USINT_TO_BCD_WORD               USINT                WORD        
   465 $create	USINT_TO_DT	USINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   441 create   USINT_TO_BCD_DWORD              USINT                DWORD       
   466 $create	UINT_TO_DT	UINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   442 create   USINT_TO_BCD_LWORD              USINT                LWORD       
   467 $create	UDINT_TO_DT	UDINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   443 create   ULINT_TO_BCD_BYTE               ULINT                BYTE        
   468 $create	ULINT_TO_DT	ULINT	DT	"*__OUT=(DT	)__int_to_time	(EN,__ENO,IN);"
   444 create   ULINT_TO_BCD_WORD               ULINT                WORD        
   469 $create	REAL_TO_DT	REAL	DT	"*__OUT=(DT	)__real_to_time	(EN,__ENO,IN);"
   445 create   ULINT_TO_BCD_DWORD              ULINT                DWORD       
   470 $create	LREAL_TO_DT	LREAL	DT	"*__OUT=(DT	)__real_to_time	(EN,__ENO,IN);"
   446 create   ULINT_TO_BCD_LWORD              ULINT                LWORD       
   471 
   447 
   472 $create	DT_TO_BYTE	DT	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
       
   473 $create	DT_TO_WORD	DT	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
       
   474 $create	DT_TO_DWORD	DT	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
       
   475 $create	DT_TO_LWORD	DT	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
       
   476 $create	DT_TO_SINT	DT	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
       
   477 $create	DT_TO_INT	DT	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
       
   478 $create	DT_TO_DINT	DT	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
       
   479 $create	DT_TO_LINT	DT	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
       
   480 $create	DT_TO_USINT	DT	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
       
   481 $create	DT_TO_UINT	DT	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
       
   482 $create	DT_TO_UDINT	DT	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
       
   483 $create	DT_TO_ULINT	DT	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
       
   484 $create	DT_TO_REAL	DT	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
       
   485 $create	DT_TO_LREAL	DT	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
       
   486 
       
   487 
       
   488 ####################
       
   489 # Handling of TOD  #
       
   490 ####################
       
   491 
       
   492 $create	BOOL_TO_TOD	BOOL	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   493 $create	BYTE_TO_TOD	BYTE	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   494 $create	WORD_TO_TOD	WORD	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   495 $create	DWORD_TO_TOD	DWORD	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   496 $create	LWORD_TO_TOD	LWORD	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   497 $create	SINT_TO_TOD	SINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   498 $create	INT_TO_TOD	INT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   499 $create	DINT_TO_TOD	DINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   500 $create	LINT_TO_TOD	LINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   501 $create	USINT_TO_TOD	USINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   502 $create	UINT_TO_TOD	UINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   503 $create	UDINT_TO_TOD	UDINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   504 $create	ULINT_TO_TOD	ULINT	TOD	"*__OUT=(TOD	)__int_to_time	(EN,__ENO,IN);"
       
   505 $create	REAL_TO_TOD	REAL	TOD	"*__OUT=(TOD	)__real_to_time	(EN,__ENO,IN);"
       
   506 $create	LREAL_TO_TOD	LREAL	TOD	"*__OUT=(TOD	)__real_to_time	(EN,__ENO,IN);"
       
   507 
       
   508 $create	TOD_TO_BYTE	TOD	BYTE	"*__OUT=(BYTE	)__time_to_int	(EN,__ENO,IN);"	
       
   509 $create	TOD_TO_WORD	TOD	WORD	"*__OUT=(WORD	)__time_to_int	(EN,__ENO,IN);"	
       
   510 $create	TOD_TO_DWORD	TOD	DWORD	"*__OUT=(DWORD	)__time_to_int	(EN,__ENO,IN);"	
       
   511 $create	TOD_TO_LWORD	TOD	LWORD	"*__OUT=(LWORD	)__time_to_int	(EN,__ENO,IN);"	
       
   512 $create	TOD_TO_SINT	TOD	SINT	"*__OUT=(SINT	)__time_to_int	(EN,__ENO,IN);"	
       
   513 $create	TOD_TO_INT	TOD	INT	"*__OUT=(INT	)__time_to_int	(EN,__ENO,IN);"	
       
   514 $create	TOD_TO_DINT	TOD	DINT	"*__OUT=(DINT	)__time_to_int	(EN,__ENO,IN);"	
       
   515 $create	TOD_TO_LINT	TOD	LINT	"*__OUT=(LINT	)__time_to_int	(EN,__ENO,IN);"	
       
   516 $create	TOD_TO_USINT	TOD	USINT	"*__OUT=(USINT	)__time_to_int	(EN,__ENO,IN);"	
       
   517 $create	TOD_TO_UINT	TOD	UINT	"*__OUT=(UINT	)__time_to_int	(EN,__ENO,IN);"	
       
   518 $create	TOD_TO_UDINT	TOD	UDINT	"*__OUT=(UDINT	)__time_to_int	(EN,__ENO,IN);"	
       
   519 $create	TOD_TO_ULINT	TOD	ULINT	"*__OUT=(ULINT	)__time_to_int	(EN,__ENO,IN);"	
       
   520 $create	TOD_TO_REAL	TOD	REAL	"*__OUT=(REAL	)__time_to_real	(EN,__ENO,IN);"	
       
   521 $create	TOD_TO_LREAL	TOD	LREAL	"*__OUT=(LREAL	)__time_to_real	(EN,__ENO,IN);"	
       
   522 
       
   523 
       
   524 
       
   525                                                                                                                                                  
       
   526 $create DATE_AND_TIME_TO_TIME_OF_DAY	DT       TOD	"*__OUT = (TOD	)__date_and_time_to_time_of_day(EN,__ENO,IN);" 
       
   527 $create DATE_AND_TIME_TO_DATE	DT	DATE	"*__OUT = (DATE	)__date_and_time_to_date(EN,__ENO,IN);" 
       
   528                                                                                                                      
       
   529 
       
   530 
       
   531 
       
   532 $create_end    
       
   533 
       
   534                                                                                           
       
   535 # *BCD_TO_**   and   **_TO_BCD*     are not yet supported                        
       
   536 # We comment them out for now...                                                  
       
   537 exit 0                                                                                     
       
   538 create   UDINT_TO_BCD_BYTE               UDINT                BYTE                             
       
   539 create   UDINT_TO_BCD_WORD               UDINT                WORD                             
       
   540 create   UDINT_TO_BCD_DWORD              UDINT                DWORD                            
       
   541 create   UDINT_TO_BCD_LWORD              UDINT                LWORD                            
       
   542 create    UINT_TO_BCD_BYTE                UINT                BYTE                             
       
   543 create    UINT_TO_BCD_WORD                UINT                WORD                             
       
   544 create    UINT_TO_BCD_DWORD               UINT                DWORD                            
       
   545 create    UINT_TO_BCD_LWORD               UINT                LWORD                            
       
   546 create   USINT_TO_BCD_BYTE               USINT                BYTE                             
       
   547 create   USINT_TO_BCD_WORD               USINT                WORD                             
       
   548 create   USINT_TO_BCD_DWORD              USINT                DWORD                            
       
   549 create   USINT_TO_BCD_LWORD              USINT                LWORD               
       
   550 create   ULINT_TO_BCD_BYTE               ULINT                BYTE                
       
   551 create   ULINT_TO_BCD_WORD               ULINT                WORD                
       
   552 create   ULINT_TO_BCD_DWORD              ULINT                DWORD               
       
   553 create   ULINT_TO_BCD_LWORD              ULINT                LWORD               
       
   554                                                                                   
   448 create   BYTE_BCD_TO_UDINT               BYTE                 UDINT                
   555 create   BYTE_BCD_TO_UDINT               BYTE                 UDINT                
   449 create   WORD_BCD_TO_UDINT               WORD                 UDINT                
   556 create   WORD_BCD_TO_UDINT               WORD                 UDINT                
   450 create  DWORD_BCD_TO_UDINT               DWORD                UDINT                
   557 create  DWORD_BCD_TO_UDINT               DWORD                UDINT                
   451 create  LWORD_BCD_TO_UDINT               LWORD                UDINT                
   558 create  LWORD_BCD_TO_UDINT               LWORD                UDINT                
   452 create   BYTE_BCD_TO_UINT                BYTE                 UINT                   
   559 create   BYTE_BCD_TO_UINT                BYTE                 UINT                   
   459 create  LWORD_BCD_TO_USINT               LWORD                USINT                      
   566 create  LWORD_BCD_TO_USINT               LWORD                USINT                      
   460 create   BYTE_BCD_TO_ULINT               BYTE                 ULINT                      
   567 create   BYTE_BCD_TO_ULINT               BYTE                 ULINT                      
   461 create   WORD_BCD_TO_ULINT               WORD                 ULINT                      
   568 create   WORD_BCD_TO_ULINT               WORD                 ULINT                      
   462 create  DWORD_BCD_TO_ULINT               DWORD                ULINT                      
   569 create  DWORD_BCD_TO_ULINT               DWORD                ULINT                      
   463 create  LWORD_BCD_TO_ULINT               LWORD                ULINT                      
   570 create  LWORD_BCD_TO_ULINT               LWORD                ULINT                      
   464 echo  "*)"
   571 
   465 
   572 
   466 
       
   467 echo
       
   468 echo {enable code generation}
       
   469 
   573 
   470 exit 0
   574 exit 0
   471 
   575 
   472     ABS             
   576     ABS             
   473     SQRT
   577     SQRT