# HG changeset patch # User Mario de Sousa # Date 1311951903 -3600 # Node ID e7d23675070927d032a2f2ca62586a28abac8b10 # Parent 2c3c4dc34979942a06d4423b43962a1c34028caf Support for semantic verification of calls to standard function calls. Adding missing files in previous commit. diff -r 2c3c4dc34979 -r e7d236750709 lib/create_standard_function_txt.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/create_standard_function_txt.sh Fri Jul 29 16:05:03 2011 +0100 @@ -0,0 +1,908 @@ +#!/bin/sh +# +# copyright 2011 Mario de Sousa (msousa@fe.up.pt) +# +# Offered to the public under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +# General Public License for more details. +# +# This code is made available on the understanding that it will not be +# used in safety-critical situations without a full and competent review. +# + +echo "(************************************************)" +echo "(************************************************)" +echo "(*** ***)" +echo "(*** The IEC 61131-3 standard functions ***)" +echo "(*** ***)" +echo "(*** Auto-generated file. Do not edit! ***)" +echo "(*** ***)" +echo "(************************************************)" +echo "(************************************************)" + + +echo "{disable code generation}" + +# Lets parse this file with the C pre-processor! +#cpp <<"END" | sed "s/ FUNCTION/\nFUNCTION/g" | grep -v '#' +# We usee gcc -E instead, as it seems cpp on OSX works differently! However, it needs an input file parameter... +#gcc -E <<"END" | sed "s/ FUNCTION/\nFUNCTION/g" | grep -v '#' +cpp <<"END" | sed "s/ FUNCTION/\nFUNCTION/g" | grep -v '#' + +#define __DEFINE_CLASHING_FUNCTIONS + +/* #include "iec_std_lib_generated.h" */ +/* Macro that expand to subtypes */ +#define __ANY(DO) __ANY_DERIVED(DO) __ANY_ELEMENTARY(DO) +#define __ANY_DERIVED(DO) +#define __ANY_ELEMENTARY(DO) __ANY_MAGNITUDE(DO) __ANY_BIT(DO) __ANY_STRING(DO) __ANY_DATE(DO) +#define __ANY_MAGNITUDE(DO) __ANY_NUM(DO) DO(TIME) +#define __ANY_BIT(DO) __ANY_NBIT(DO) DO(BOOL) +#define __ANY_NBIT(DO) DO(BYTE) DO(WORD) DO(DWORD) DO(LWORD) +#define __ANY_STRING(DO) DO(STRING) +#define __ANY_DATE(DO) DO(DATE) DO(TOD) DO(DT) +#define __ANY_NUM(DO) __ANY_REAL(DO) __ANY_INT(DO) +#define __ANY_REAL(DO) DO(REAL) DO(LREAL) +#define __ANY_INT(DO) __ANY_SINT(DO) __ANY_UINT(DO) +#define __ANY_SINT(DO) DO(SINT) DO(INT) DO(DINT) DO(LINT) +#define __ANY_UINT(DO) DO(USINT) DO(UINT) DO(UDINT) DO(ULINT) + +#define __ANY_1(DO,P1) __ANY_DERIVED_1(DO,P1) __ANY_ELEMENTARY_1(DO,P1) +#define __ANY_DERIVED_1(DO,P1) +#define __ANY_ELEMENTARY_1(DO,P1) __ANY_MAGNITUDE_1(DO,P1) __ANY_BIT_1(DO,P1) __ANY_STRING_1(DO,P1) __ANY_DATE_1(DO,P1) +#define __ANY_MAGNITUDE_1(DO,P1) __ANY_NUM_1(DO,P1) DO(TIME,P1) +#define __ANY_BIT_1(DO,P1) __ANY_NBIT_1(DO,P1) DO(BOOL,P1) +#define __ANY_NBIT_1(DO,P1) DO(BYTE,P1) DO(WORD,P1) DO(DWORD,P1) DO(LWORD,P1) +#define __ANY_STRING_1(DO,P1) DO(STRING,P1) +#define __ANY_DATE_1(DO,P1) DO(DATE,P1) DO(TOD,P1) DO(DT,P1) +#define __ANY_NUM_1(DO,P1) __ANY_REAL_1(DO,P1) __ANY_INT_1(DO,P1) +#define __ANY_REAL_1(DO,P1) DO(REAL,P1) DO(LREAL,P1) +#define __ANY_INT_1(DO,P1) __ANY_SINT_1(DO,P1) __ANY_UINT_1(DO,P1) +#define __ANY_SINT_1(DO,P1) DO(SINT,P1) DO(INT,P1) DO(DINT,P1) DO(LINT,P1) +#define __ANY_UINT_1(DO,P1) DO(USINT,P1) DO(UINT,P1) DO(UDINT,P1) DO(ULINT,P1) + + + +/*****************************************************************/ +/*****************************************************************/ +/***** *****/ +/***** IEC 61131-3 *****/ +/***** S T A N D A R D F U N C T I O N S *****/ +/***** *****/ +/*****************************************************************/ +/*****************************************************************/ + +/* NOTE: We only define and declare the explicitly typed standard functions + * (e.g., SIN_REAL, SIN_LREAL, ..., ADD_SINT, ADD_INT, ADD_LINT, ...) + * We do not declare/define the overloaded functions + * (SIN, ADD, ...). + * When handling a call to an overloaded function, the iec2c compiler + * will determine in stage3 the data type of the parameter being passed, + * and in stage4 generate the C code to call the correct + * typed standard function. + */ + +/* NOTE on explicit typing of: + * - Table 25 - Standard bit shift functions + * - Table 29 - Character string Functions + * + * In section 2.5.1.4 (Typing, overloading, and type conversion) of the IEC 61131-3 (version 2) + * of the standard, it is stated: + * "A standard function, [...] is said to be overloaded when it + * can operate on input data elements of various types within a generic type designator as defined in + * 2.3.2. For instance, an overloaded addition function on generic type ANY_NUM can operate on data + * of types LREAL, REAL, DINT, INT, and SINT." + * [...] + * "When a function which normally represents an overloaded operator is to be typed, i.e., the types + * of its inputs and outputs restricted to a particular elementary or derived data type as defined in + * 2.3, this shall be done by appending an "underline" character followed by the required type, as + * shown in table 21." + * + * However, this explanation (as well as the example in table 21) only refers to functions where the same + * generic data type is used for the single input and the output parameter. + * How can we create explicitly types functions when this is not the case? + * It does not seem to be covered by the standard. + * + * For this reason, we do not define the LEN_SINT, LEN_INT, LEN_STRING, LEN_[ANY_INT], LEN_[ANY_STRING] functions... + */ + + +/*****************************************/ +/*****************************************/ +/* 2.5.1.5.1 Type Conversion Functions */ +/*****************************************/ +/*****************************************/ + +/* macros for non-extensible functions */ +#define __function_1p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME) \ +FUNCTION fname : to_TYPENAME\ + VAR_INPUT p1_NAME : p1_TYPENAME; END_VAR\ + RETURN; \ +END_FUNCTION\ + +#define __function_2p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME) \ +FUNCTION fname : to_TYPENAME\ + VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME : p2_TYPENAME; END_VAR\ + RETURN; \ +END_FUNCTION\ + +#define __function_3p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME,p3_NAME,p3_TYPENAME) \ +FUNCTION fname : to_TYPENAME\ + VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME : p2_TYPENAME; p3_NAME : p3_TYPENAME; END_VAR\ + RETURN; \ +END_FUNCTION\ + +#define __function_4p(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME,p3_NAME,p3_TYPENAME,p4_NAME,p4_TYPENAME) \ +FUNCTION fname : to_TYPENAME\ + VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME : p2_TYPENAME; p3_NAME : p3_TYPENAME; p4_NAME : p4_TYPENAME; END_VAR\ + RETURN; \ +END_FUNCTION\ + + +/* macro for extensible functions */ +#define __function_1e(fname,to_TYPENAME,p1_NAME,p1_TYPENAME, FIRST_INDEX) \ +FUNCTION fname : to_TYPENAME\ + VAR_INPUT p1_NAME FIRST_INDEX .. : p1_TYPENAME; END_VAR\ + RETURN; \ +END_FUNCTION\ + +#define __function_2e(fname,to_TYPENAME,p1_NAME,p1_TYPENAME,p2_NAME,p2_TYPENAME, FIRST_INDEX) \ +FUNCTION fname : to_TYPENAME\ + VAR_INPUT p1_NAME : p1_TYPENAME; p2_NAME FIRST_INDEX .. : p2_TYPENAME; END_VAR\ + RETURN; \ +END_FUNCTION\ + + + + + + +#define __to_anynum_(from_TYPENAME) __ANY_NUM_1(__iec_,from_TYPENAME) +#define __to_anyint_(from_TYPENAME) __ANY_INT_1(__iec_,from_TYPENAME) +#define __to_anybit_(from_TYPENAME) __ANY_BIT_1(__iec_,from_TYPENAME) +#define __to_anynbit_(from_TYPENAME) __ANY_NBIT_1(__iec_,from_TYPENAME) +#define __to_anysint_(from_TYPENAME) __ANY_SINT_1(__iec_,from_TYPENAME) +#define __to_anyuint_(from_TYPENAME) __ANY_UINT_1(__iec_,from_TYPENAME) +#define __to_anyreal_(from_TYPENAME) __ANY_REAL_1(__iec_,from_TYPENAME) +#define __to_anydate_(from_TYPENAME) __ANY_DATE_1(__iec_,from_TYPENAME) +#define __to_time_(from_TYPENAME) __iec_(TIME,from_TYPENAME) +#define __to_string_(from_TYPENAME) __iec_(STRING,from_TYPENAME) + + +/*****************/ +/* *_TO_** */ +/*****************/ +#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(from_TYPENAME##_TO_##to_TYPENAME, to_TYPENAME, IN, from_TYPENAME) + +/******** [ANY_BIT]_TO_[ANY_NUM | ANY_BIT] ************/ +__ANY_BIT(__to_anynum_) +__ANY_BIT(__to_anybit_) + +/******** [ANY_NUM]_TO_[ANY_NUM | ANY_BIT] ************/ +__ANY_NUM(__to_anynum_) +__ANY_NUM(__to_anybit_) + + +/******** [ANY_BIT | ANY_NUM]_TO_[TIME | ANY_DATE] ************/ +__ANY_BIT(__to_time_) +__ANY_NUM(__to_time_) +__ANY_BIT(__to_anydate_) +__ANY_NUM(__to_anydate_) + + +/******** [TIME | ANY_DATE]_TO_[ANY_BIT | ANY_NUM] ************/ +__to_anynum_(TIME) +__to_anybit_(TIME) +__ANY_DATE(__to_anynum_) +__ANY_DATE(__to_anybit_) + + +/******** [ANY_DATE]_TO_[ANY_DATE | TIME] ************/ +/* Not supported: DT_TO_TIME */ +/*__iec_(to_TYPENAME,from_TYPENAME)*/ +__iec_(DATE,DT) +__iec_(DT,DT) +__iec_(TOD,DT) +/* Not supported: DATE_TO_TIME */ +__iec_(DATE,DATE) +/* Not supported: DATE_TO_DT */ +/* Not supported: DATE_TO_TOD */ +/* Not supported: TOD_TO_TIME */ +/* Not supported: TOD_TO_DATE */ +/* Not supported: TOD_TO_DT */ +__iec_(TOD,TOD) + + +/******** TIME_TO_[ANY_DATE] ************/ +/* Not supported: TIME_TO_DATE */ +/* Not supported: TIME_TO_DT */ +/* Not supported: TIME_TO_TOD */ + +/******** TIME_TO_TIME ************/ +__iec_(TIME,TIME) + + +/******** [ANY_BIT]_TO_STRING ************/ +__ANY_BIT(__to_string_) + + +/******** [ANY_NUM]_TO_STRING ************/ +__ANY_NUM(__to_string_) + +/******** [ANY_DATE]_TO_STRING ************/ +__ANY_DATE(__to_string_) + + +/******** TIME_TO_STRING ************/ +__iec_(STRING,TIME) + + +/******** STRING_TO_[ANY_BIT] ************/ +__to_anybit_(STRING) + + +/******** STRING_TO_[ANY_NUM] ************/ +__to_anynum_(STRING) + + +/******** STRING_TO_[ANY_DATE] ************/ +__to_anydate_(STRING) + + +/******** STRING_TO_TIME ************/ +__iec_(TIME,STRING) + +#undef __iec_ + + + +/**************/ +/* TRUNC */ +/**************/ +/* overloaded function! */ +#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(TRUNC, to_TYPENAME, IN, from_TYPENAME) +__ANY_REAL(__to_anyint_) +#undef __iec_ + + +/*******************/ +/* *_TO_BCD_* */ +/*******************/ +#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(from_TYPENAME##_TO_BCD_##to_TYPENAME, to_TYPENAME, IN, from_TYPENAME) +__ANY_UINT(__to_anynbit_) +#undef __iec_ + + +/*******************/ +/* *_BCD_TO_* */ +/*******************/ +#define __iec_(to_TYPENAME,from_TYPENAME) __function_1p(from_TYPENAME##_BCD_TO_##to_TYPENAME, to_TYPENAME, IN, from_TYPENAME) +__ANY_NBIT(__to_anyuint_) +#undef __iec_ + +/***********************************/ +/***********************************/ +/* 2.5.1.5.2 Numerical Functions */ +/***********************************/ +/***********************************/ + +/******************************************************************/ +/*** Table 23 - Standard functions of one numeric variable ***/ +/******************************************************************/ + + /**************/ + /* ABS */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(ABS_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(ABS, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +__ANY_INT(__iec_) +#undef __iec_ + + /**************/ + /* SQRT */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(SQRT_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(SQRT, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* LN */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(LN_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(LN, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* LOG */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(LOG_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(LOG, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* EXP */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(EXP_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(EXP, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* SIN */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(SIN_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(SIN, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* COS */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(COS_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(COS, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* TAN */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(TAN_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(TAN, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* ASIN */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(ASIN_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(ASIN, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* ACOS */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(ACOS_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(ACOS, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + /**************/ + /* ATAN */ + /**************/ +#define __iec_(TYPENAME) \ +__function_1p(ATAN_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(ATAN, TYPENAME, IN, TYPENAME) /* overloaded function */ +__ANY_REAL(__iec_) +#undef __iec_ + + + +/*****************************************************/ +/*** Table 24 - Standard arithmetic functions ***/ +/*****************************************************/ + +#define __arith_expand(fname,TYPENAME) \ +__function_1e(fname##_##TYPENAME, TYPENAME, IN, TYPENAME, 1) /* explicitly typed function */\ +__function_1e(fname, TYPENAME, IN, TYPENAME, 1) /* overloaded function */ + + +#define __arith_static(fname,TYPENAME) \ +__function_1p(fname##_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */\ +__function_1p(fname, TYPENAME, IN, TYPENAME) /* overloaded function */ + + /**************/ + /* ADD */ + /**************/ +#define __iec_(TYPENAME) __arith_expand(ADD, TYPENAME) +__ANY_NUM(__iec_) +#undef __iec_ + + /**************/ + /* MUL */ + /**************/ +#define __iec_(TYPENAME) __arith_expand(MUL, TYPENAME) +__ANY_NUM(__iec_) +#undef __iec_ + + /**************/ + /* SUB */ + /**************/ +#define __iec_(TYPENAME) __arith_static(SUB, TYPENAME) +__ANY_NUM(__iec_) +#undef __iec_ + + /**************/ + /* DIV */ + /**************/ +#define __iec_(TYPENAME)\ +__function_2p(DIV_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME) /* explicitly typed function */\ +__function_2p(DIV, TYPENAME, IN1, TYPENAME, IN2, TYPENAME) /* overloaded function */ +__ANY_NUM(__iec_) +#undef __iec_ + + /**************/ + /* MOD */ + /**************/ +#ifdef __DEFINE_CLASHING_FUNCTIONS +#define __iec_(TYPENAME)\ +__function_2p(MOD_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME) /* explicitly typed function */\ +__function_2p(MOD, TYPENAME, IN1, TYPENAME, IN2, TYPENAME) /* overloaded function */ +__ANY_INT(__iec_) +#undef __iec_ +#endif + + /**************/ + /* EXPT */ + /**************/ +#define __in1_anyreal_(in2_TYPENAME) __ANY_REAL_1(__iec_,in2_TYPENAME) +#define __iec_(in1_TYPENAME,in2_TYPENAME) \ +__function_2p(EXPT, in1_TYPENAME, IN1, in1_TYPENAME, IN2, in2_TYPENAME) /* overloaded function */ +__ANY_NUM(__in1_anyreal_) +#undef __iec_ + + /***************/ + /* MOVE */ + /***************/ +#define __iec_(TYPENAME) __arith_static(MOVE, TYPENAME) +__ANY(__iec_) +#undef __iec_ + + + + +/***********************************/ +/***********************************/ +/* 2.5.1.5.3 Bit String Functions */ +/***********************************/ +/***********************************/ + +/****************************************************/ +/*** Table 25 - Standard bit shift functions ***/ +/****************************************************/ +/* We do not delcare explcitly typed versions of the functions in table 29. + * See note at top of this file regarding explicitly typed functions for more details. + */ +#define __in1_anybit_(in2_TYPENAME) __ANY_BIT_1(__iec_,in2_TYPENAME) + + + /**************/ + /* SHL */ + /**************/ +#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(SHL, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME) /* overloaded function */ +__ANY_INT(__in1_anybit_) +#undef __iec_ + + /**************/ + /* SHR */ + /**************/ +#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(SHR, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME) /* overloaded function */ +__ANY_INT(__in1_anybit_) +#undef __iec_ + + /**************/ + /* ROR */ + /**************/ +#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(ROR, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME) /* overloaded function */ +__ANY_INT(__in1_anybit_) +#undef __iec_ + + /**************/ + /* ROL */ + /**************/ +#define __iec_(in1_TYPENAME,in2_TYPENAME) __function_2p(ROL, in1_TYPENAME, IN, in1_TYPENAME, N, in2_TYPENAME) /* overloaded function */ +__ANY_INT(__in1_anybit_) +#undef __iec_ + + + +/*********************/ +/*** Table 26 ***/ +/*********************/ + + /**************/ + /* AND */ + /**************/ +#ifdef __DEFINE_CLASHING_FUNCTIONS +#define __iec_(TYPENAME) \ +__function_1e(AND, TYPENAME, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(AND_##TYPENAME, TYPENAME, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_BIT(__iec_) +#undef __iec_ +#endif + + /*************/ + /* OR */ + /*************/ +#ifdef __DEFINE_CLASHING_FUNCTIONS +#define __iec_(TYPENAME) \ +__function_1e(OR, TYPENAME, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(OR_##TYPENAME, TYPENAME, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_BIT(__iec_) +#undef __iec_ +#endif + + /**************/ + /* XOR */ + /**************/ +#ifdef __DEFINE_CLASHING_FUNCTIONS +#define __iec_(TYPENAME) \ +__function_1e(XOR, TYPENAME, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(XOR_##TYPENAME, TYPENAME, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_BIT(__iec_) +#undef __iec_ +#endif + + /**************/ + /* NOT */ + /**************/ +#ifdef __DEFINE_CLASHING_FUNCTIONS +#define __iec_(TYPENAME) \ +__function_1p(NOT, TYPENAME, IN, TYPENAME) /* overloaded function */ \ +__function_1p(NOT_##TYPENAME, TYPENAME, IN, TYPENAME) /* explicitly typed function */ +__ANY_BIT(__iec_) +#undef __iec_ +#endif + + + + + + +/***************************************************/ +/***************************************************/ +/* 2.5.1.5.4 Selection and comparison Functions */ +/***************************************************/ +/***************************************************/ + +/*********************/ +/*** Table 27 ***/ +/*********************/ + + /**************/ + /* SEL */ + /**************/ +/* The standard states that the inputs for SEL and MUX must be named starting off from 0, + * unlike remaining functions, that start off at 1. + */ +#define __iec_(TYPENAME) \ +__function_3p(SEL, TYPENAME, G, BOOL, IN0, TYPENAME, IN1, TYPENAME) /* overloaded function */ \ +__function_3p(SEL_##TYPENAME, TYPENAME, G, BOOL, IN0, TYPENAME, IN1, TYPENAME) /* explicitly typed function */ +__ANY(__iec_) +#undef __iec_ + + /**************/ + /* MAX */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(MAX, TYPENAME, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(MAX_##TYPENAME, TYPENAME, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* MIN */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(MIN, TYPENAME, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(MIN_##TYPENAME, TYPENAME, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* LIMIT */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_3p(LIMIT, TYPENAME, MN, TYPENAME, IN, TYPENAME, MX, TYPENAME) /* overloaded function */ \ +__function_3p(LIMIT_##TYPENAME, TYPENAME, MN, TYPENAME, IN, TYPENAME, MX, TYPENAME) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* MUX */ + /**************/ +/* The standard states that the inputs for SEL and MUX must be named starting off from 0, + * unlike remaining functions, that start off at 1. + */ +/* The standard considers the explicit typing of MUX function as a special case... + * It should look like: + * MUX_SINT_REAL, MUX_SINT_STRING, MUX_SINT_[ANY] + * MUX_INT_REAL, MUX_INT_STRING, MUX_INT_[ANY] + * MUX_[ANY_INT]_[ANY] + */ +#define __in1_anyint_(in2_TYPENAME) __ANY_INT_1(__iec_,in2_TYPENAME) +#define __iec_(in1_TYPENAME,in2_TYPENAME) \ +__function_2e(MUX, in2_TYPENAME, K, in1_TYPENAME, IN, in2_TYPENAME, 0) /* overloaded function */ \ +__function_2e(MUX_##in1_TYPENAME##_##in2_TYPENAME, in2_TYPENAME, K, in1_TYPENAME, IN, in2_TYPENAME, 0) /* explicitly typed function */ +__ANY(__in1_anyint_) +#undef __iec_ + + + +/******************************************/ +/*** Table 28 ***/ +/*** Standard comparison functions ***/ +/******************************************/ + + /**************/ + /* GT */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(GT, BOOL, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(GT_##TYPENAME, BOOL, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* GE */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(GE, BOOL, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(GE_##TYPENAME, BOOL, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* EQ */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(EQ, BOOL, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(EQ_##TYPENAME, BOOL, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* LT */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(LT, BOOL, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(LT_##TYPENAME, BOOL, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* LE */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(LE, BOOL, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(LE_##TYPENAME, BOOL, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + /**************/ + /* NE */ + /**************/ +/* Should be for: ANY_ELEMENTARY, but we currently do not support WSTRING yet... */ +/* However, we can call __ANY_ELEMENTARY since the __ANY_STRING macro does not call DO(WSTRING) */ +#define __iec_(TYPENAME) \ +__function_1e(NE, BOOL, IN, TYPENAME, 1) /* overloaded function */ \ +__function_1e(NE_##TYPENAME, BOOL, IN, TYPENAME, 1) /* explicitly typed function */ +__ANY_ELEMENTARY(__iec_) +#undef __iec_ + + + +/*********************************************/ +/*********************************************/ +/* 2.5.1.5.5 Character string Functions */ +/*********************************************/ +/*********************************************/ + +/*************************************/ +/*** Table 29 ***/ +/*** Character string Functions ***/ +/*************************************/ + +/* We do not delcare explcitly typed versions of the functions in table 29. + * See note at top of this file regarding explicitly typed functions for more details. + */ + +#define __A_anyint_(B_TYPENAME) __ANY_INT_1(__iec_,B_TYPENAME) + + + + /***************/ + /* LEN */ + /***************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_1p(LEN, A_TYPENAME, IN, B_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + + /****************/ + /* LEFT */ + /****************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_2p(LEFT, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + + /*****************/ + /* RIGHT */ + /*****************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_2p(RIGHT, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + + /***************/ + /* MID */ + /***************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_3p(MID, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME, P, A_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + + /******************/ + /* CONCAT */ + /******************/ +#define __iec_(TYPENAME) \ +__function_1e(CONCAT, TYPENAME, IN, TYPENAME, 1) /* overloaded function */ +__ANY_STRING(__iec_) +#undef __iec_ + + + /******************/ + /* INSERT */ + /******************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_3p(INSERT, B_TYPENAME, IN1, B_TYPENAME, IN2, B_TYPENAME, P, A_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + + /******************/ + /* DELETE */ + /******************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_3p(DELETE, B_TYPENAME, IN, B_TYPENAME, L, A_TYPENAME, P, A_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + + /*******************/ + /* REPLACE */ + /*******************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_4p(REPLACE, B_TYPENAME, IN1, B_TYPENAME, IN2, B_TYPENAME, L, A_TYPENAME, P, A_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + + /****************/ + /* FIND */ + /****************/ +#define __iec_(A_TYPENAME,B_TYPENAME) \ +__function_2p(FIND, A_TYPENAME, IN1, B_TYPENAME, IN2, B_TYPENAME) /* overloaded function */ +__ANY_STRING(__A_anyint_) +#undef __iec_ + + +/*********************************************/ +/*********************************************/ +/* 2.5.1.5.6 Functions of time data types */ +/*********************************************/ +/*********************************************/ + +/**************************************/ +/*** Table 30 ***/ +/*** Functions of time data types ***/ +/**************************************/ + +__function_2p(ADD_TIME, TIME, IN1, TIME, IN2, TIME) +__function_2p(ADD_TOD_TIME, TOD, IN1, TOD, IN2, TIME) +__function_2p(ADD_DT_TIME, DT, IN1, DT, IN2, TIME) + +__function_2p(SUB_TIME, TIME, IN1, TIME, IN2, TIME) +__function_2p(SUB_DATE_DATE, TIME, IN1, DATE, IN2, DATE) +__function_2p(SUB_TOD_TIME, TOD, IN1, TOD, IN2, TIME) +__function_2p(SUB_TOD_TOD, TIME, IN1, TOD, IN2, TOD) +__function_2p(SUB_DT_TIME, DT, IN1, DT, IN2, TIME) +__function_2p(SUB_DT_DT, TIME, IN1, DT, IN2, DT) + + +/*** MULTIME ***/ +#define __iec_(TYPENAME) \ +__function_2p(MULTIME_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME) /* explicitly typed function */\ +__function_2p(MULTIME, TIME, IN1, TIME, IN2, TYPENAME) /* overloaded function */ +__ANY_NUM(__iec_) +#undef __iec_ + +/*** MUL ***/ +/* NOTE: We can not include the explicitly typed function + * __function_2p(DIV_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME) + * as it would clash with another function with the exact same name declared above + * __function_2p(DIV_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME) + * and the standard does not define this explicitly defined function as being overloaded + * (i.e. having an ANY_***) input or output parameter + * Note that our compiler would nevertheless work just fine with this overloaded declaration. + */ +#define __iec_(TYPENAME) \ +__function_2p(MUL, TIME, IN1, TIME, IN2, TYPENAME) /* overloaded function */ +__ANY_NUM(__iec_) +#undef __iec_ + +/*** DIVTIME ***/ +#define __iec_(TYPENAME) \ +__function_2p(DIVTIME_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME) /* explicitly typed function */\ +__function_2p(DIVTIME, TIME, IN1, TIME, IN2, TYPENAME) /* overloaded function */ +__ANY_NUM(__iec_) +#undef __iec_ + +/*** DIV ***/ +/* NOTE: We can not include the explicitly typed function + * __function_2p(DIV_##TYPENAME, TIME, IN1, TIME, IN2, TYPENAME) + * as it would clash with another function with the exact same name declared above + * __function_2p(DIV_##TYPENAME, TYPENAME, IN1, TYPENAME, IN2, TYPENAME) + * and the standard does not define this explicitly defined function as being overloaded + * (i.e. having an ANY_***) input or output parameter + * Note that our compiler would nevertheless work just fine with this overloaded declaration. + */ +#define __iec_(TYPENAME) \ +__function_2p(DIV, TIME, IN1, TIME, IN2, TYPENAME) /* overloaded function */ +__ANY_NUM(__iec_) +#undef __iec_ + + +/*** CONCAT_DATE_TOD ***/ +__function_2p(CONCAT_DATE_TOD, DT, IN1, DATE, IN2, TOD) + + + + +/****************************************************/ +/****************************************************/ +/* 2.5.1.5.6 Functions of enumerated data types */ +/****************************************************/ +/****************************************************/ + +/********************************************/ +/*** Table 31 ***/ +/*** Functions of enumerated data types ***/ +/********************************************/ + +/* Do we support this? */ + +END + +echo "{enable code generation}" +echo diff -r 2c3c4dc34979 -r e7d236750709 lib/standard_functions.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/standard_functions.txt Fri Jul 29 16:05:03 2011 +0100 @@ -0,0 +1,1832 @@ +(************************************************) +(************************************************) +(*** ***) +(*** The IEC 61131-3 standard functions ***) +(*** ***) +(*** Auto-generated file. Do not edit! ***) +(*** ***) +(************************************************) +(************************************************) +{disable code generation} +FUNCTION BYTE_TO_REAL : REAL VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_LREAL : LREAL VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_SINT : SINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_INT : INT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_DINT : DINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_LINT : LINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_USINT : USINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_UINT : UINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_UDINT : UDINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_ULINT : ULINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_REAL : REAL VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_LREAL : LREAL VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_SINT : SINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_INT : INT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_DINT : DINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_LINT : LINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_USINT : USINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_UINT : UINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_UDINT : UDINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_ULINT : ULINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_REAL : REAL VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_LREAL : LREAL VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_SINT : SINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_INT : INT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_DINT : DINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_LINT : LINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_USINT : USINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_UINT : UINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_UDINT : UDINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_ULINT : ULINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_REAL : REAL VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_LREAL : LREAL VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_SINT : SINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_INT : INT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_DINT : DINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_LINT : LINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_USINT : USINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_UINT : UINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_UDINT : UDINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_ULINT : ULINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_REAL : REAL VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_LREAL : LREAL VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_SINT : SINT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_INT : INT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_DINT : DINT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_LINT : LINT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_USINT : USINT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_UINT : UINT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_UDINT : UDINT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_ULINT : ULINT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_BYTE : BYTE VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_WORD : WORD VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_DWORD : DWORD VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_LWORD : LWORD VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_BOOL : BOOL VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_BYTE : BYTE VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_WORD : WORD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_DWORD : DWORD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_LWORD : LWORD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_BOOL : BOOL VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_BYTE : BYTE VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_WORD : WORD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_DWORD : DWORD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_LWORD : LWORD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_BOOL : BOOL VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_BYTE : BYTE VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_WORD : WORD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_DWORD : DWORD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_LWORD : LWORD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_BOOL : BOOL VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_BYTE : BYTE VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_WORD : WORD VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_DWORD : DWORD VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_LWORD : LWORD VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_BOOL : BOOL VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION + + +FUNCTION REAL_TO_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_LREAL : LREAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_SINT : SINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_INT : INT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_DINT : DINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_LINT : LINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_USINT : USINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_UINT : UINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_UDINT : UDINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_ULINT : ULINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_REAL : REAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_SINT : SINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_INT : INT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_DINT : DINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_LINT : LINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_USINT : USINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_UINT : UINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_UDINT : UDINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_ULINT : ULINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_REAL : REAL VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_LREAL : LREAL VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_SINT : SINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_INT : INT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_DINT : DINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_LINT : LINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_USINT : USINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_UINT : UINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_UDINT : UDINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_ULINT : ULINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_REAL : REAL VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_LREAL : LREAL VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_SINT : SINT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_INT : INT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_DINT : DINT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_LINT : LINT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_USINT : USINT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_UINT : UINT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_UDINT : UDINT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_ULINT : ULINT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_REAL : REAL VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_LREAL : LREAL VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_SINT : SINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_INT : INT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_DINT : DINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_LINT : LINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_USINT : USINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_UINT : UINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_UDINT : UDINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_ULINT : ULINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_REAL : REAL VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_LREAL : LREAL VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_SINT : SINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_INT : INT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_DINT : DINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_LINT : LINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_USINT : USINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_UINT : UINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_UDINT : UDINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_ULINT : ULINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_REAL : REAL VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_LREAL : LREAL VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_SINT : SINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_INT : INT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_DINT : DINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_LINT : LINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_USINT : USINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_UINT : UINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_UDINT : UDINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_ULINT : ULINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_REAL : REAL VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_LREAL : LREAL VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_SINT : SINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_INT : INT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_DINT : DINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_LINT : LINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_USINT : USINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_UINT : UINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_UDINT : UDINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_ULINT : ULINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_REAL : REAL VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_LREAL : LREAL VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_SINT : SINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_INT : INT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_DINT : DINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_LINT : LINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_USINT : USINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_UINT : UINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_UDINT : UDINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_ULINT : ULINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_REAL : REAL VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_LREAL : LREAL VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_SINT : SINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_INT : INT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_DINT : DINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_LINT : LINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_USINT : USINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_UINT : UINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_UDINT : UDINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_ULINT : ULINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_BYTE : BYTE VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_WORD : WORD VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_DWORD : DWORD VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_LWORD : LWORD VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_BOOL : BOOL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_BYTE : BYTE VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_WORD : WORD VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_DWORD : DWORD VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_LWORD : LWORD VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_BOOL : BOOL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_BYTE : BYTE VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_WORD : WORD VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_DWORD : DWORD VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_LWORD : LWORD VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_BOOL : BOOL VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_BYTE : BYTE VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_WORD : WORD VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_DWORD : DWORD VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_LWORD : LWORD VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_BOOL : BOOL VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_BYTE : BYTE VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_WORD : WORD VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_DWORD : DWORD VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_LWORD : LWORD VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_BOOL : BOOL VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_BYTE : BYTE VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_WORD : WORD VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_DWORD : DWORD VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_LWORD : LWORD VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_BOOL : BOOL VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_BYTE : BYTE VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_WORD : WORD VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_DWORD : DWORD VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_LWORD : LWORD VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_BOOL : BOOL VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_BYTE : BYTE VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_WORD : WORD VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_DWORD : DWORD VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_LWORD : LWORD VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_BOOL : BOOL VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_BYTE : BYTE VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_WORD : WORD VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_DWORD : DWORD VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_LWORD : LWORD VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_BOOL : BOOL VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_BYTE : BYTE VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_WORD : WORD VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_DWORD : DWORD VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_LWORD : LWORD VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_BOOL : BOOL VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION + + + +FUNCTION BYTE_TO_TIME : TIME VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_TIME : TIME VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_TIME : TIME VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_TIME : TIME VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_TIME : TIME VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_TIME : TIME VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_TIME : TIME VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_TIME : TIME VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_TIME : TIME VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_TIME : TIME VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_TIME : TIME VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_TIME : TIME VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_TIME : TIME VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_TIME : TIME VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_TIME : TIME VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_DATE : DATE VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_TOD : TOD VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_TO_DT : DT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_DATE : DATE VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_TOD : TOD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_DT : DT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_DATE : DATE VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_TOD : TOD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_DT : DT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_DATE : DATE VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_TOD : TOD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_DT : DT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_DATE : DATE VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_TOD : TOD VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_DT : DT VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_DATE : DATE VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_TOD : TOD VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION REAL_TO_DT : DT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_DATE : DATE VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_TOD : TOD VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_DT : DT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_DATE : DATE VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_TOD : TOD VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_DT : DT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_DATE : DATE VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_TOD : TOD VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_DT : DT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_DATE : DATE VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_TOD : TOD VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_DT : DT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_DATE : DATE VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_TOD : TOD VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_DT : DT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_DATE : DATE VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_TOD : TOD VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_DT : DT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_DATE : DATE VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_TOD : TOD VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_DT : DT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_DATE : DATE VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_TOD : TOD VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_DT : DT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_DATE : DATE VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_TOD : TOD VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_DT : DT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION + + + +FUNCTION TIME_TO_REAL : REAL VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_LREAL : LREAL VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_SINT : SINT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_INT : INT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_DINT : DINT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_LINT : LINT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_USINT : USINT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_UINT : UINT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_UDINT : UDINT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_ULINT : ULINT VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_BYTE : BYTE VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_WORD : WORD VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_DWORD : DWORD VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_LWORD : LWORD VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_BOOL : BOOL VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_REAL : REAL VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_LREAL : LREAL VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_SINT : SINT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_INT : INT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_DINT : DINT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_LINT : LINT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_USINT : USINT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_UINT : UINT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_UDINT : UDINT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_ULINT : ULINT VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_REAL : REAL VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_LREAL : LREAL VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_SINT : SINT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_INT : INT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_DINT : DINT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_LINT : LINT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_USINT : USINT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_UINT : UINT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_UDINT : UDINT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_ULINT : ULINT VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_REAL : REAL VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_LREAL : LREAL VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_SINT : SINT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_INT : INT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_DINT : DINT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_LINT : LINT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_USINT : USINT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_UINT : UINT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_UDINT : UDINT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_ULINT : ULINT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_BYTE : BYTE VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_WORD : WORD VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_DWORD : DWORD VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_LWORD : LWORD VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION DATE_TO_BOOL : BOOL VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_BYTE : BYTE VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_WORD : WORD VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_DWORD : DWORD VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_LWORD : LWORD VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_BOOL : BOOL VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_BYTE : BYTE VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_WORD : WORD VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_DWORD : DWORD VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_LWORD : LWORD VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_BOOL : BOOL VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION + + + + + +FUNCTION DT_TO_DATE : DATE VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_DT : DT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_TOD : TOD VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION + +FUNCTION DATE_TO_DATE : DATE VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION + + + + + +FUNCTION TOD_TO_TOD : TOD VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION TIME_TO_TIME : TIME VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION + + + +FUNCTION BYTE_TO_STRING : STRING VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_TO_STRING : STRING VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_TO_STRING : STRING VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_TO_STRING : STRING VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION BOOL_TO_STRING : STRING VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION + + + +FUNCTION REAL_TO_STRING : STRING VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LREAL_TO_STRING : STRING VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SINT_TO_STRING : STRING VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION INT_TO_STRING : STRING VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DINT_TO_STRING : STRING VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LINT_TO_STRING : STRING VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_STRING : STRING VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_STRING : STRING VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_STRING : STRING VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_STRING : STRING VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION + + +FUNCTION DATE_TO_STRING : STRING VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION TOD_TO_STRING : STRING VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION DT_TO_STRING : STRING VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION + + + +FUNCTION TIME_TO_STRING : STRING VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION + + + +FUNCTION STRING_TO_BYTE : BYTE VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_WORD : WORD VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_DWORD : DWORD VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_LWORD : LWORD VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_BOOL : BOOL VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION + + + +FUNCTION STRING_TO_REAL : REAL VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_LREAL : LREAL VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_SINT : SINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_INT : INT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_DINT : DINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_LINT : LINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_USINT : USINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_UINT : UINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_UDINT : UDINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_ULINT : ULINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION + + + +FUNCTION STRING_TO_DATE : DATE VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_TOD : TOD VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION STRING_TO_DT : DT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION + + + +FUNCTION STRING_TO_TIME : TIME VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : SINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : INT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : DINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : LINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : USINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : UINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : UDINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : ULINT VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : SINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : INT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : DINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : LINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : USINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : UINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : UDINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TRUNC : ULINT VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION + + + + + + + +FUNCTION USINT_TO_BCD_BYTE : BYTE VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_BCD_WORD : WORD VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_BCD_DWORD : DWORD VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION USINT_TO_BCD_LWORD : LWORD VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_BCD_BYTE : BYTE VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_BCD_WORD : WORD VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_BCD_DWORD : DWORD VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UINT_TO_BCD_LWORD : LWORD VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_BCD_BYTE : BYTE VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_BCD_WORD : WORD VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_BCD_DWORD : DWORD VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION UDINT_TO_BCD_LWORD : LWORD VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_BCD_BYTE : BYTE VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_BCD_WORD : WORD VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_BCD_DWORD : DWORD VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ULINT_TO_BCD_LWORD : LWORD VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + + +FUNCTION BYTE_BCD_TO_USINT : USINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_BCD_TO_UINT : UINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_BCD_TO_UDINT : UDINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION BYTE_BCD_TO_ULINT : ULINT VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_BCD_TO_USINT : USINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_BCD_TO_UINT : UINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_BCD_TO_UDINT : UDINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION WORD_BCD_TO_ULINT : ULINT VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_BCD_TO_USINT : USINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_BCD_TO_UINT : UINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_BCD_TO_UDINT : UDINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION DWORD_BCD_TO_ULINT : ULINT VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_BCD_TO_USINT : USINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_BCD_TO_UINT : UINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_BCD_TO_UDINT : UDINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LWORD_BCD_TO_ULINT : ULINT VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_SINT : SINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : SINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_INT : INT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : INT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_DINT : DINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : DINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_LINT : LINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : LINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_USINT : USINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : USINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_UINT : UINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : UINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_UDINT : UDINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : UDINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS_ULINT : ULINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ABS : ULINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SQRT_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SQRT : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SQRT_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SQRT : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LN_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LN : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LN_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LN : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LOG_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LOG : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LOG_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LOG : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXP_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXP : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXP_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXP : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SIN_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SIN : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SIN_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SIN : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION COS_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION COS : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION COS_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION COS : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TAN_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TAN : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION TAN_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION TAN : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ASIN_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ASIN : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ASIN_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ASIN : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ACOS_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ACOS : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ACOS_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ACOS : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ATAN_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ATAN : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ATAN_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ATAN : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_REAL : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_LREAL : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_SINT : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_INT : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_DINT : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_LINT : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_USINT : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_UINT : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_UDINT : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_ULINT : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ADD : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + +FUNCTION MUL_REAL : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_LREAL : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_SINT : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_INT : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_DINT : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_LINT : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_USINT : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_UINT : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_UDINT : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL_ULINT : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + +FUNCTION SUB_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_SINT : SINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : SINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_INT : INT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : INT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_DINT : DINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : DINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_LINT : LINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : LINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_USINT : USINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : USINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_UINT : UINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : UINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_UDINT : UDINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : UDINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_ULINT : ULINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SUB : ULINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_REAL : REAL VAR_INPUT IN1 : REAL; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : REAL VAR_INPUT IN1 : REAL; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_LREAL : LREAL VAR_INPUT IN1 : LREAL; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : LREAL VAR_INPUT IN1 : LREAL; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_SINT : SINT VAR_INPUT IN1 : SINT; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : SINT VAR_INPUT IN1 : SINT; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_INT : INT VAR_INPUT IN1 : INT; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : INT VAR_INPUT IN1 : INT; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_DINT : DINT VAR_INPUT IN1 : DINT; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : DINT VAR_INPUT IN1 : DINT; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_LINT : LINT VAR_INPUT IN1 : LINT; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : LINT VAR_INPUT IN1 : LINT; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_USINT : USINT VAR_INPUT IN1 : USINT; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : USINT VAR_INPUT IN1 : USINT; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_UINT : UINT VAR_INPUT IN1 : UINT; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : UINT VAR_INPUT IN1 : UINT; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_UDINT : UDINT VAR_INPUT IN1 : UDINT; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : UDINT VAR_INPUT IN1 : UDINT; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV_ULINT : ULINT VAR_INPUT IN1 : ULINT; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : ULINT VAR_INPUT IN1 : ULINT; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_SINT : SINT VAR_INPUT IN1 : SINT; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : SINT VAR_INPUT IN1 : SINT; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_INT : INT VAR_INPUT IN1 : INT; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : INT VAR_INPUT IN1 : INT; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_DINT : DINT VAR_INPUT IN1 : DINT; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : DINT VAR_INPUT IN1 : DINT; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_LINT : LINT VAR_INPUT IN1 : LINT; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : LINT VAR_INPUT IN1 : LINT; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_USINT : USINT VAR_INPUT IN1 : USINT; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : USINT VAR_INPUT IN1 : USINT; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_UINT : UINT VAR_INPUT IN1 : UINT; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : UINT VAR_INPUT IN1 : UINT; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_UDINT : UDINT VAR_INPUT IN1 : UDINT; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : UDINT VAR_INPUT IN1 : UDINT; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD_ULINT : ULINT VAR_INPUT IN1 : ULINT; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOD : ULINT VAR_INPUT IN1 : ULINT; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : REAL VAR_INPUT IN1 : REAL; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION EXPT : LREAL VAR_INPUT IN1 : LREAL; IN2 : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + + +FUNCTION MOVE_REAL : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : REAL VAR_INPUT IN : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_LREAL : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : LREAL VAR_INPUT IN : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_SINT : SINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : SINT VAR_INPUT IN : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_INT : INT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : INT VAR_INPUT IN : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_DINT : DINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : DINT VAR_INPUT IN : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_LINT : LINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : LINT VAR_INPUT IN : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_USINT : USINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : USINT VAR_INPUT IN : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_UINT : UINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : UINT VAR_INPUT IN : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_UDINT : UDINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : UDINT VAR_INPUT IN : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_ULINT : ULINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : ULINT VAR_INPUT IN : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_TIME : TIME VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : TIME VAR_INPUT IN : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_BYTE : BYTE VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : BYTE VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_WORD : WORD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : WORD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_DWORD : DWORD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : DWORD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_LWORD : LWORD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : LWORD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_BOOL : BOOL VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : BOOL VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_STRING : STRING VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : STRING VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_DATE : DATE VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : DATE VAR_INPUT IN : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_TOD : TOD VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : TOD VAR_INPUT IN : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE_DT : DT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MOVE : DT VAR_INPUT IN : DT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BYTE VAR_INPUT IN : BYTE; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : WORD VAR_INPUT IN : WORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : DWORD VAR_INPUT IN : DWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : LWORD VAR_INPUT IN : LWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHL : BOOL VAR_INPUT IN : BOOL; N : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BYTE VAR_INPUT IN : BYTE; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : WORD VAR_INPUT IN : WORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : DWORD VAR_INPUT IN : DWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : LWORD VAR_INPUT IN : LWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SHR : BOOL VAR_INPUT IN : BOOL; N : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BYTE VAR_INPUT IN : BYTE; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : WORD VAR_INPUT IN : WORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : DWORD VAR_INPUT IN : DWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : LWORD VAR_INPUT IN : LWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROR : BOOL VAR_INPUT IN : BOOL; N : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : INT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BYTE VAR_INPUT IN : BYTE; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : WORD VAR_INPUT IN : WORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : DWORD VAR_INPUT IN : DWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : LWORD VAR_INPUT IN : LWORD; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION ROL : BOOL VAR_INPUT IN : BOOL; N : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION AND : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION AND_BYTE : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION AND : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION AND_WORD : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION AND : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION AND_DWORD : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION AND : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION AND_LWORD : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION AND : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION AND_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION OR : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION OR_BYTE : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION OR : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION OR_WORD : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION OR : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION OR_DWORD : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION OR : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION OR_LWORD : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION OR : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION OR_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION XOR : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION XOR_BYTE : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION XOR : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION XOR_WORD : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION XOR : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION XOR_DWORD : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION XOR : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION XOR_LWORD : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION XOR : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION XOR_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION NOT : BYTE VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION NOT_BYTE : BYTE VAR_INPUT IN : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION NOT : WORD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION NOT_WORD : WORD VAR_INPUT IN : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION NOT : DWORD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NOT_DWORD : DWORD VAR_INPUT IN : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NOT : LWORD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NOT_LWORD : LWORD VAR_INPUT IN : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NOT : BOOL VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION NOT_BOOL : BOOL VAR_INPUT IN : BOOL; END_VAR RETURN; END_FUNCTION + +FUNCTION SEL : REAL VAR_INPUT G : BOOL; IN0 : REAL; IN1 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_REAL : REAL VAR_INPUT G : BOOL; IN0 : REAL; IN1 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : LREAL VAR_INPUT G : BOOL; IN0 : LREAL; IN1 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_LREAL : LREAL VAR_INPUT G : BOOL; IN0 : LREAL; IN1 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : SINT VAR_INPUT G : BOOL; IN0 : SINT; IN1 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_SINT : SINT VAR_INPUT G : BOOL; IN0 : SINT; IN1 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : INT VAR_INPUT G : BOOL; IN0 : INT; IN1 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_INT : INT VAR_INPUT G : BOOL; IN0 : INT; IN1 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : DINT VAR_INPUT G : BOOL; IN0 : DINT; IN1 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_DINT : DINT VAR_INPUT G : BOOL; IN0 : DINT; IN1 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : LINT VAR_INPUT G : BOOL; IN0 : LINT; IN1 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_LINT : LINT VAR_INPUT G : BOOL; IN0 : LINT; IN1 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : USINT VAR_INPUT G : BOOL; IN0 : USINT; IN1 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_USINT : USINT VAR_INPUT G : BOOL; IN0 : USINT; IN1 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : UINT VAR_INPUT G : BOOL; IN0 : UINT; IN1 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_UINT : UINT VAR_INPUT G : BOOL; IN0 : UINT; IN1 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : UDINT VAR_INPUT G : BOOL; IN0 : UDINT; IN1 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_UDINT : UDINT VAR_INPUT G : BOOL; IN0 : UDINT; IN1 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : ULINT VAR_INPUT G : BOOL; IN0 : ULINT; IN1 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_ULINT : ULINT VAR_INPUT G : BOOL; IN0 : ULINT; IN1 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : TIME VAR_INPUT G : BOOL; IN0 : TIME; IN1 : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_TIME : TIME VAR_INPUT G : BOOL; IN0 : TIME; IN1 : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : BYTE VAR_INPUT G : BOOL; IN0 : BYTE; IN1 : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_BYTE : BYTE VAR_INPUT G : BOOL; IN0 : BYTE; IN1 : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : WORD VAR_INPUT G : BOOL; IN0 : WORD; IN1 : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_WORD : WORD VAR_INPUT G : BOOL; IN0 : WORD; IN1 : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : DWORD VAR_INPUT G : BOOL; IN0 : DWORD; IN1 : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_DWORD : DWORD VAR_INPUT G : BOOL; IN0 : DWORD; IN1 : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : LWORD VAR_INPUT G : BOOL; IN0 : LWORD; IN1 : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_LWORD : LWORD VAR_INPUT G : BOOL; IN0 : LWORD; IN1 : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : BOOL VAR_INPUT G : BOOL; IN0 : BOOL; IN1 : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_BOOL : BOOL VAR_INPUT G : BOOL; IN0 : BOOL; IN1 : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : STRING VAR_INPUT G : BOOL; IN0 : STRING; IN1 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_STRING : STRING VAR_INPUT G : BOOL; IN0 : STRING; IN1 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : DATE VAR_INPUT G : BOOL; IN0 : DATE; IN1 : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_DATE : DATE VAR_INPUT G : BOOL; IN0 : DATE; IN1 : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : TOD VAR_INPUT G : BOOL; IN0 : TOD; IN1 : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_TOD : TOD VAR_INPUT G : BOOL; IN0 : TOD; IN1 : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION SEL : DT VAR_INPUT G : BOOL; IN0 : DT; IN1 : DT; END_VAR RETURN; END_FUNCTION +FUNCTION SEL_DT : DT VAR_INPUT G : BOOL; IN0 : DT; IN1 : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_REAL : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_LREAL : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_SINT : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_INT : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_DINT : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_LINT : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_USINT : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_UINT : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_UDINT : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_ULINT : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : TIME VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_TIME : TIME VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_BYTE : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_WORD : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_DWORD : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_LWORD : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : STRING VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_STRING : STRING VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : DATE VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_DATE : DATE VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : TOD VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_TOD : TOD VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MAX : DT VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MAX_DT : DT VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_REAL : REAL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_LREAL : LREAL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_SINT : SINT VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_INT : INT VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_DINT : DINT VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_LINT : LINT VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_USINT : USINT VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_UINT : UINT VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_UDINT : UDINT VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_ULINT : ULINT VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : TIME VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_TIME : TIME VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_BYTE : BYTE VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_WORD : WORD VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_DWORD : DWORD VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_LWORD : LWORD VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : STRING VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_STRING : STRING VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : DATE VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_DATE : DATE VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : TOD VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_TOD : TOD VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MIN : DT VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MIN_DT : DT VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : REAL VAR_INPUT MN : REAL; IN : REAL; MX : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_REAL : REAL VAR_INPUT MN : REAL; IN : REAL; MX : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : LREAL VAR_INPUT MN : LREAL; IN : LREAL; MX : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_LREAL : LREAL VAR_INPUT MN : LREAL; IN : LREAL; MX : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : SINT VAR_INPUT MN : SINT; IN : SINT; MX : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_SINT : SINT VAR_INPUT MN : SINT; IN : SINT; MX : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : INT VAR_INPUT MN : INT; IN : INT; MX : INT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_INT : INT VAR_INPUT MN : INT; IN : INT; MX : INT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : DINT VAR_INPUT MN : DINT; IN : DINT; MX : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_DINT : DINT VAR_INPUT MN : DINT; IN : DINT; MX : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : LINT VAR_INPUT MN : LINT; IN : LINT; MX : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_LINT : LINT VAR_INPUT MN : LINT; IN : LINT; MX : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : USINT VAR_INPUT MN : USINT; IN : USINT; MX : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_USINT : USINT VAR_INPUT MN : USINT; IN : USINT; MX : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : UINT VAR_INPUT MN : UINT; IN : UINT; MX : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_UINT : UINT VAR_INPUT MN : UINT; IN : UINT; MX : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : UDINT VAR_INPUT MN : UDINT; IN : UDINT; MX : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_UDINT : UDINT VAR_INPUT MN : UDINT; IN : UDINT; MX : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : ULINT VAR_INPUT MN : ULINT; IN : ULINT; MX : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_ULINT : ULINT VAR_INPUT MN : ULINT; IN : ULINT; MX : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : TIME VAR_INPUT MN : TIME; IN : TIME; MX : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_TIME : TIME VAR_INPUT MN : TIME; IN : TIME; MX : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : BYTE VAR_INPUT MN : BYTE; IN : BYTE; MX : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_BYTE : BYTE VAR_INPUT MN : BYTE; IN : BYTE; MX : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : WORD VAR_INPUT MN : WORD; IN : WORD; MX : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_WORD : WORD VAR_INPUT MN : WORD; IN : WORD; MX : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : DWORD VAR_INPUT MN : DWORD; IN : DWORD; MX : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_DWORD : DWORD VAR_INPUT MN : DWORD; IN : DWORD; MX : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : LWORD VAR_INPUT MN : LWORD; IN : LWORD; MX : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_LWORD : LWORD VAR_INPUT MN : LWORD; IN : LWORD; MX : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : BOOL VAR_INPUT MN : BOOL; IN : BOOL; MX : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_BOOL : BOOL VAR_INPUT MN : BOOL; IN : BOOL; MX : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : STRING VAR_INPUT MN : STRING; IN : STRING; MX : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_STRING : STRING VAR_INPUT MN : STRING; IN : STRING; MX : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : DATE VAR_INPUT MN : DATE; IN : DATE; MX : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_DATE : DATE VAR_INPUT MN : DATE; IN : DATE; MX : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : TOD VAR_INPUT MN : TOD; IN : TOD; MX : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_TOD : TOD VAR_INPUT MN : TOD; IN : TOD; MX : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT : DT VAR_INPUT MN : DT; IN : DT; MX : DT; END_VAR RETURN; END_FUNCTION +FUNCTION LIMIT_DT : DT VAR_INPUT MN : DT; IN : DT; MX : DT; END_VAR RETURN; END_FUNCTION + +FUNCTION MUX : REAL VAR_INPUT K : SINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_REAL : REAL VAR_INPUT K : SINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : REAL VAR_INPUT K : INT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_REAL : REAL VAR_INPUT K : INT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : REAL VAR_INPUT K : DINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_REAL : REAL VAR_INPUT K : DINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : REAL VAR_INPUT K : LINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_REAL : REAL VAR_INPUT K : LINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : REAL VAR_INPUT K : USINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_REAL : REAL VAR_INPUT K : USINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : REAL VAR_INPUT K : UINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_REAL : REAL VAR_INPUT K : UINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : REAL VAR_INPUT K : UDINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_REAL : REAL VAR_INPUT K : UDINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : REAL VAR_INPUT K : ULINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_REAL : REAL VAR_INPUT K : ULINT; IN 0 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : SINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_LREAL : LREAL VAR_INPUT K : SINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : INT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_LREAL : LREAL VAR_INPUT K : INT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : DINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_LREAL : LREAL VAR_INPUT K : DINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : LINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_LREAL : LREAL VAR_INPUT K : LINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : USINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_LREAL : LREAL VAR_INPUT K : USINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : UINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_LREAL : LREAL VAR_INPUT K : UINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : UDINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_LREAL : LREAL VAR_INPUT K : UDINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LREAL VAR_INPUT K : ULINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_LREAL : LREAL VAR_INPUT K : ULINT; IN 0 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : SINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_SINT : SINT VAR_INPUT K : SINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : INT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_SINT : SINT VAR_INPUT K : INT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : DINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_SINT : SINT VAR_INPUT K : DINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : LINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_SINT : SINT VAR_INPUT K : LINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : USINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_SINT : SINT VAR_INPUT K : USINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : UINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_SINT : SINT VAR_INPUT K : UINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : UDINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_SINT : SINT VAR_INPUT K : UDINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : SINT VAR_INPUT K : ULINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_SINT : SINT VAR_INPUT K : ULINT; IN 0 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : SINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_INT : INT VAR_INPUT K : SINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : INT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_INT : INT VAR_INPUT K : INT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : DINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_INT : INT VAR_INPUT K : DINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : LINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_INT : INT VAR_INPUT K : LINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : USINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_INT : INT VAR_INPUT K : USINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : UINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_INT : INT VAR_INPUT K : UINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : UDINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_INT : INT VAR_INPUT K : UDINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : INT VAR_INPUT K : ULINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_INT : INT VAR_INPUT K : ULINT; IN 0 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : SINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_DINT : DINT VAR_INPUT K : SINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : INT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_DINT : DINT VAR_INPUT K : INT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : DINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_DINT : DINT VAR_INPUT K : DINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : LINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_DINT : DINT VAR_INPUT K : LINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : USINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_DINT : DINT VAR_INPUT K : USINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : UINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_DINT : DINT VAR_INPUT K : UINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : UDINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_DINT : DINT VAR_INPUT K : UDINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DINT VAR_INPUT K : ULINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_DINT : DINT VAR_INPUT K : ULINT; IN 0 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : SINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_LINT : LINT VAR_INPUT K : SINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : INT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_LINT : LINT VAR_INPUT K : INT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : DINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_LINT : LINT VAR_INPUT K : DINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : LINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_LINT : LINT VAR_INPUT K : LINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : USINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_LINT : LINT VAR_INPUT K : USINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : UINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_LINT : LINT VAR_INPUT K : UINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : UDINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_LINT : LINT VAR_INPUT K : UDINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LINT VAR_INPUT K : ULINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_LINT : LINT VAR_INPUT K : ULINT; IN 0 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : SINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_USINT : USINT VAR_INPUT K : SINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : INT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_USINT : USINT VAR_INPUT K : INT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : DINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_USINT : USINT VAR_INPUT K : DINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : LINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_USINT : USINT VAR_INPUT K : LINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : USINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_USINT : USINT VAR_INPUT K : USINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : UINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_USINT : USINT VAR_INPUT K : UINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : UDINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_USINT : USINT VAR_INPUT K : UDINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : USINT VAR_INPUT K : ULINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_USINT : USINT VAR_INPUT K : ULINT; IN 0 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : SINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_UINT : UINT VAR_INPUT K : SINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : INT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_UINT : UINT VAR_INPUT K : INT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : DINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_UINT : UINT VAR_INPUT K : DINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : LINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_UINT : UINT VAR_INPUT K : LINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : USINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_UINT : UINT VAR_INPUT K : USINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : UINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_UINT : UINT VAR_INPUT K : UINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : UDINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_UINT : UINT VAR_INPUT K : UDINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UINT VAR_INPUT K : ULINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_UINT : UINT VAR_INPUT K : ULINT; IN 0 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : SINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_UDINT : UDINT VAR_INPUT K : SINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : INT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_UDINT : UDINT VAR_INPUT K : INT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : DINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_UDINT : UDINT VAR_INPUT K : DINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : LINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_UDINT : UDINT VAR_INPUT K : LINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : USINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_UDINT : UDINT VAR_INPUT K : USINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : UINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_UDINT : UDINT VAR_INPUT K : UINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : UDINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_UDINT : UDINT VAR_INPUT K : UDINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : UDINT VAR_INPUT K : ULINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_UDINT : UDINT VAR_INPUT K : ULINT; IN 0 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : SINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_ULINT : ULINT VAR_INPUT K : SINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : INT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_ULINT : ULINT VAR_INPUT K : INT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : DINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_ULINT : ULINT VAR_INPUT K : DINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : LINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_ULINT : ULINT VAR_INPUT K : LINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : USINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_ULINT : ULINT VAR_INPUT K : USINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : UINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_ULINT : ULINT VAR_INPUT K : UINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : UDINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_ULINT : ULINT VAR_INPUT K : UDINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : ULINT VAR_INPUT K : ULINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_ULINT : ULINT VAR_INPUT K : ULINT; IN 0 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : SINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_TIME : TIME VAR_INPUT K : SINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : INT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_TIME : TIME VAR_INPUT K : INT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : DINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_TIME : TIME VAR_INPUT K : DINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : LINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_TIME : TIME VAR_INPUT K : LINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : USINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_TIME : TIME VAR_INPUT K : USINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : UINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_TIME : TIME VAR_INPUT K : UINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : UDINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_TIME : TIME VAR_INPUT K : UDINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TIME VAR_INPUT K : ULINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_TIME : TIME VAR_INPUT K : ULINT; IN 0 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : SINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_BYTE : BYTE VAR_INPUT K : SINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : INT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_BYTE : BYTE VAR_INPUT K : INT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : DINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_BYTE : BYTE VAR_INPUT K : DINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : LINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_BYTE : BYTE VAR_INPUT K : LINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : USINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_BYTE : BYTE VAR_INPUT K : USINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : UINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_BYTE : BYTE VAR_INPUT K : UINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : UDINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_BYTE : BYTE VAR_INPUT K : UDINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BYTE VAR_INPUT K : ULINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_BYTE : BYTE VAR_INPUT K : ULINT; IN 0 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : SINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_WORD : WORD VAR_INPUT K : SINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : INT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_WORD : WORD VAR_INPUT K : INT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : DINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_WORD : WORD VAR_INPUT K : DINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : LINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_WORD : WORD VAR_INPUT K : LINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : USINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_WORD : WORD VAR_INPUT K : USINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : UINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_WORD : WORD VAR_INPUT K : UINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : UDINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_WORD : WORD VAR_INPUT K : UDINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : WORD VAR_INPUT K : ULINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_WORD : WORD VAR_INPUT K : ULINT; IN 0 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : SINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_DWORD : DWORD VAR_INPUT K : SINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : INT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_DWORD : DWORD VAR_INPUT K : INT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : DINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_DWORD : DWORD VAR_INPUT K : DINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : LINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_DWORD : DWORD VAR_INPUT K : LINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : USINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_DWORD : DWORD VAR_INPUT K : USINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : UINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_DWORD : DWORD VAR_INPUT K : UINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : UDINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_DWORD : DWORD VAR_INPUT K : UDINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DWORD VAR_INPUT K : ULINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_DWORD : DWORD VAR_INPUT K : ULINT; IN 0 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : SINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_LWORD : LWORD VAR_INPUT K : SINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : INT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_LWORD : LWORD VAR_INPUT K : INT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : DINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_LWORD : LWORD VAR_INPUT K : DINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : LINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_LWORD : LWORD VAR_INPUT K : LINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : USINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_LWORD : LWORD VAR_INPUT K : USINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : UINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_LWORD : LWORD VAR_INPUT K : UINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : UDINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_LWORD : LWORD VAR_INPUT K : UDINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : LWORD VAR_INPUT K : ULINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_LWORD : LWORD VAR_INPUT K : ULINT; IN 0 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : SINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_BOOL : BOOL VAR_INPUT K : SINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : INT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_BOOL : BOOL VAR_INPUT K : INT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : DINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_BOOL : BOOL VAR_INPUT K : DINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : LINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_BOOL : BOOL VAR_INPUT K : LINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : USINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_BOOL : BOOL VAR_INPUT K : USINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : UINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_BOOL : BOOL VAR_INPUT K : UINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : UDINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_BOOL : BOOL VAR_INPUT K : UDINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : BOOL VAR_INPUT K : ULINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_BOOL : BOOL VAR_INPUT K : ULINT; IN 0 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : SINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_STRING : STRING VAR_INPUT K : SINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : INT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_STRING : STRING VAR_INPUT K : INT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : DINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_STRING : STRING VAR_INPUT K : DINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : LINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_STRING : STRING VAR_INPUT K : LINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : USINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_STRING : STRING VAR_INPUT K : USINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : UINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_STRING : STRING VAR_INPUT K : UINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : UDINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_STRING : STRING VAR_INPUT K : UDINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : STRING VAR_INPUT K : ULINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_STRING : STRING VAR_INPUT K : ULINT; IN 0 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : SINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_DATE : DATE VAR_INPUT K : SINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : INT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_DATE : DATE VAR_INPUT K : INT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : DINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_DATE : DATE VAR_INPUT K : DINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : LINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_DATE : DATE VAR_INPUT K : LINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : USINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_DATE : DATE VAR_INPUT K : USINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : UINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_DATE : DATE VAR_INPUT K : UINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : UDINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_DATE : DATE VAR_INPUT K : UDINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DATE VAR_INPUT K : ULINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_DATE : DATE VAR_INPUT K : ULINT; IN 0 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : SINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_TOD : TOD VAR_INPUT K : SINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : INT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_TOD : TOD VAR_INPUT K : INT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : DINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_TOD : TOD VAR_INPUT K : DINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : LINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_TOD : TOD VAR_INPUT K : LINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : USINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_TOD : TOD VAR_INPUT K : USINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : UINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_TOD : TOD VAR_INPUT K : UINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : UDINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_TOD : TOD VAR_INPUT K : UDINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : TOD VAR_INPUT K : ULINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_TOD : TOD VAR_INPUT K : ULINT; IN 0 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : SINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_SINT_DT : DT VAR_INPUT K : SINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : INT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_INT_DT : DT VAR_INPUT K : INT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : DINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_DINT_DT : DT VAR_INPUT K : DINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : LINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_LINT_DT : DT VAR_INPUT K : LINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : USINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_USINT_DT : DT VAR_INPUT K : USINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : UINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UINT_DT : DT VAR_INPUT K : UINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : UDINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_UDINT_DT : DT VAR_INPUT K : UDINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX : DT VAR_INPUT K : ULINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION MUX_ULINT_DT : DT VAR_INPUT K : ULINT; IN 0 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION GT_REAL : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION GT_LREAL : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_SINT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_INT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_DINT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_LINT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_USINT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_UINT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_UDINT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_ULINT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION GT_TIME : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION GT_BYTE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION GT_WORD : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GT_DWORD : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GT_LWORD : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION GT_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION GT_STRING : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION GT_DATE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION GT_TOD : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION GT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION GT_DT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION GE_REAL : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION GE_LREAL : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_SINT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_INT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_DINT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_LINT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_USINT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_UINT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_UDINT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_ULINT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION GE_TIME : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION GE_BYTE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION GE_WORD : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GE_DWORD : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GE_LWORD : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION GE_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION GE_STRING : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION GE_DATE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION GE_TOD : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION GE : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION GE_DT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_REAL : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_LREAL : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_SINT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_INT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_DINT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_LINT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_USINT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_UINT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_UDINT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_ULINT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_TIME : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_BYTE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_WORD : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_DWORD : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_LWORD : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_STRING : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_DATE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_TOD : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION EQ : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION EQ_DT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LT_REAL : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LT_LREAL : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_SINT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_INT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_DINT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_LINT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_USINT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_UINT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_UDINT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_ULINT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION LT_TIME : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION LT_BYTE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION LT_WORD : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LT_DWORD : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LT_LWORD : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION LT_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LT_STRING : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION LT_DATE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION LT_TOD : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION LT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION LT_DT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LE_REAL : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LE_LREAL : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_SINT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_INT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_DINT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_LINT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_USINT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_UINT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_UDINT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_ULINT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION LE_TIME : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION LE_BYTE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION LE_WORD : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LE_DWORD : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LE_LWORD : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION LE_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LE_STRING : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION LE_DATE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION LE_TOD : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION LE : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION LE_DT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION NE_REAL : BOOL VAR_INPUT IN 1 .. : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION NE_LREAL : BOOL VAR_INPUT IN 1 .. : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_SINT : BOOL VAR_INPUT IN 1 .. : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_INT : BOOL VAR_INPUT IN 1 .. : INT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_DINT : BOOL VAR_INPUT IN 1 .. : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_LINT : BOOL VAR_INPUT IN 1 .. : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_USINT : BOOL VAR_INPUT IN 1 .. : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_UINT : BOOL VAR_INPUT IN 1 .. : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_UDINT : BOOL VAR_INPUT IN 1 .. : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_ULINT : BOOL VAR_INPUT IN 1 .. : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION NE_TIME : BOOL VAR_INPUT IN 1 .. : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION NE_BYTE : BOOL VAR_INPUT IN 1 .. : BYTE; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION NE_WORD : BOOL VAR_INPUT IN 1 .. : WORD; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NE_DWORD : BOOL VAR_INPUT IN 1 .. : DWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NE_LWORD : BOOL VAR_INPUT IN 1 .. : LWORD; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION NE_BOOL : BOOL VAR_INPUT IN 1 .. : BOOL; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION NE_STRING : BOOL VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION NE_DATE : BOOL VAR_INPUT IN 1 .. : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION NE_TOD : BOOL VAR_INPUT IN 1 .. : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION NE : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION NE_DT : BOOL VAR_INPUT IN 1 .. : DT; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : SINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : INT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : DINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : LINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : USINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : UINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : UDINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEN : ULINT VAR_INPUT IN : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : INT; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION LEFT : STRING VAR_INPUT IN : STRING; L : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : INT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION RIGHT : STRING VAR_INPUT IN : STRING; L : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : SINT; P : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : INT; P : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : DINT; P : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : LINT; P : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : USINT; P : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : UINT; P : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : UDINT; P : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MID : STRING VAR_INPUT IN : STRING; L : ULINT; P : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION CONCAT : STRING VAR_INPUT IN 1 .. : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : INT; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION INSERT : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; P : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : SINT; P : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : INT; P : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : DINT; P : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : LINT; P : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : USINT; P : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : UINT; P : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : UDINT; P : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION DELETE : STRING VAR_INPUT IN : STRING; L : ULINT; P : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : SINT; P : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : INT; P : INT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : DINT; P : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : LINT; P : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : USINT; P : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : UINT; P : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : UDINT; P : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION REPLACE : STRING VAR_INPUT IN1 : STRING; IN2 : STRING; L : ULINT; P : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : SINT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : INT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : DINT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : LINT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : USINT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : UINT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : UDINT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION FIND : ULINT VAR_INPUT IN1 : STRING; IN2 : STRING; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_TIME : TIME VAR_INPUT IN1 : TIME; IN2 : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_TOD_TIME : TOD VAR_INPUT IN1 : TOD; IN2 : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION ADD_DT_TIME : DT VAR_INPUT IN1 : DT; IN2 : TIME; END_VAR RETURN; END_FUNCTION + +FUNCTION SUB_TIME : TIME VAR_INPUT IN1 : TIME; IN2 : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_DATE_DATE : TIME VAR_INPUT IN1 : DATE; IN2 : DATE; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_TOD_TIME : TOD VAR_INPUT IN1 : TOD; IN2 : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_TOD_TOD : TIME VAR_INPUT IN1 : TOD; IN2 : TOD; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_DT_TIME : DT VAR_INPUT IN1 : DT; IN2 : TIME; END_VAR RETURN; END_FUNCTION +FUNCTION SUB_DT_DT : TIME VAR_INPUT IN1 : DT; IN2 : DT; END_VAR RETURN; END_FUNCTION + + + + + + +FUNCTION MULTIME_REAL : TIME VAR_INPUT IN1 : TIME; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_LREAL : TIME VAR_INPUT IN1 : TIME; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_SINT : TIME VAR_INPUT IN1 : TIME; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_INT : TIME VAR_INPUT IN1 : TIME; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_DINT : TIME VAR_INPUT IN1 : TIME; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_LINT : TIME VAR_INPUT IN1 : TIME; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_USINT : TIME VAR_INPUT IN1 : TIME; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_UINT : TIME VAR_INPUT IN1 : TIME; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_UDINT : TIME VAR_INPUT IN1 : TIME; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME_ULINT : TIME VAR_INPUT IN1 : TIME; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MULTIME : TIME VAR_INPUT IN1 : TIME; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION MUL : TIME VAR_INPUT IN1 : TIME; IN2 : ULINT; END_VAR RETURN; END_FUNCTION + + + + + + +FUNCTION DIVTIME_REAL : TIME VAR_INPUT IN1 : TIME; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_LREAL : TIME VAR_INPUT IN1 : TIME; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_SINT : TIME VAR_INPUT IN1 : TIME; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_INT : TIME VAR_INPUT IN1 : TIME; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_DINT : TIME VAR_INPUT IN1 : TIME; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_LINT : TIME VAR_INPUT IN1 : TIME; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_USINT : TIME VAR_INPUT IN1 : TIME; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_UINT : TIME VAR_INPUT IN1 : TIME; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_UDINT : TIME VAR_INPUT IN1 : TIME; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME_ULINT : TIME VAR_INPUT IN1 : TIME; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIVTIME : TIME VAR_INPUT IN1 : TIME; IN2 : ULINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : REAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : LREAL; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : SINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : INT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : DINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : LINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : USINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : UINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : UDINT; END_VAR RETURN; END_FUNCTION +FUNCTION DIV : TIME VAR_INPUT IN1 : TIME; IN2 : ULINT; END_VAR RETURN; END_FUNCTION + + + + +FUNCTION CONCAT_DATE_TOD : DT VAR_INPUT IN1 : DATE; IN2 : TOD; END_VAR RETURN; END_FUNCTION +{enable code generation} + diff -r 2c3c4dc34979 -r e7d236750709 util/strdup.hh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/util/strdup.hh Fri Jul 29 16:05:03 2011 +0100 @@ -0,0 +1,58 @@ +/* + * matiec - a compiler for the programming languages defined in IEC 61131-3 + * + * Copyright (C) 2011 Mario de Sousa (msousa@fe.up.pt) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * + * This code is made available on the understanding that it will not be + * used in safety-critical situations without a full and competent review. + */ + + +/*******************************************/ +/* String Duplication Utility Functions... */ +/*******************************************/ + + + +#ifndef STRDUP__H +#define STRDUP__H + +#include /* required for malloc() */ +#include /* required for strcat() & strlen() */ + +/* + * Join two strings together. Allocate space with malloc(3). + */ +static char *strdup2(const char *a, const char *b) { + char *res = (char *)malloc(strlen(a) + strlen(b) + 1); + + if (res == NULL) return NULL; + return strcat(strcpy(res, a), b); +} + +/* + * Join three strings together. Allocate space with malloc(3). + */ +static char *strdup3(const char *a, const char *b, const char *c) { + char *res = (char *)malloc(strlen(a) + strlen(b) + strlen(c) + 1); + + if (res == NULL) return NULL; + return strcat(strcat(strcpy(res, a), b), c); +} + + +#endif /* STRDUP__H */