UnderAutomation.Fanuc 2.2.0.0__py3-none-any.whl → 3.0.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- underautomation/fanuc/common/cartesian_position.py +14 -0
- underautomation/fanuc/common/configuration.py +20 -17
- underautomation/fanuc/common/extended_cartesian_position.py +2 -20
- underautomation/fanuc/common/joints_position.py +11 -2
- underautomation/fanuc/common/position.py +1 -1
- underautomation/fanuc/fanuc_robot.py +1 -1
- underautomation/fanuc/ftp/fanuc_file_readers.py +14 -21
- underautomation/fanuc/ftp/internal/ftp_client_base.py +0 -1
- underautomation/fanuc/ftp/list/errall_section_item.py +12 -9
- underautomation/fanuc/ftp/list/error_list.py +2 -0
- underautomation/fanuc/ftp/variables/generic_variable_type_helpers.py +2 -2
- underautomation/fanuc/ftp/variables/variable_reader.py +70 -106
- underautomation/fanuc/kinematics/__init__.py +0 -0
- underautomation/fanuc/kinematics/arm_kinematic_models.py +88 -0
- underautomation/fanuc/kinematics/crx/__init__.py +0 -0
- underautomation/fanuc/kinematics/crx/crx10ia_dhm_parameters.py +25 -0
- underautomation/fanuc/kinematics/crx/crx10ia_l_dhm_parameters.py +25 -0
- underautomation/fanuc/kinematics/crx/crx_dhm_parameters.py +37 -0
- underautomation/fanuc/kinematics/crx/crx_kinematics_utils.py +18 -0
- underautomation/fanuc/kinematics/crx/i_crx_dhm_parameters.py +24 -0
- underautomation/fanuc/kinematics/crx10ia_l_dhm_parameters.py +31 -0
- underautomation/fanuc/kinematics/dh_parameters.py +77 -0
- underautomation/fanuc/kinematics/i_dh_parameters.py +30 -0
- underautomation/fanuc/kinematics/internal/__init__.py +0 -0
- underautomation/fanuc/kinematics/internal/arm_model_attribute.py +31 -0
- underautomation/fanuc/kinematics/kinematics_category.py +9 -0
- underautomation/fanuc/kinematics/kinematics_utils.py +24 -0
- underautomation/fanuc/kinematics/opw/__init__.py +0 -0
- underautomation/fanuc/kinematics/opw/opw_kinematics_utils.py +21 -0
- underautomation/fanuc/lib/UnderAutomation.Fanuc.dll +0 -0
- underautomation/fanuc/lib/version.txt +1 -1
- underautomation/fanuc/rmi/internal/rmi_client_base.py +13 -13
- underautomation/fanuc/rmi/internal/rmi_connect_parameters_base.py +6 -18
- underautomation/fanuc/snpx/internal/batch_assignment_2.py +2 -2
- underautomation/fanuc/snpx/internal/position_registers.py +1 -1
- underautomation/fanuc/snpx/internal/position_system_variables.py +1 -1
- underautomation/fanuc/snpx/internal/robot_alarm.py +1 -1
- underautomation/fanuc/snpx/internal/robot_task_status.py +1 -1
- underautomation/fanuc/snpx/internal/snpx_connect_parameters_base.py +2 -6
- underautomation/fanuc/snpx/internal/snpx_writable_assignable_elements_3.py +1 -1
- underautomation/fanuc/telnet/internal/telnet_client_base.py +3 -4
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/METADATA +1 -1
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/RECORD +45 -28
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/WHEEL +0 -0
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import clr
|
|
3
|
+
import os
|
|
4
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
5
|
+
from UnderAutomation.Fanuc.Kinematics.Crx import ICrxDhmParameters as i_crx_dhm_parameters
|
|
6
|
+
|
|
7
|
+
class ICrxDhmParameters:
|
|
8
|
+
def __init__(self, _internal = 0):
|
|
9
|
+
if(_internal == 0):
|
|
10
|
+
self._instance = i_crx_dhm_parameters()
|
|
11
|
+
else:
|
|
12
|
+
self._instance = _internal
|
|
13
|
+
@property
|
|
14
|
+
def a2(self) -> float:
|
|
15
|
+
return self._instance.A2
|
|
16
|
+
@property
|
|
17
|
+
def d4(self) -> float:
|
|
18
|
+
return self._instance.D4
|
|
19
|
+
@property
|
|
20
|
+
def d5(self) -> float:
|
|
21
|
+
return self._instance.D5
|
|
22
|
+
@property
|
|
23
|
+
def d6(self) -> float:
|
|
24
|
+
return self._instance.D6
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.kinematics.i_dh_parameters import IDhParameters
|
|
3
|
+
import clr
|
|
4
|
+
import os
|
|
5
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
6
|
+
from UnderAutomation.Fanuc.Kinematics import Crx10iaLDhmParameters as crx10ia_l_dhm_parameters
|
|
7
|
+
|
|
8
|
+
class Crx10iaLDhmParameters(IDhParameters):
|
|
9
|
+
def __init__(self, _internal = 0):
|
|
10
|
+
if(_internal == 0):
|
|
11
|
+
self._instance = crx10ia_l_dhm_parameters()
|
|
12
|
+
else:
|
|
13
|
+
self._instance = _internal
|
|
14
|
+
@property
|
|
15
|
+
def a1(self) -> float:
|
|
16
|
+
return self._instance.A1
|
|
17
|
+
@property
|
|
18
|
+
def a2(self) -> float:
|
|
19
|
+
return self._instance.A2
|
|
20
|
+
@property
|
|
21
|
+
def a3(self) -> float:
|
|
22
|
+
return self._instance.A3
|
|
23
|
+
@property
|
|
24
|
+
def d4(self) -> float:
|
|
25
|
+
return self._instance.D4
|
|
26
|
+
@property
|
|
27
|
+
def d5(self) -> float:
|
|
28
|
+
return self._instance.D5
|
|
29
|
+
@property
|
|
30
|
+
def d6(self) -> float:
|
|
31
|
+
return self._instance.D6
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.kinematics.i_dh_parameters import IDhParameters
|
|
3
|
+
from underautomation.fanuc.kinematics.kinematics_category import KinematicsCategory
|
|
4
|
+
from underautomation.fanuc.kinematics.arm_kinematic_models import ArmKinematicModels
|
|
5
|
+
from underautomation.fanuc.ftp.variables.symotn_file import SymotnFile
|
|
6
|
+
from underautomation.fanuc.ftp.variables.mrr_grp_variable_type import MrrGrpVariableType
|
|
7
|
+
import clr
|
|
8
|
+
import os
|
|
9
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
10
|
+
from UnderAutomation.Fanuc.Kinematics import DhParameters as dh_parameters
|
|
11
|
+
|
|
12
|
+
class DhParameters(IDhParameters):
|
|
13
|
+
def __init__(self, d4: float, d5: float, d6: float, a1: float, a2: float, a3: float, _internal = 0):
|
|
14
|
+
if(_internal == 0):
|
|
15
|
+
self._instance = dh_parameters(d4, d5, d6, a1, a2, a3)
|
|
16
|
+
else:
|
|
17
|
+
self._instance = _internal
|
|
18
|
+
@staticmethod
|
|
19
|
+
def from_arm_kinematic_model(model: ArmKinematicModels) -> 'DhParameters':
|
|
20
|
+
return DhParameters(None, None, None, None, None, None, dh_parameters.FromArmKinematicModel(model))
|
|
21
|
+
@staticmethod
|
|
22
|
+
def from_opw_parameters(a1: float, a2: float, c2: float, c3: float, c4: float) -> 'DhParameters':
|
|
23
|
+
return DhParameters(None, None, None, None, None, None, dh_parameters.FromOpwParameters(a1, a2, c2, c3, c4))
|
|
24
|
+
@staticmethod
|
|
25
|
+
def from_def_file(doc: typing.Any) -> typing.List['DhParameters']:
|
|
26
|
+
return [DhParameters(x) for x in dh_parameters.FromDefFile(doc)]
|
|
27
|
+
@staticmethod
|
|
28
|
+
def from_symotn_file(file: SymotnFile) -> typing.List['DhParameters']:
|
|
29
|
+
return [DhParameters(x) for x in dh_parameters.FromSymotnFile(file._instance if file else None)]
|
|
30
|
+
@staticmethod
|
|
31
|
+
def from_mrr_grp(mrrGrp: MrrGrpVariableType) -> 'DhParameters':
|
|
32
|
+
return DhParameters(None, None, None, None, None, None, dh_parameters.FromMrrGrp(mrrGrp._instance if mrrGrp else None))
|
|
33
|
+
@property
|
|
34
|
+
def d4(self) -> float:
|
|
35
|
+
return self._instance.D4
|
|
36
|
+
@d4.setter
|
|
37
|
+
def d4(self, value: float):
|
|
38
|
+
self._instance.D4 = value
|
|
39
|
+
@property
|
|
40
|
+
def d5(self) -> float:
|
|
41
|
+
return self._instance.D5
|
|
42
|
+
@d5.setter
|
|
43
|
+
def d5(self, value: float):
|
|
44
|
+
self._instance.D5 = value
|
|
45
|
+
@property
|
|
46
|
+
def d6(self) -> float:
|
|
47
|
+
return self._instance.D6
|
|
48
|
+
@d6.setter
|
|
49
|
+
def d6(self, value: float):
|
|
50
|
+
self._instance.D6 = value
|
|
51
|
+
@property
|
|
52
|
+
def a1(self) -> float:
|
|
53
|
+
return self._instance.A1
|
|
54
|
+
@a1.setter
|
|
55
|
+
def a1(self, value: float):
|
|
56
|
+
self._instance.A1 = value
|
|
57
|
+
@property
|
|
58
|
+
def a2(self) -> float:
|
|
59
|
+
return self._instance.A2
|
|
60
|
+
@a2.setter
|
|
61
|
+
def a2(self, value: float):
|
|
62
|
+
self._instance.A2 = value
|
|
63
|
+
@property
|
|
64
|
+
def a3(self) -> float:
|
|
65
|
+
return self._instance.A3
|
|
66
|
+
@a3.setter
|
|
67
|
+
def a3(self, value: float):
|
|
68
|
+
self._instance.A3 = value
|
|
69
|
+
@property
|
|
70
|
+
def kinematics_category(self) -> KinematicsCategory:
|
|
71
|
+
return KinematicsCategory(self._instance.KinematicsCategory)
|
|
72
|
+
@property
|
|
73
|
+
def tag(self) -> typing.Any:
|
|
74
|
+
return self._instance.Tag
|
|
75
|
+
@tag.setter
|
|
76
|
+
def tag(self, value: typing.Any):
|
|
77
|
+
self._instance.Tag = value
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
import clr
|
|
3
|
+
import os
|
|
4
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
5
|
+
from UnderAutomation.Fanuc.Kinematics import IDhParameters as i_dh_parameters
|
|
6
|
+
|
|
7
|
+
class IDhParameters:
|
|
8
|
+
def __init__(self, _internal = 0):
|
|
9
|
+
if(_internal == 0):
|
|
10
|
+
self._instance = i_dh_parameters()
|
|
11
|
+
else:
|
|
12
|
+
self._instance = _internal
|
|
13
|
+
@property
|
|
14
|
+
def d4(self) -> float:
|
|
15
|
+
return self._instance.D4
|
|
16
|
+
@property
|
|
17
|
+
def d5(self) -> float:
|
|
18
|
+
return self._instance.D5
|
|
19
|
+
@property
|
|
20
|
+
def d6(self) -> float:
|
|
21
|
+
return self._instance.D6
|
|
22
|
+
@property
|
|
23
|
+
def a1(self) -> float:
|
|
24
|
+
return self._instance.A1
|
|
25
|
+
@property
|
|
26
|
+
def a2(self) -> float:
|
|
27
|
+
return self._instance.A2
|
|
28
|
+
@property
|
|
29
|
+
def a3(self) -> float:
|
|
30
|
+
return self._instance.A3
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.kinematics.i_dh_parameters import IDhParameters
|
|
3
|
+
import clr
|
|
4
|
+
import os
|
|
5
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
6
|
+
from UnderAutomation.Fanuc.Kinematics.Internal import ArmModelAttribute as arm_model_attribute
|
|
7
|
+
|
|
8
|
+
class ArmModelAttribute(IDhParameters):
|
|
9
|
+
def __init__(self, description: str, d4: float, d5: float, d6: float, a1: float, a2: float, a3: float, _internal = 0):
|
|
10
|
+
if(_internal == 0):
|
|
11
|
+
self._instance = arm_model_attribute(description, d4, d5, d6, a1, a2, a3)
|
|
12
|
+
else:
|
|
13
|
+
self._instance = _internal
|
|
14
|
+
@property
|
|
15
|
+
def d4(self) -> float:
|
|
16
|
+
return self._instance.D4
|
|
17
|
+
@property
|
|
18
|
+
def d5(self) -> float:
|
|
19
|
+
return self._instance.D5
|
|
20
|
+
@property
|
|
21
|
+
def d6(self) -> float:
|
|
22
|
+
return self._instance.D6
|
|
23
|
+
@property
|
|
24
|
+
def a1(self) -> float:
|
|
25
|
+
return self._instance.A1
|
|
26
|
+
@property
|
|
27
|
+
def a2(self) -> float:
|
|
28
|
+
return self._instance.A2
|
|
29
|
+
@property
|
|
30
|
+
def a3(self) -> float:
|
|
31
|
+
return self._instance.A3
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import clr
|
|
2
|
+
import os
|
|
3
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
4
|
+
from UnderAutomation.Fanuc.Kinematics import KinematicsCategory as kinematics_category
|
|
5
|
+
|
|
6
|
+
class KinematicsCategory(int):
|
|
7
|
+
Invalid = kinematics_category.Invalid
|
|
8
|
+
Crx = kinematics_category.Crx
|
|
9
|
+
Opw = kinematics_category.Opw
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.common.cartesian_position import CartesianPosition
|
|
3
|
+
from underautomation.fanuc.common.joints_position import JointsPosition
|
|
4
|
+
from underautomation.fanuc.kinematics.dh_parameters import DhParameters
|
|
5
|
+
import clr
|
|
6
|
+
import os
|
|
7
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
8
|
+
from UnderAutomation.Fanuc.Kinematics import KinematicsUtils as kinematics_utils
|
|
9
|
+
|
|
10
|
+
class KinematicsUtils:
|
|
11
|
+
def __init__(self, _internal = 0):
|
|
12
|
+
if(_internal == 0):
|
|
13
|
+
self._instance = kinematics_utils()
|
|
14
|
+
else:
|
|
15
|
+
self._instance = _internal
|
|
16
|
+
@staticmethod
|
|
17
|
+
def forward_kinematics(jointAnglesRad: typing.List[float], dhParameters: DhParameters) -> CartesianPosition:
|
|
18
|
+
return CartesianPosition(None, None, None, None, None, None, None, kinematics_utils.ForwardKinematics(jointAnglesRad, dhParameters._instance if dhParameters else None))
|
|
19
|
+
@staticmethod
|
|
20
|
+
def inverse_kinematics(position: CartesianPosition, parameters: DhParameters) -> typing.List[JointsPosition]:
|
|
21
|
+
return [JointsPosition(x) for x in kinematics_utils.InverseKinematics(position._instance if position else None, parameters._instance if parameters else None)]
|
|
22
|
+
@staticmethod
|
|
23
|
+
def mul(A: typing.List[float], B: typing.List[float]) -> typing.List[float]:
|
|
24
|
+
return kinematics_utils.Mul(A, B)
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.common.cartesian_position import CartesianPosition
|
|
3
|
+
from underautomation.fanuc.kinematics.dh_parameters import DhParameters
|
|
4
|
+
from underautomation.fanuc.common.joints_position import JointsPosition
|
|
5
|
+
import clr
|
|
6
|
+
import os
|
|
7
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
8
|
+
from UnderAutomation.Fanuc.Kinematics.Opw import OpwKinematicsUtils as opw_kinematics_utils
|
|
9
|
+
|
|
10
|
+
class OpwKinematicsUtils:
|
|
11
|
+
def __init__(self, _internal = 0):
|
|
12
|
+
if(_internal == 0):
|
|
13
|
+
self._instance = opw_kinematics_utils()
|
|
14
|
+
else:
|
|
15
|
+
self._instance = _internal
|
|
16
|
+
@staticmethod
|
|
17
|
+
def forward_kinematics(jointAnglesRad: typing.List[float], dhParameters: DhParameters) -> CartesianPosition:
|
|
18
|
+
return CartesianPosition(None, None, None, None, None, None, None, opw_kinematics_utils.ForwardKinematics(jointAnglesRad, dhParameters._instance if dhParameters else None))
|
|
19
|
+
@staticmethod
|
|
20
|
+
def inverse_kinematics(pose: CartesianPosition, dhParameters: DhParameters) -> typing.List[JointsPosition]:
|
|
21
|
+
return [JointsPosition(x) for x in opw_kinematics_utils.InverseKinematics(pose._instance if pose else None, dhParameters._instance if dhParameters else None)]
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3.0.0.0
|
|
@@ -48,15 +48,15 @@ class RmiClientBase:
|
|
|
48
48
|
def read_u_frame(self, number: int) -> IndexedFrame:
|
|
49
49
|
return IndexedFrame(self._instance.ReadUFrame(number))
|
|
50
50
|
def write_u_frame(self, number: int, frame: Frame) -> None:
|
|
51
|
-
self._instance.WriteUFrame(number, frame._instance)
|
|
51
|
+
self._instance.WriteUFrame(number, frame._instance if frame else None)
|
|
52
52
|
def read_u_tool(self, number: int) -> IndexedFrame:
|
|
53
53
|
return IndexedFrame(self._instance.ReadUTool(number))
|
|
54
54
|
def write_u_tool(self, number: int, frame: Frame) -> None:
|
|
55
|
-
self._instance.WriteUTool(number, frame._instance)
|
|
55
|
+
self._instance.WriteUTool(number, frame._instance if frame else None)
|
|
56
56
|
def read_din(self, portNumber: int) -> DigitalInputValue:
|
|
57
57
|
return DigitalInputValue(self._instance.ReadDIN(portNumber))
|
|
58
58
|
def write_dout(self, portNumber: int, value: OnOff) -> None:
|
|
59
|
-
self._instance.WriteDOUT(portNumber, value
|
|
59
|
+
self._instance.WriteDOUT(portNumber, value)
|
|
60
60
|
def read_cartesian_position(self) -> CartesianPosition:
|
|
61
61
|
return CartesianPosition(self._instance.ReadCartesianPosition())
|
|
62
62
|
def read_joint_angles(self) -> JointAnglesSample:
|
|
@@ -68,11 +68,11 @@ class RmiClientBase:
|
|
|
68
68
|
def read_position_register(self, number: int) -> PositionRegisterData:
|
|
69
69
|
return PositionRegisterData(self._instance.ReadPositionRegister(number))
|
|
70
70
|
def write_position_register(self, number: int, cfg: MotionConfiguration, frame: Frame) -> None:
|
|
71
|
-
self._instance.WritePositionRegister(number, cfg._instance, frame._instance)
|
|
71
|
+
self._instance.WritePositionRegister(number, cfg._instance if cfg else None, frame._instance if frame else None)
|
|
72
72
|
def read_tcp_speed(self) -> TcpSpeed:
|
|
73
73
|
return TcpSpeed(self._instance.ReadTcpSpeed())
|
|
74
74
|
def wait_din(self, sequenceId: int, portNumber: int, value: OnOff) -> RmiSequenceResponse:
|
|
75
|
-
return RmiSequenceResponse(self._instance.WaitDin(sequenceId, portNumber, value
|
|
75
|
+
return RmiSequenceResponse(self._instance.WaitDin(sequenceId, portNumber, value))
|
|
76
76
|
def set_u_frame_instruction(self, sequenceId: int, frameNumber: int) -> RmiSequenceResponse:
|
|
77
77
|
return RmiSequenceResponse(self._instance.SetUFrameInstruction(sequenceId, frameNumber))
|
|
78
78
|
def set_u_tool_instruction(self, sequenceId: int, toolNumber: int) -> RmiSequenceResponse:
|
|
@@ -82,21 +82,21 @@ class RmiClientBase:
|
|
|
82
82
|
def set_payload(self, sequenceId: int, scheduleNumber: int) -> RmiSequenceResponse:
|
|
83
83
|
return RmiSequenceResponse(self._instance.SetPayload(sequenceId, scheduleNumber))
|
|
84
84
|
def linear_motion(self, sequenceId: int, config: MotionConfiguration, position: Frame, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, wristJoint: bool, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
85
|
-
return RmiSequenceResponse(self._instance.LinearMotion(sequenceId, config._instance, position._instance, speedType
|
|
85
|
+
return RmiSequenceResponse(self._instance.LinearMotion(sequenceId, config._instance if config else None, position._instance if position else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, wristJoint, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
86
86
|
def linear_relative(self, sequenceId: int, config: MotionConfiguration, delta: Frame, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, wristJoint: bool, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
87
|
-
return RmiSequenceResponse(self._instance.LinearRelative(sequenceId, config._instance, delta._instance, speedType
|
|
87
|
+
return RmiSequenceResponse(self._instance.LinearRelative(sequenceId, config._instance if config else None, delta._instance if delta else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, wristJoint, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
88
88
|
def joint_motion(self, sequenceId: int, config: MotionConfiguration, position: Frame, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
89
|
-
return RmiSequenceResponse(self._instance.JointMotion(sequenceId, config._instance, position._instance, speedType
|
|
89
|
+
return RmiSequenceResponse(self._instance.JointMotion(sequenceId, config._instance if config else None, position._instance if position else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
90
90
|
def joint_relative(self, sequenceId: int, config: MotionConfiguration, delta: Frame, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
91
|
-
return RmiSequenceResponse(self._instance.JointRelative(sequenceId, config._instance, delta._instance, speedType
|
|
91
|
+
return RmiSequenceResponse(self._instance.JointRelative(sequenceId, config._instance if config else None, delta._instance if delta else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
92
92
|
def circular_motion(self, sequenceId: int, config: MotionConfiguration, position: Frame, viaConfig: MotionConfiguration, viaPosition: Frame, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, wristJoint: bool, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
93
|
-
return RmiSequenceResponse(self._instance.CircularMotion(sequenceId, config._instance, position._instance, viaConfig._instance, viaPosition._instance, speedType
|
|
93
|
+
return RmiSequenceResponse(self._instance.CircularMotion(sequenceId, config._instance if config else None, position._instance if position else None, viaConfig._instance if viaConfig else None, viaPosition._instance if viaPosition else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, wristJoint, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
94
94
|
def circular_relative(self, sequenceId: int, config: MotionConfiguration, delta: Frame, viaConfig: MotionConfiguration, viaDelta: Frame, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, wristJoint: bool, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
95
|
-
return RmiSequenceResponse(self._instance.CircularRelative(sequenceId, config._instance, delta._instance, viaConfig._instance, viaDelta._instance, speedType
|
|
95
|
+
return RmiSequenceResponse(self._instance.CircularRelative(sequenceId, config._instance if config else None, delta._instance if delta else None, viaConfig._instance if viaConfig else None, viaDelta._instance if viaDelta else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, wristJoint, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
96
96
|
def joint_motion_j_rep(self, sequenceId: int, joints: JointAngles, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
97
|
-
return RmiSequenceResponse(self._instance.JointMotionJRep(sequenceId, joints._instance, speedType
|
|
97
|
+
return RmiSequenceResponse(self._instance.JointMotionJRep(sequenceId, joints._instance if joints else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
98
98
|
def joint_relative_j_rep(self, sequenceId: int, deltaJoints: JointAngles, speedType: SpeedType, speed: int, termType: TerminationType, termValue: int, acc: typing.Any, offsetPr: typing.Any, visionPr: typing.Any, mrot: bool, lcbType: str, lcbValue: typing.Any, portType: typing.Any, portNumber: typing.Any, portValue: typing.Any) -> RmiSequenceResponse:
|
|
99
|
-
return RmiSequenceResponse(self._instance.JointRelativeJRep(sequenceId, deltaJoints._instance, speedType
|
|
99
|
+
return RmiSequenceResponse(self._instance.JointRelativeJRep(sequenceId, deltaJoints._instance if deltaJoints else None, speedType, speed, termType, termValue, acc, offsetPr, visionPr, mrot, lcbType, lcbValue, portType, portNumber, portValue))
|
|
100
100
|
def dispose(self) -> None:
|
|
101
101
|
self._instance.Dispose()
|
|
102
102
|
@property
|
|
@@ -28,21 +28,9 @@ class RmiConnectParametersBase:
|
|
|
28
28
|
@write_timeout_ms.setter
|
|
29
29
|
def write_timeout_ms(self, value: int):
|
|
30
30
|
self._instance.WriteTimeoutMs = value
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
@property
|
|
38
|
-
def defaul_t__rea_d__timeou_t__ms(self) -> int:
|
|
39
|
-
return self._instance.DEFAULT_READ_TIMEOUT_MS
|
|
40
|
-
@defaul_t__rea_d__timeou_t__ms.setter
|
|
41
|
-
def defaul_t__rea_d__timeou_t__ms(self, value: int):
|
|
42
|
-
self._instance.DEFAULT_READ_TIMEOUT_MS = value
|
|
43
|
-
@property
|
|
44
|
-
def defaul_t__writ_e__timeou_t__ms(self) -> int:
|
|
45
|
-
return self._instance.DEFAULT_WRITE_TIMEOUT_MS
|
|
46
|
-
@defaul_t__writ_e__timeou_t__ms.setter
|
|
47
|
-
def defaul_t__writ_e__timeou_t__ms(self, value: int):
|
|
48
|
-
self._instance.DEFAULT_WRITE_TIMEOUT_MS = value
|
|
31
|
+
|
|
32
|
+
RmiConnectParametersBase.defaul_t__port = RmiConnectParametersBase(rmi_connect_parameters_base.DEFAULT_PORT)
|
|
33
|
+
|
|
34
|
+
RmiConnectParametersBase.defaul_t__rea_d__timeou_t__ms = RmiConnectParametersBase(rmi_connect_parameters_base.DEFAULT_READ_TIMEOUT_MS)
|
|
35
|
+
|
|
36
|
+
RmiConnectParametersBase.defaul_t__writ_e__timeou_t__ms = RmiConnectParametersBase(rmi_connect_parameters_base.DEFAULT_WRITE_TIMEOUT_MS)
|
|
@@ -13,8 +13,8 @@ class BatchAssignment2(typing.Generic[TValue, TIndex]):
|
|
|
13
13
|
self._instance = batch_assignment_2()
|
|
14
14
|
else:
|
|
15
15
|
self._instance = _internal
|
|
16
|
-
def read(self) -> typing.
|
|
17
|
-
return self._instance.Read()
|
|
16
|
+
def read(self) -> typing.List[TValue]:
|
|
17
|
+
return list(self._instance.Read())
|
|
18
18
|
@property
|
|
19
19
|
def assignments(self) -> typing.List[Assignment1]:
|
|
20
20
|
return [Assignment1(x) for x in self._instance.Assignments]
|
|
@@ -17,6 +17,6 @@ class PositionRegisters(SnpxWritableAssignableElements3[Position, int, PositionR
|
|
|
17
17
|
else:
|
|
18
18
|
self._instance = _internal
|
|
19
19
|
def write(self, index: int, cartesianPosition: CartesianPosition) -> None:
|
|
20
|
-
self._instance.Write(index, cartesianPosition._instance)
|
|
20
|
+
self._instance.Write(index, cartesianPosition._instance if cartesianPosition else None)
|
|
21
21
|
def create_batch_assignment(self, startIndex: int, count: int) -> PositionRegistersBatchAssignment:
|
|
22
22
|
return PositionRegistersBatchAssignment(self._instance.CreateBatchAssignment(startIndex, count))
|
|
@@ -17,4 +17,4 @@ class PositionSystemVariables(SnpxWritableAssignableElements3[Position, str, Pos
|
|
|
17
17
|
else:
|
|
18
18
|
self._instance = _internal
|
|
19
19
|
def write(self, variable: str, cartesianPosition: CartesianPosition) -> None:
|
|
20
|
-
self._instance.Write(variable, cartesianPosition._instance)
|
|
20
|
+
self._instance.Write(variable, cartesianPosition._instance if cartesianPosition else None)
|
|
@@ -16,7 +16,7 @@ class RobotAlarm:
|
|
|
16
16
|
def from_bytes(bytes: typing.List[int], start: int=0) -> 'RobotAlarm':
|
|
17
17
|
return RobotAlarm(robot_alarm.FromBytes(bytes, start))
|
|
18
18
|
def equals(self, other: 'RobotAlarm') -> bool:
|
|
19
|
-
return self._instance.Equals(other._instance)
|
|
19
|
+
return self._instance.Equals(other._instance if other else None)
|
|
20
20
|
def __repr__(self):
|
|
21
21
|
return self._instance.ToString()
|
|
22
22
|
@property
|
|
@@ -12,7 +12,7 @@ class RobotTaskStatus:
|
|
|
12
12
|
else:
|
|
13
13
|
self._instance = _internal
|
|
14
14
|
def equals(self, other: 'RobotTaskStatus') -> bool:
|
|
15
|
-
return self._instance.Equals(other._instance)
|
|
15
|
+
return self._instance.Equals(other._instance if other else None)
|
|
16
16
|
@staticmethod
|
|
17
17
|
def from_bytes(bytes: typing.List[int], start: int=0) -> 'RobotTaskStatus':
|
|
18
18
|
return RobotTaskStatus(robot_task_status.FromBytes(bytes, start))
|
|
@@ -16,9 +16,5 @@ class SnpxConnectParametersBase:
|
|
|
16
16
|
@port.setter
|
|
17
17
|
def port(self, value: int):
|
|
18
18
|
self._instance.Port = value
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return self._instance.DEFAULT_PORT
|
|
22
|
-
@defaul_t__port.setter
|
|
23
|
-
def defaul_t__port(self, value: int):
|
|
24
|
-
self._instance.DEFAULT_PORT = value
|
|
19
|
+
|
|
20
|
+
SnpxConnectParametersBase.defaul_t__port = SnpxConnectParametersBase(snpx_connect_parameters_base.DEFAULT_PORT)
|
|
@@ -16,5 +16,5 @@ class SnpxWritableAssignableElements3(SnpxAssignableElements2[TValue, TIndex], t
|
|
|
16
16
|
self._instance = _internal
|
|
17
17
|
def write(self, index: TIndex, value: TValue) -> None:
|
|
18
18
|
self._instance.Write(index, value)
|
|
19
|
-
def create_batch_assignment(self, indexes: typing.
|
|
19
|
+
def create_batch_assignment(self, indexes: typing.List[TIndex]) -> TAssignment:
|
|
20
20
|
return self._instance.CreateBatchAssignment(indexes)
|
|
@@ -28,7 +28,6 @@ import os
|
|
|
28
28
|
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
29
29
|
from UnderAutomation.Fanuc.Telnet.Internal import TelnetClientBase as telnet_client_base
|
|
30
30
|
|
|
31
|
-
뼁 = typing.TypeVar('뼁')
|
|
32
31
|
T = typing.TypeVar('T')
|
|
33
32
|
class TelnetClientBase:
|
|
34
33
|
def __init__(self, _internal = 0):
|
|
@@ -89,7 +88,7 @@ class TelnetClientBase:
|
|
|
89
88
|
def run(self, program: str="None") -> RunResult:
|
|
90
89
|
return RunResult(self._instance.Run(program))
|
|
91
90
|
def set_port(self, port: KCLPorts, index: int, value: int) -> SetPortResult:
|
|
92
|
-
return SetPortResult(self._instance.SetPort(port
|
|
91
|
+
return SetPortResult(self._instance.SetPort(port, index, value))
|
|
93
92
|
def set_variable(self, name: str, value: float, program: str="None") -> SetVariableResult:
|
|
94
93
|
return SetVariableResult(self._instance.SetVariable(name, value, program))
|
|
95
94
|
def get_current_pose(self) -> GetCurrentPoseResult:
|
|
@@ -97,11 +96,11 @@ class TelnetClientBase:
|
|
|
97
96
|
def get_variable(self, name: str, program: str="None") -> GetVariableResult:
|
|
98
97
|
return GetVariableResult(self._instance.GetVariable(name, program))
|
|
99
98
|
def simulate(self, port: KCLPorts, index: int, value: int) -> SimulateResult:
|
|
100
|
-
return SimulateResult(self._instance.Simulate(port
|
|
99
|
+
return SimulateResult(self._instance.Simulate(port, index, value))
|
|
101
100
|
def unsimulate_all(self) -> UnsimulateAllResult:
|
|
102
101
|
return UnsimulateAllResult(self._instance.UnsimulateAll())
|
|
103
102
|
def unsimulate(self, port: KCLPorts, index: int) -> UnsimulateResult:
|
|
104
|
-
return UnsimulateResult(self._instance.Unsimulate(port
|
|
103
|
+
return UnsimulateResult(self._instance.Unsimulate(port, index))
|
|
105
104
|
def send_custom_command(self, command: str) -> T:
|
|
106
105
|
return self._instance.SendCustomCommand(command)
|
|
107
106
|
def get_task_information(self, prog_name: str) -> TaskInformationResult:
|