plcopen/iec_std.csv
author lbessard
Fri, 11 Jul 2008 17:16:08 +0200
changeset 221 25f2b4924347
parent 43 4a7e80513edd
child 284 6cf858411d3a
permissions -rw-r--r--
Bugs with printing fixed
40
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     1
Standard_functions_variables_types;name;type;comment;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     2
;N;ANY_INT;Number of bits to be shifted;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     3
;L;ANY_INT;Left position within character string;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     4
;P;ANY_INT;Position within character string;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     5
;G;BOOL;Selection out of 2 inputs (gate);;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     6
;K;ANY_INT;Selection out of n inputs;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     7
;MN;ANY;Minimum value for limitation;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     8
;MX;ANY;Maximum value for limitation;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
     9
;;;;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    10
;;;;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    11
;;;;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    12
;;;;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    13
;;;;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    14
;;;;;;;;
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    15
Standard_functions_type;name;baseinputnumber;inputs;outputs;comment;extensible;python_eval_c_code_format;return_type_rule
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    16
Type conversion;*_TO_**;1;(ANY);ANY;Data type conversion;no;ANY_TO_ANY_FORMAT_GEN(ANY_TO_ANY_LIST,fdecl);defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    17
;TRUNC;1;(ANY_REAL);ANY_INT;Rounding up/down;no;"(int)%(IN_value)s";&search_constant_type_c::constant_int_type_name
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    18
;BCD_TO_**;1;(ANY_BIT);ANY_INT;Conversion from BCD;no;ANY_TO_ANY_FORMAT_GEN(BCD_TO_ANY_LIST,fdecl);defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    19
;*_TO_BCD;1;(ANY_INT);ANY_BIT;Conversion to BCD;no;ANY_TO_ANY_FORMAT_GEN(ANY_TO_BCD_LIST,fdecl);&search_constant_type_c::constant_int_type_name
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    20
;DATE_AND_TIME_TO_TIME_OF_DAY;1;(DT);TOD;Conversion to time-of-day;no;"__date_and_time_to_time_of_day(%(IN_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    21
;DATE_AND_TIME_TO_DATE;1;(DT);DATE;Conversion to date;no;"__date_and_time_to_date(%(IN_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    22
Numerical;ABS;1;(ANY_NUM);ANY_NUM;Absolute number;no;"__abs_%(IN_type)s(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    23
;SQRT;1;(ANY_REAL);ANY_REAL;Square root (base 2);no;"sqrt(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    24
;LN;1;(ANY_REAL);ANY_REAL;Natural logarithm;no;"ln(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    25
;LOG;1;(ANY_REAL);ANY_REAL;Logarithm to base 10;no;"log(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    26
;EXP;1;(ANY_REAL);ANY_REAL;Exponentiation;no;"exp(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    27
;SIN;1;(ANY_REAL);ANY_REAL;Sine;no;"sin(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    28
;COS;1;(ANY_REAL);ANY_REAL;Cosine;no;"cos(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    29
;TAN;1;(ANY_REAL);ANY_REAL;Tangent;no;"tan(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    30
;ASIN;1;(ANY_REAL);ANY_REAL;Arc sine;no;"asin(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    31
;ACOS;1;(ANY_REAL);ANY_REAL;Arc cosine;no;"acos(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    32
;ATAN;1;(ANY_REAL);ANY_REAL;Arc tangent;no;"atan(%(IN_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    33
Arithmetic;ADD;1;(ANY_NUM, ANY_NUM);ANY_NUM;Addition;yes;("(","+",")");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    34
;ADD;1;(TIME, TIME);TIME;Time addition;no;"__time_add(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    35
;ADD;1;(TOD, TIME);TOD;Time-of-day addition;no;"__time_add(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    36
;ADD;1;(DT, TIME);DT;Date addition;no;"__time_add(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    37
;MUL;1;(ANY_NUM, ANY_NUM);ANY_NUM;Multiplication;yes;("(","*",")");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    38
;MUL;1;(TIME, ANY_NUM);TIME;Time multiplication;no;"__time_mul(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    39
;SUB;1;(ANY_NUM, ANY_NUM);ANY_NUM;Subtraction;no;("(","-",")");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    40
;SUB;1;(TIME, TIME);TIME;Time subtraction;no;"__time_sub(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    41
;SUB;1;(DATE, DATE);TIME;Date subtraction;no;"__time_sub(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    42
;SUB;1;(TOD, TIME);TOD;Time-of-day subtraction;no;"__time_sub(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    43
;SUB;1;(TOD, TOD);TIME;Time-of-day subtraction;no;"__time_sub(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    44
;SUB;1;(DT, TIME);DT;Date and time subtraction;no;"__time_sub(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    45
;SUB;1;(DT, DT);TIME;Date and time subtraction;no;"__time_sub(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    46
;DIV;1;(ANY_NUM, ANY_NUM);ANY_NUM;Division;no;("(","/",")");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    47
;DIV;1;(TIME, ANY_NUM);TIME;Time division;no;"__time_div(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    48
;MOD;1;(ANY_NUM, ANY_NUM);ANY_NUM;Remainder (modulo);no;("(","%",")");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    49
;EXPT;1;(ANY_NUM, ANY_NUM);ANY_NUM;Exponent;no;"pow(%(IN1_value)s, %(IN2_value)s)";copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    50
;MOVE;1;(ANY_NUM);ANY_NUM;Assignment;no;"%(IN_value)s";copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    51
Bit-shift;SHL;1;(ANY_BIT, N);ANY_BIT;Shift left;no;"%(IN_value)s<<%(N_value)s";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    52
;SHR;1;(ANY_BIT, N);ANY_BIT;Shift right;no;"%(IN_value)s>>%(N_value)s";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    53
;ROR;1;(ANY_NBIT, N);ANY_NBIT;Rotate right;no;"__ror_%(IN_type)s(%(IN_value)s, %(N_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    54
;ROL;1;(ANY_NBIT, N);ANY_NBIT;Rotate left;no;"__rol_%(IN_type)s(%(IN_value)s, %(N_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    55
Bitwise;AND;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise AND;yes;("(%(start_bool_filter)s","&",")%(end_bool_filter)s");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    56
;OR;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise OR;yes;("(%(start_bool_filter)s","|",")%(end_bool_filter)s");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    57
;XOR;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise EXOR;yes;("(%(start_bool_filter)s","^",")%(end_bool_filter)s");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    58
;NOT;1;(ANY_BIT);ANY_BIT;Bitwise inverting;no;"~%(IN_value)s";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    59
Selection;SEL;0;(G, ANY, ANY);ANY;Binary selection (1 of 2);no;"%(G_value)s ? %(IN1_value)s :  %(IN0_value)s";copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    60
;MAX;1;(ANY, ANY);ANY;Maximum;yes;("__max_%(return_type)s(%(param_count)s,",",",")");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    61
;MIN;1;(ANY, ANY);ANY;Minimum;yes;("__min_%(return_type)s(%(param_count)s,",",",")");copy_input
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    62
;LIMIT;1;(MN, ANY, MX);ANY;Limitation;no;"__limit_%(IN_type)s(%(MN_value)s, %(IN_value)s, %(MX_value)s)";IN_type_symbol
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    63
;MUX;0;(K, ANY, ANY);ANY;Multiplexer (select 1 of N);yes;("__mux_%(return_type)s(%(param_count)s,",",",")");copy_input
43
4a7e80513edd Test IEC_LIB and fix bugs (EQ, GT et all)
etisserant
parents: 40
diff changeset
    64
Comparison;GT;1;(ANY, ANY);BOOL;Greater than;yes;("__gt_%(common_type)s(%(param_count)s,",",",")");defined
4a7e80513edd Test IEC_LIB and fix bugs (EQ, GT et all)
etisserant
parents: 40
diff changeset
    65
;GE;1;(ANY, ANY);BOOL;Greater than or equal to;yes;("__ge_%(common_type)s(%(param_count)s,",",",")");defined
4a7e80513edd Test IEC_LIB and fix bugs (EQ, GT et all)
etisserant
parents: 40
diff changeset
    66
;EQ;1;(ANY, ANY);BOOL;Equal to;yes;("__eq_%(common_type)s(%(param_count)s,",",",")");defined
4a7e80513edd Test IEC_LIB and fix bugs (EQ, GT et all)
etisserant
parents: 40
diff changeset
    67
;LT;1;(ANY, ANY);BOOL;Less than;yes;("__lt_%(common_type)s(%(param_count)s,",",",")");defined
4a7e80513edd Test IEC_LIB and fix bugs (EQ, GT et all)
etisserant
parents: 40
diff changeset
    68
;LE;1;(ANY, ANY);BOOL;Less than or equal to;yes;("__le_%(common_type)s(%(param_count)s,",",",")");defined
4a7e80513edd Test IEC_LIB and fix bugs (EQ, GT et all)
etisserant
parents: 40
diff changeset
    69
;NE;1;(ANY, ANY);BOOL;Not equal to;yes;("__ne_%(common_type)s(%(param_count)s,",",",")");defined
40
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    70
Character string;LEN;1;(STRING);INT;Length of string;no;"__len(%(IN_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    71
;LEFT;1;(STRING, L);STRING;string left of;no;"__left(%(IN_value)s, %(L_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    72
;RIGHT;1;(STRING, L);STRING;string right of;no;"__right(%(IN_value)s, %(L_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    73
;MID;1;(STRING, L, P);STRING;string from the middle;no;"__mid(%(IN_value)s, %(L_value)s, %(P_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    74
;CONCAT;1;(STRING, STRING);STRING;Concatenation;yes;("__concat(%(param_count)s,",",",")");defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    75
;CONCAT;1;(DATE, TOD);DT;Time concatenation;no;"__time_add(%(IN1_value)s, %(IN2_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    76
;INSERT;1;(STRING, STRING, P);STRING;Insertion (into);no;"__insert(%(IN1_value)s, %(IN2_value)s, %(P_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    77
;DELETE;1;(STRING, L, P);STRING;Deletion (within);no;"__delete(%(IN_value)s, %(L_value)s, %(P_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    78
;REPLACE;1;(STRING, STRING, L, P);STRING;Replacement (within);no;"__replace(%(IN1_value)s, %(IN2_value)s, %(L_value)s, %(P_value)s)";defined
49c8ebc1ee25 Cleanup in generated C code for STD lib
etisserant
parents: 39
diff changeset
    79
;FIND;1;(STRING, STRING);INT;Find position;no;"__find(%(IN1_value)s, %(IN2_value)s)";defined