plcopen/iec_std.csv
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Fri, 10 Aug 2018 17:45:33 +0300
changeset 2278 a3ac46366b86
parent 1390 0f4d32a033e0
child 2496 39049d615c0d
permissions -rw-r--r--
Dirty fix for error '_object_has_no_attribute_'getSlave' in EtherCAT extension

traceback:
File "/home/developer/WorkData/PLC/beremiz/beremiz/IDEFrame.py", line 1433, in OnPouSelectedChanged
window.RefreshView()
File "/home/developer/WorkData/PLC/beremiz/beremiz/etherlab/ConfigEditor.py", line 837, in RefreshView
self.RefreshProcessVariables()
File "/home/developer/WorkData/PLC/beremiz/beremiz/etherlab/ConfigEditor.py", line 886, in RefreshProcessVariables
slaves = self.Controler.GetSlaves(**self.CurrentNodesFilter)
File "/home/developer/WorkData/PLC/beremiz/beremiz/etherlab/EthercatMaster.py", line 341, in GetSlaves
for slave in self.Config.getConfig().getSlave():
<type 'exceptions.AttributeError'>:_'lxml.etree._Element'_object_has_no_attribute_'getSlave'

Steps to reproduce problem:

- Add new EtherCAT master
- Add new EthercatNode to the master
- double click on


this is looks like dirty hack to fix strange problem with initial[0]
changing its type after returning from _init_ method to lxml.etree._Element
As a result all methods generated by class factory are lost.

For example, in function initMethod initial[0].__class__ points to
xmlclass.xmlclass.Config. After map(self.append, initial)
self.Config.__class__ is 'xmlclass.xmlclass.Config' as well.
But after returning from initMethod (_init) in CreateElement
self.Config.__class__ has changed to lxml.etree._Element.


I've noticed similar behavior if copy/deepcopy is used for any child
of etree.ElementBase. See simple example below.
[-------------------------------------------------------------]
#!/usr/bin/python

from __future__ import print_function
from lxml import etree
import copy

class DefaultElementClass(etree.ElementBase):
def getLocalTag(self):
return etree.QName(self.tag).localname


def printInformation(x):
print(x, x.__class__, "getLocalTag" in dir(x))


a = DefaultElementClass()
printInformation(a)

#
printInformation(copy.copy(a))
printInformation(copy.deepcopy(a))
[-------------------------------------------------------------]
1390
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     1
Standard_functions_variables_types;name;type;comment;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     2
;N;ANY_INT;Number of bits to be shifted;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     3
;L;ANY_INT;Left position within character string;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     4
;P;ANY_INT;Position within character string;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     5
;G;BOOL;Selection out of 2 inputs (gate);;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     6
;K;ANY_INT;Selection out of n inputs;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     7
;MN;ANY;Minimum value for limitation;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     8
;MX;ANY;Maximum value for limitation;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
     9
;;;;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    10
;;;;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    11
;;;;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    12
;;;;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    13
;;;;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    14
;;;;;;;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    15
Standard_functions_type;name;baseinputnumber;inputs;outputs;comment;extensible;filter
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    16
_("Type conversion");*_TO_**;1;(ANY);ANY;_("Data type conversion");no;ANY_TO_ANY
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    17
;TRUNC;1;(ANY_REAL);ANY_INT;_("Rounding up/down");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    18
;BCD_TO_**;1;(ANY_BIT);ANY_INT;_("Conversion from BCD");no;BCD_TO_ANY
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    19
;*_TO_BCD;1;(ANY_INT);ANY_BIT;_("Conversion to BCD");no;ANY_TO_BCD
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    20
;DATE_AND_TIME_TO_TIME_OF_DAY;1;(DT);TOD;_("Conversion to time-of-day");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    21
;DATE_AND_TIME_TO_DATE;1;(DT);DATE;_("Conversion to date");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    22
_("Numerical");ABS;1;(ANY_NUM);ANY_NUM;_("Absolute number");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    23
;SQRT;1;(ANY_REAL);ANY_REAL;_("Square root (base 2)");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    24
;LN;1;(ANY_REAL);ANY_REAL;_("Natural logarithm");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    25
;LOG;1;(ANY_REAL);ANY_REAL;_("Logarithm to base 10");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    26
;EXP;1;(ANY_REAL);ANY_REAL;_("Exponentiation");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    27
;SIN;1;(ANY_REAL);ANY_REAL;_("Sine");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    28
;COS;1;(ANY_REAL);ANY_REAL;_("Cosine");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    29
;TAN;1;(ANY_REAL);ANY_REAL;_("Tangent");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    30
;ASIN;1;(ANY_REAL);ANY_REAL;_("Arc sine");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    31
;ACOS;1;(ANY_REAL);ANY_REAL;_("Arc cosine");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    32
;ATAN;1;(ANY_REAL);ANY_REAL;_("Arc tangent");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    33
_("Arithmetic");ADD;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Addition");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    34
;MUL;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Multiplication");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    35
;SUB;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    36
;DIV;1;(ANY_NUM, ANY_NUM);ANY_NUM;_("Division");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    37
;MOD;1;(ANY_INT, ANY_INT);ANY_INT;_("Remainder (modulo)");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    38
;EXPT;1;(ANY_REAL, ANY_NUM);ANY_REAL;_("Exponent");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    39
;MOVE;1;(ANY);ANY;_("Assignment");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    40
_("Time");ADD;1;(TIME, TIME);TIME;_("Time addition");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    41
;ADD_TIME;1;(TIME, TIME);TIME;_("Time addition");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    42
;ADD;1;(TOD, TIME);TOD;_("Time-of-day addition")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    43
;ADD_TOD_TIME;1;(TOD, TIME);TOD;_("Time-of-day addition");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    44
;ADD;1;(DT, TIME);DT;_("Date addition")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    45
;ADD_DT_TIME;1;(DT, TIME);DT;_("Date addition");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    46
;MUL;1;(TIME, ANY_NUM);TIME;_("Time multiplication")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    47
;MULTIME;1;(TIME, ANY_NUM);TIME;_("Time multiplication");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    48
;SUB_TIME;1;(TIME, TIME);TIME;_("Time subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    49
;SUB;1;(TIME, TIME);TIME;_("Time subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    50
;SUB;1;(DATE, DATE);TIME;_("Date subtraction")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    51
;SUB_DATE_DATE;1;(DATE, DATE);TIME;_("Date subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    52
;SUB;1;(TOD, TIME);TOD;_("Time-of-day subtraction")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    53
;SUB_TOD_TIME;1;(TOD, TIME);TOD;_("Time-of-day subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    54
;SUB;1;(TOD, TOD);TIME;_("Time-of-day subtraction")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    55
;SUB_TOD_TOD;1;(TOD, TOD);TIME;_("Time-of-day subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    56
;SUB;1;(DT, TIME);DT;_("Date and time subtraction")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    57
;SUB_DT_TIME;1;(DT, TIME);DT;_("Date and time subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    58
;SUB;1;(DT, DT);TIME;_("Date and time subtraction")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    59
;SUB_DT_TIME;1;(DT, DT);TIME;_("Date and time subtraction");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    60
;DIV;1;(TIME, ANY_NUM);TIME;_("Time division")+" "+_("DEPRECATED");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    61
;DIVTIME;1;(TIME, ANY_NUM);TIME;_("Time division");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    62
_("Bit-shift");SHL;1;(ANY_BIT, N);ANY_BIT;_("Shift left");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    63
;SHR;1;(ANY_BIT, N);ANY_BIT;_("Shift right");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    64
;ROR;1;(ANY_NBIT, N);ANY_NBIT;_("Rotate right");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    65
;ROL;1;(ANY_NBIT, N);ANY_NBIT;_("Rotate left");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    66
_("Bitwise");AND;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise AND");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    67
;OR;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise OR");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    68
;XOR;1;(ANY_BIT, ANY_BIT);ANY_BIT;_("Bitwise XOR");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    69
;NOT;1;(ANY_BIT);ANY_BIT;_("Bitwise inverting");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    70
_("Selection");SEL;0;(G, ANY, ANY);ANY;_("Binary selection (1 of 2)");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    71
;MAX;1;(ANY, ANY);ANY;_("Maximum");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    72
;MIN;1;(ANY, ANY);ANY;_("Minimum");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    73
;LIMIT;1;(MN, ANY, MX);ANY;_("Limitation");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    74
;MUX;0;(K, ANY, ANY);ANY;_("Multiplexer (select 1 of N)");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    75
_("Comparison");GT;1;(ANY, ANY);BOOL;_("Greater than");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    76
;GE;1;(ANY, ANY);BOOL;_("Greater than or equal to");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    77
;EQ;1;(ANY, ANY);BOOL;_("Equal to");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    78
;LT;1;(ANY, ANY);BOOL;_("Less than");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    79
;LE;1;(ANY, ANY);BOOL;_("Less than or equal to");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    80
;NE;1;(ANY, ANY);BOOL;_("Not equal to");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    81
_("Character string");LEN;1;(STRING);INT;_("Length of string");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    82
;LEFT;1;(STRING, L);STRING;_("string left of");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    83
;RIGHT;1;(STRING, L);STRING;_("string right of");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    84
;MID;1;(STRING, L, P);STRING;_("string from the middle");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    85
;CONCAT;1;(STRING, STRING);STRING;_("Concatenation");yes;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    86
;CONCAT_DAT_TOD;1;(DATE, TOD);DT;_("Time concatenation");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    87
;INSERT;1;(STRING, STRING, P);STRING;_("Insertion (into)");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    88
;DELETE;1;(STRING, L, P);STRING;_("Deletion (within)");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    89
;REPLACE;1;(STRING, STRING, L, P);STRING;_("Replacement (within)");no;
0f4d32a033e0 Tidy PLCopen definitions
Edouard Tisserant
parents: 814
diff changeset
    90
;FIND;1;(STRING, STRING);INT;_("Find position");no;