--- 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