plcopen/iec_std.csv
author laurent
Sat, 12 Dec 2009 20:37:35 +0100
changeset 484 acef952101a5
parent 446 0dd1a5f2a7a1
child 521 457578c31074
permissions -rw-r--r--
Adding support for excluding option when not available according to IEC 61131 standard
Disabling use of complex types (array and structure) for POU interface until matiec can generate code
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
446
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    16
_("Type conversion");*_TO_**;1;(ANY);ANY;_("Data type conversion");no;ANY_TO_ANY_FORMAT_GEN(ANY_TO_ANY_LIST,fdecl);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    17
;TRUNC;1;(ANY_REAL);ANY_INT;_("Rounding up/down");no;("int", None, None);&search_constant_type_c::integer
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
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
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
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::integer
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    20
;DATE_AND_TIME_TO_TIME_OF_DAY;1;(DT);TOD;_("Conversion to time-of-day");no;(None, "__date_and_time_to_time_of_day", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    21
;DATE_AND_TIME_TO_DATE;1;(DT);DATE;_("Conversion to date");no;(None, "__date_and_time_to_date", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    22
_("Numerical");ABS;1;(ANY_NUM);ANY_NUM;_("Absolute number");no;(None, "__abs_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    23
;SQRT;1;(ANY_REAL);ANY_REAL;_("Square root (base 2)");no;(None, "__sqrt_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    24
;LN;1;(ANY_REAL);ANY_REAL;_("Natural logarithm");no;(None, "__ln_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    25
;LOG;1;(ANY_REAL);ANY_REAL;_("Logarithm to base 10");no;(None, "__log_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    26
;EXP;1;(ANY_REAL);ANY_REAL;_("Exponentiation");no;(None, "__exp_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    27
;SIN;1;(ANY_REAL);ANY_REAL;_("Sine");no;(None, "__sin_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    28
;COS;1;(ANY_REAL);ANY_REAL;_("Cosine");no;(None, "__cos_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    29
;TAN;1;(ANY_REAL);ANY_REAL;_("Tangent");no;(None, "__tan_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    30
;ASIN;1;(ANY_REAL);ANY_REAL;_("Arc sine");no;(None, "__asin_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    31
;ACOS;1;(ANY_REAL);ANY_REAL;_("Arc cosine");no;(None, "__acos_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    32
;ATAN;1;(ANY_REAL);ANY_REAL;_("Arc tangent");no;(None, "__atan_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    33
_("Arithmetic");ADD;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Addition");yes;(None, "__add_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    34
;ADD;1;(TIME, TIME);TIME;_("Time addition");no;(None, "__time_add", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    35
;ADD;1;(TOD, TIME);TOD;_("Time-of-day addition");no;(None, "__time_add", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    36
;ADD;1;(DT, TIME);DT;_("Date addition");no;(None, "__time_add", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    37
;MUL;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Multiplication");yes;(None, "__mul_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    38
;MUL;1;(TIME, ANY_NUM);TIME;_("Time multiplication");no;(None, "__time_mul", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    39
;SUB;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Subtraction");no;(None, "__sub_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    40
;SUB;1;(TIME, TIME);TIME;_("Time subtraction");no;(None, "__time_sub", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    41
;SUB;1;(DATE, DATE);TIME;_("Date subtraction");no;(None, "__time_sub", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    42
;SUB;1;(TOD, TIME);TOD;_("Time-of-day subtraction");no;(None, "__time_sub", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    43
;SUB;1;(TOD, TOD);TIME;_("Time-of-day subtraction");no;(None, "__time_sub", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    44
;SUB;1;(DT, TIME);DT;_("Date and time subtraction");no;(None, "__time_sub", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    45
;SUB;1;(DT, DT);TIME;_("Date and time subtraction");no;(None, "__time_sub", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    46
;DIV;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Division");no;(None, "__div_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    47
;DIV;1;(TIME, ANY_NUM);TIME;_("Time division");no;(None, "__time_div", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    48
;MOD;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Remainder (modulo)");no;(None, "__mod_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    49
;EXPT;1;(ANY_REAL, ANY_NUM);ANY_REAL;_("Exponent");no;(None, "__expt_", "IN1_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    50
;MOVE;1;(ANY);ANY;_("Assignment");no;(None, "__move_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    51
_("Bit-shift");SHL;1;(ANY_BIT, N);ANY_BIT;_("Shift left");no;(None, "__shl_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    52
;SHR;1;(ANY_BIT, N);ANY_BIT;_("Shift right");no;(None, "__shr_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    53
;ROR;1;(ANY_NBIT, N);ANY_NBIT;_("Rotate right");no;(None, "__ror_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    54
;ROL;1;(ANY_NBIT, N);ANY_NBIT;_("Rotate left");no;(None, "__rol_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    55
_("Bitwise");AND;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise AND");yes;(None, "__and_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    56
;OR;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise OR");yes;(None, "__or_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    57
;XOR;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise XOR");yes;(None, "__xor_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    58
;NOT;1;(ANY_BIT);ANY_BIT;_("Bitwise inverting");no;(None, "__not_", "return_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    59
_("Selection");SEL;0;(G, ANY, ANY);ANY;_("Binary selection (1 of 2)");no;(None, "__sel_", "IN0_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    60
;MAX;1;(ANY, ANY);ANY;_("Maximum");yes;(None, "__max_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    61
;MIN;1;(ANY, ANY);ANY;_("Minimum");yes;(None, "__min_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    62
;LIMIT;1;(MN, ANY, MX);ANY;_("Limitation");no;(None, "__limit_", "IN_type");IN_type_symbol
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    63
;MUX;0;(K, ANY, ANY);ANY;_("Multiplexer (select 1 of N)");yes;(None, "__mux_", "return_type");copy_input
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    64
_("Comparison");GT;1;(ANY, ANY);BOOL;_("Greater than");yes;(None, "__gt_", "common_type");defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    65
;GE;1;(ANY, ANY);BOOL;_("Greater than or equal to");yes;(None, "__ge_", "common_type");defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    66
;EQ;1;(ANY, ANY);BOOL;_("Equal to");yes;(None, "__eq_", "common_type");defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    67
;LT;1;(ANY, ANY);BOOL;_("Less than");yes;(None, "__lt_", "common_type");defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    68
;LE;1;(ANY, ANY);BOOL;_("Less than or equal to");yes;(None, "__le_", "common_type");defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    69
;NE;1;(ANY, ANY);BOOL;_("Not equal to");yes;(None, "__ne_", "common_type");defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    70
_("Character string");LEN;1;(STRING);INT;_("Length of string");no;(None, "__len", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    71
;LEFT;1;(STRING, L);STRING;_("string left of");no;(None, "__left", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    72
;RIGHT;1;(STRING, L);STRING;_("string right of");no;(None, "__right", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    73
;MID;1;(STRING, L, P);STRING;_("string from the middle");no;(None, "__mid", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    74
;CONCAT;1;(STRING, STRING);STRING;_("Concatenation");yes;(None, "__concat", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    75
;CONCAT;1;(DATE, TOD);DT;_("Time concatenation");no;(None, "__time_add", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    76
;INSERT;1;(STRING, STRING, P);STRING;_("Insertion (into)");no;(None, "__insert", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    77
;DELETE;1;(STRING, L, P);STRING;_("Deletion (within)");no;(None, "__delete", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    78
;REPLACE;1;(STRING, STRING, L, P);STRING;_("Replacement (within)");no;(None, "__replace", None);defined
0dd1a5f2a7a1 Update internationalization
laurent
parents: 406
diff changeset
    79
;FIND;1;(STRING, STRING);INT;_("Find position");no;(None, "__find", None);defined