plcopen/iec_std.csv
author etisserant
Tue, 05 Jun 2007 14:32:01 +0200
changeset 14 cd0133ed377b
child 18 ee18a387e80a
permissions -rw-r--r--
Standard IEC functions declaration now made from iec_std.csv file for easier maintainance.
Standard_functions_variables_types;name;comment;type;;;;
;N;Number of bits to be shifted;UINT;;;;
;L;Left position within character string;UINT;;;;
;P;Position within character string;UINT;;;;
;G;Selection out of 2 inputs (gate);BOOL;;;;
;K;Selection out of n inputs;ANY_INT;;;;
;MN;Minimum value for limitation;ANY;;;;
;MX;Maximum value for limitation;ANY;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
;;;;;;;
Standard_functions_type;name;baseinputnumber;inputs;outputs;comment;overloaded;extensible
Type conversion;*_TO_**;1;(ANY);ANY;Data type conversion;yes;no
;TRUNC;1;(ANY_REAL);ANY_INT;Rounding up/down;yes;no
;BCD_TO_**;1;(ANY_BIT);ANY;Conversion from BCD;yes;no
;*_TO_BCD;1;(ANY_INT);ANY_BIT;Conversion to BCD;yes;no
;DATE_AND_TIME_TO_TIME_OF_DAY;1;(DT);TOD;Conversion to time-of-day;no;no
;DATE_AND_TIME_TO_DATE;1;(DT);DATE;Conversion to date;no;no
Numerical;ABS;1;(ANY_NUM);ANY_NUM;Absolute number;yes;no
;SQRT;1;(ANY_REAL);ANY_REAL;Square root (base 2);yes;no
;LN;1;(ANY_REAL);ANY_REAL;Natural logarithm;yes;no
;LOG;1;(ANY_REAL);ANY_REAL;Logarithm to base 10;yes;no
;EXP;1;(ANY_REAL);ANY_REAL;Exponentiation;yes;no
;SIN;1;(ANY_REAL);ANY_REAL;Sine;yes;no
;COS;1;(ANY_REAL);ANY_REAL;Cosine;yes;no
;TAN;1;(ANY_REAL);ANY_REAL;Tangent;yes;no
;ASIN;1;(ANY_REAL);ANY_REAL;Arc sine;yes;no
;ACOS;1;(ANY_REAL);ANY_REAL;Arc cosine;yes;no
;ATAN;1;(ANY_REAL);ANY_REAL;Arc tangent;yes;no
Arithmetic;ADD;1;(ANY_NUM, ANY_NUM);ANY_NUM;Addition;yes;yes
;ADD;1;(TIME, TIME);TIME;Time addition;yes;no
;ADD;1;(TOD, TIME);TOD;Time-of-day addition;yes;no
;ADD;1;(DT, TIME);DT;Date addition;yes;no
;MUL;1;(ANY_NUM, ANY_NUM);ANY_NUM;Multiplication;yes;yes
;MUL;1;(TIME, ANY_NUM);TIME;Time multiplication;yes;no
;SUB;1;(ANY_NUM, ANY_NUM);ANY_NUM;Subtraction;yes;no
;SUB;1;(TIME, TIME);TIME;Time subtraction;yes;no
;SUB;1;(DATE, DATE);TIME;Date subtraction;yes;no
;SUB;1;(TOD, TIME);TOD;Time-of-day subtraction;yes;no
;SUB;1;(TOD, TOD);TIME;Time-of-day subtraction;yes;no
;SUB;1;(DT, TIME);DT;Date and time subtraction;yes;no
;SUB;1;(DT, DT);TIME;Date and time subtraction;yes;no
;DIV;1;(ANY_NUM, ANY_NUM);ANY_NUM;Division;yes;no
;DIV;1;(TIME, ANY_NUM);TIME;Time division;yes;no
;MOD;1;(ANY_NUM, ANY_NUM);ANY_NUM;Remainder (modulo);yes;no
;EXPT;1;(ANY_NUM, ANY_NUM);ANY_NUM;Exponent;yes;no
;MOVE;1;(ANY_NUM, ANY_NUM);ANY_NUM;Assignment;yes;no
Bit-shift;SHL;1;(ANY_BIT, N);ANY_BIT;Shift left;yes;no
;SHR;1;(ANY_BIT, N);ANY_BIT;Shift right;yes;no
;ROR;1;(ANY_BIT, N);ANY_BIT;Rotate right;yes;no
;ROL;1;(ANY_BIT, N);ANY_BIT;Rotate left;yes;no
Bitwise;AND;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise AND;yes;yes
;OR;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise OR;yes;yes
;XOR;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise EXOR;yes;yes
;NOT;1;(ANY_BIT, ANY_BIT);ANY_BIT;Bitwise inverting;yes;no
Selection;SEL;0;(G, ANY, ANY);ANY;Binary selection (1 of 2);yes;no
;SEL;0;(G, ENUM, ENUM);ENUM;Binary selection (1 of 2);no;no
;MAX;1;(ANY, ANY);ANY;Maximum;yes;yes
;MIN;1;(ANY, ANY);ANY;Minimum;yes;yes
;LIMIT;1;(MN, ANY, MX);ANY;Limitation;yes;no
;MUX;0;(K, ANY, ANY);ANY;Multiplexer (select 1 of N);yes;yes
;MUX;0;(K, ENUM, ENUM);ENUM;Multiplexer (select 1 of N);no;no
Comparison;GT;1;(ANY, ANY);BOOL;Greater than;yes;yes
;GE;1;(ANY, ANY);BOOL;Greater than or equal to;yes;yes
;EQ;1;(ANY, ANY);BOOL;Equal to;yes;yes
;EQ;1;(ENUM, ENUM);BOOL;Equal to;no;no
;LT;1;(ANY, ANY);BOOL;Less than;yes;yes
;LE;1;(ANY, ANY);BOOL;Less than or equal to;yes;yes
;NE;1;(ANY, ANY);BOOL;Not equal to;yes;no
;NE;1;(ENUM, ENUM);BOOL;Not equal to;no;no
Character string;LEN;1;(STRING);INT;Length of string;no;no
;LEFT;1;(STRING, L);STRING;string left of;yes;no
;RIGHT;1;(STRING, L);STRING;string right of;yes;no
;MID;1;(STRING, L, P);STRING;string from the middle;yes;no
;CONCAT;1;(STRING, STRING);STRING;Concatenation;no;yes
;CONCAT;1;(DATE, TOD);DT;Time concatenation;no;no
;INSERT;1;(STRING, STRING, P);STRING;Insertion (into);yes;no
;DELETE;1;(STRING, L, P);STRING;Deletion (within);yes;no
;REPLACE;1;(STRING, STRING, L, P);STRING;Replacement (within);yes;no
;FIND;1;(STRING, STRING);INT;Find position;yes;no
;;;;;;;