UnderAutomation.Fanuc 2.3.0.0__py3-none-any.whl → 3.1.1.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.
Files changed (55) hide show
  1. underautomation/fanuc/common/cartesian_position.py +14 -0
  2. underautomation/fanuc/common/configuration.py +20 -17
  3. underautomation/fanuc/common/connect_exception.py +18 -0
  4. underautomation/fanuc/common/extended_cartesian_position.py +2 -20
  5. underautomation/fanuc/common/joints_position.py +11 -2
  6. underautomation/fanuc/common/languages.py +9 -0
  7. underautomation/fanuc/common/position.py +1 -1
  8. underautomation/fanuc/connection_parameters.py +7 -0
  9. underautomation/fanuc/fanuc_robot.py +1 -1
  10. underautomation/fanuc/ftp/diagnosis/current_position_reader.py +1 -1
  11. underautomation/fanuc/ftp/diagnosis/diagnosis_reader_2.py +3 -2
  12. underautomation/fanuc/ftp/diagnosis/features_parser.py +1 -1
  13. underautomation/fanuc/ftp/diagnosis/io_state_parser.py +1 -1
  14. underautomation/fanuc/ftp/diagnosis/program_states_parser.py +1 -1
  15. underautomation/fanuc/ftp/diagnosis/safety_status_parser.py +1 -1
  16. underautomation/fanuc/ftp/diagnosis/summary_diagnosis_reader.py +3 -2
  17. underautomation/fanuc/ftp/fanuc_file_readers.py +17 -23
  18. underautomation/fanuc/ftp/internal/file_reader_1.py +3 -2
  19. underautomation/fanuc/ftp/internal/ftp_client_base.py +7 -1
  20. underautomation/fanuc/ftp/internal/i_file_reader_1.py +3 -2
  21. underautomation/fanuc/ftp/internal/section_parser.py +1 -1
  22. underautomation/fanuc/ftp/list/error_list_reader.py +3 -2
  23. underautomation/fanuc/ftp/variables/generic_variable_type_helpers.py +2 -2
  24. underautomation/fanuc/ftp/variables/variable_reader.py +77 -112
  25. underautomation/fanuc/ftp/variables/variable_reader_1.py +3 -2
  26. underautomation/fanuc/kinematics/__init__.py +0 -0
  27. underautomation/fanuc/kinematics/arm_kinematic_models.py +88 -0
  28. underautomation/fanuc/kinematics/crx/__init__.py +0 -0
  29. underautomation/fanuc/kinematics/crx/crx_kinematics_utils.py +18 -0
  30. underautomation/fanuc/kinematics/crx10ia_l_dhm_parameters.py +31 -0
  31. underautomation/fanuc/kinematics/dh_parameters.py +77 -0
  32. underautomation/fanuc/kinematics/i_dh_parameters.py +30 -0
  33. underautomation/fanuc/kinematics/internal/__init__.py +0 -0
  34. underautomation/fanuc/kinematics/internal/arm_model_attribute.py +31 -0
  35. underautomation/fanuc/kinematics/kinematics_category.py +9 -0
  36. underautomation/fanuc/kinematics/kinematics_utils.py +24 -0
  37. underautomation/fanuc/kinematics/opw/__init__.py +0 -0
  38. underautomation/fanuc/kinematics/opw/opw_kinematics_utils.py +18 -0
  39. underautomation/fanuc/lib/UnderAutomation.Fanuc.dll +0 -0
  40. underautomation/fanuc/lib/version.txt +1 -1
  41. underautomation/fanuc/rmi/internal/rmi_client_base.py +13 -13
  42. underautomation/fanuc/rmi/internal/rmi_connect_parameters_base.py +6 -18
  43. underautomation/fanuc/snpx/internal/batch_assignment_2.py +2 -2
  44. underautomation/fanuc/snpx/internal/position_registers.py +1 -1
  45. underautomation/fanuc/snpx/internal/position_system_variables.py +1 -1
  46. underautomation/fanuc/snpx/internal/robot_alarm.py +4 -3
  47. underautomation/fanuc/snpx/internal/robot_task_status.py +4 -3
  48. underautomation/fanuc/snpx/internal/snpx_client_base.py +7 -0
  49. underautomation/fanuc/snpx/internal/snpx_connect_parameters_base.py +2 -6
  50. underautomation/fanuc/snpx/internal/snpx_writable_assignable_elements_3.py +1 -1
  51. underautomation/fanuc/telnet/internal/telnet_client_base.py +10 -4
  52. {underautomation_fanuc-2.3.0.0.dist-info → underautomation_fanuc-3.1.1.0.dist-info}/METADATA +1 -1
  53. {underautomation_fanuc-2.3.0.0.dist-info → underautomation_fanuc-3.1.1.0.dist-info}/RECORD +55 -40
  54. {underautomation_fanuc-2.3.0.0.dist-info → underautomation_fanuc-3.1.1.0.dist-info}/WHEEL +0 -0
  55. {underautomation_fanuc-2.3.0.0.dist-info → underautomation_fanuc-3.1.1.0.dist-info}/top_level.txt +0 -0
@@ -14,6 +14,20 @@ class CartesianPosition(XYZPosition):
14
14
  self._instance = _internal
15
15
  def __repr__(self):
16
16
  return self._instance.ToString()
17
+ def to_homogeneous_matrix(self) -> typing.List[float]:
18
+ return self._instance.ToHomogeneousMatrix()
19
+ @staticmethod
20
+ def from_homogeneous_matrix(R: typing.List[float]) -> 'CartesianPosition':
21
+ return CartesianPosition(None, None, None, None, None, None, None, cartesian_position.FromHomogeneousMatrix(R))
22
+ @staticmethod
23
+ def normalize_angle(angle: float) -> float:
24
+ return cartesian_position.NormalizeAngle(angle)
25
+ @staticmethod
26
+ def normalize_angles(pose: 'CartesianPosition') -> None:
27
+ cartesian_position.NormalizeAngles(pose._instance if pose else None)
28
+ @staticmethod
29
+ def is_near(a: 'CartesianPosition', b: 'CartesianPosition', mmTolerance: float, degreesTolerance: float) -> bool:
30
+ return cartesian_position.IsNear(a._instance if a else None, b._instance if b else None, mmTolerance, degreesTolerance)
17
31
  @property
18
32
  def w(self) -> float:
19
33
  return self._instance.W
@@ -19,6 +19,9 @@ class Configuration:
19
19
  def from_string(self, value: str) -> None:
20
20
  self._instance.FromString(value)
21
21
  @property
22
+ def is_unknown(self) -> bool:
23
+ return self._instance.IsUnknown
24
+ @property
22
25
  def wrist_flip(self) -> WristFlip:
23
26
  return WristFlip(self._instance.WristFlip)
24
27
  @wrist_flip.setter
@@ -43,20 +46,20 @@ class Configuration:
43
46
  def arm_front_back(self, value: ArmFrontBack):
44
47
  self._instance.ArmFrontBack = value
45
48
  @property
46
- def turn_axis1(self) -> int:
47
- return self._instance.TurnAxis1
48
- @turn_axis1.setter
49
- def turn_axis1(self, value: int):
50
- self._instance.TurnAxis1 = value
51
- @property
52
- def turn_axis2(self) -> int:
53
- return self._instance.TurnAxis2
54
- @turn_axis2.setter
55
- def turn_axis2(self, value: int):
56
- self._instance.TurnAxis2 = value
57
- @property
58
- def turn_axis3(self) -> int:
59
- return self._instance.TurnAxis3
60
- @turn_axis3.setter
61
- def turn_axis3(self, value: int):
62
- self._instance.TurnAxis3 = value
49
+ def turn_axis4(self) -> int:
50
+ return self._instance.TurnAxis4
51
+ @turn_axis4.setter
52
+ def turn_axis4(self, value: int):
53
+ self._instance.TurnAxis4 = value
54
+ @property
55
+ def turn_axis5(self) -> int:
56
+ return self._instance.TurnAxis5
57
+ @turn_axis5.setter
58
+ def turn_axis5(self, value: int):
59
+ self._instance.TurnAxis5 = value
60
+ @property
61
+ def turn_axis6(self) -> int:
62
+ return self._instance.TurnAxis6
63
+ @turn_axis6.setter
64
+ def turn_axis6(self, value: int):
65
+ self._instance.TurnAxis6 = value
@@ -0,0 +1,18 @@
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.Common import ConnectException as connect_exception
6
+
7
+ class ConnectException:
8
+ def __init__(self, _internal = 0):
9
+ if(_internal == 0):
10
+ self._instance = connect_exception()
11
+ else:
12
+ self._instance = _internal
13
+ @property
14
+ def service(self) -> str:
15
+ return self._instance.Service
16
+ @property
17
+ def robot_ip(self) -> str:
18
+ return self._instance.RobotIp
@@ -6,9 +6,9 @@ clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..",
6
6
  from UnderAutomation.Fanuc.Common import ExtendedCartesianPosition as extended_cartesian_position
7
7
 
8
8
  class ExtendedCartesianPosition(CartesianPosition):
9
- def __init__(self, x: float, y: float, z: float, w: float, p: float, r: float, e1: float, e2: float, e3: float, t4: int, t5: int, t6: int, _internal = 0):
9
+ def __init__(self, x: float, y: float, z: float, w: float, p: float, r: float, e1: float, e2: float, e3: float, _internal = 0):
10
10
  if(_internal == 0):
11
- self._instance = extended_cartesian_position(x, y, z, w, p, r, e1, e2, e3, t4, t5, t6)
11
+ self._instance = extended_cartesian_position(x, y, z, w, p, r, e1, e2, e3)
12
12
  else:
13
13
  self._instance = _internal
14
14
  @property
@@ -29,21 +29,3 @@ class ExtendedCartesianPosition(CartesianPosition):
29
29
  @e3.setter
30
30
  def e3(self, value: float):
31
31
  self._instance.E3 = value
32
- @property
33
- def t4(self) -> int:
34
- return self._instance.T4
35
- @t4.setter
36
- def t4(self, value: int):
37
- self._instance.T4 = value
38
- @property
39
- def t5(self) -> int:
40
- return self._instance.T5
41
- @t5.setter
42
- def t5(self, value: int):
43
- self._instance.T5 = value
44
- @property
45
- def t6(self) -> int:
46
- return self._instance.T6
47
- @t6.setter
48
- def t6(self, value: int):
49
- self._instance.T6 = value
@@ -5,13 +5,22 @@ clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..",
5
5
  from UnderAutomation.Fanuc.Common import JointsPosition as joints_position
6
6
 
7
7
  class JointsPosition:
8
- def __init__(self, j1: float, j2: float, j3: float, j4: float, j5: float, j6: float, j7: float, j8: float, j9: float, _internal = 0):
8
+ def __init__(self, j1Deg: float, j2Deg: float, j3Deg: float, j4Deg: float, j5Deg: float, j6Deg: float, j7Deg: float, j8Deg: float, j9Deg: float, _internal = 0):
9
9
  if(_internal == 0):
10
- self._instance = joints_position(j1, j2, j3, j4, j5, j6, j7, j8, j9)
10
+ self._instance = joints_position(j1Deg, j2Deg, j3Deg, j4Deg, j5Deg, j6Deg, j7Deg, j8Deg, j9Deg)
11
11
  else:
12
12
  self._instance = _internal
13
13
  def __repr__(self):
14
14
  return self._instance.ToString()
15
+ @staticmethod
16
+ def is_near(j1: 'JointsPosition', j2: 'JointsPosition', degreesTolerance: float) -> bool:
17
+ return joints_position.IsNear(j1._instance if j1 else None, j2._instance if j2 else None, degreesTolerance)
18
+ @property
19
+ def item(self) -> float:
20
+ return self._instance.Item
21
+ @item.setter
22
+ def item(self, value: float):
23
+ self._instance.Item = value
15
24
  @property
16
25
  def values(self) -> typing.List[float]:
17
26
  return self._instance.Values
@@ -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.Common import Languages as languages
5
+
6
+ class Languages(int):
7
+ English = languages.English
8
+ Japanese = languages.Japanese
9
+ Chinese = languages.Chinese
@@ -32,7 +32,7 @@ class Position:
32
32
  self._instance.JointsPosition = value
33
33
  @property
34
34
  def cartesian_position(self) -> ExtendedCartesianPosition:
35
- return ExtendedCartesianPosition(None, None, None, None, None, None, None, None, None, None, None, None, self._instance.CartesianPosition)
35
+ return ExtendedCartesianPosition(None, None, None, None, None, None, None, None, None, self._instance.CartesianPosition)
36
36
  @cartesian_position.setter
37
37
  def cartesian_position(self, value: ExtendedCartesianPosition):
38
38
  self._instance.CartesianPosition = value
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ from underautomation.fanuc.common.languages import Languages
2
3
  from underautomation.fanuc.common.telnet_connect_parameters import TelnetConnectParameters
3
4
  from underautomation.fanuc.common.ftp_connect_parameters import FtpConnectParameters
4
5
  from underautomation.fanuc.common.snpx_connect_parameters import SnpxConnectParameters
@@ -27,6 +28,12 @@ class ConnectionParameters:
27
28
  def ping_before_connect(self, value: bool):
28
29
  self._instance.PingBeforeConnect = value
29
30
  @property
31
+ def language(self) -> Languages:
32
+ return Languages(self._instance.Language)
33
+ @language.setter
34
+ def language(self, value: Languages):
35
+ self._instance.Language = value
36
+ @property
30
37
  def telnet(self) -> TelnetConnectParameters:
31
38
  return TelnetConnectParameters(self._instance.Telnet)
32
39
  @telnet.setter
@@ -17,7 +17,7 @@ class FanucRobot:
17
17
  else:
18
18
  self._instance = _internal
19
19
  def connect(self, parameters: ConnectionParameters) -> None:
20
- self._instance.Connect(parameters._instance)
20
+ self._instance.Connect(parameters._instance if parameters else None)
21
21
  def disconnect(self) -> None:
22
22
  self._instance.Disconnect()
23
23
  @staticmethod
@@ -17,5 +17,5 @@ class CurrentPositionReader(SectionParser1[CurrentPosition]):
17
17
  def parse_line(self, line: str) -> None:
18
18
  self._instance.ParseLine(line)
19
19
  @property
20
- def section_start(self) -> str:
20
+ def section_start(self) -> typing.List[str]:
21
21
  return self._instance.SectionStart
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ from underautomation.fanuc.common.languages import Languages
2
3
  from underautomation.fanuc.ftp.internal.file_reader_1 import FileReader1
3
4
  import clr
4
5
  import os
@@ -13,5 +14,5 @@ class DiagnosisReader2(FileReader1[T], typing.Generic[T, U]):
13
14
  self._instance = diagnosis_reader_2()
14
15
  else:
15
16
  self._instance = _internal
16
- def read_file(self, fileStream: typing.Any, fileName: str="None") -> T:
17
- return self._instance.ReadFile(fileStream, fileName)
17
+ def read_file(self, fileStream: typing.Any, language: Languages, fileName: str="None") -> T:
18
+ return self._instance.ReadFile(fileStream, language, fileName)
@@ -17,5 +17,5 @@ class FeaturesParser(SectionParser1[Features]):
17
17
  def after_parse(self) -> None:
18
18
  self._instance.AfterParse()
19
19
  @property
20
- def section_start(self) -> str:
20
+ def section_start(self) -> typing.List[str]:
21
21
  return self._instance.SectionStart
@@ -17,5 +17,5 @@ class IOStateParser(SectionParser1[IOState]):
17
17
  def after_parse(self) -> None:
18
18
  self._instance.AfterParse()
19
19
  @property
20
- def section_start(self) -> str:
20
+ def section_start(self) -> typing.List[str]:
21
21
  return self._instance.SectionStart
@@ -17,5 +17,5 @@ class ProgramStatesParser(SectionParser1[ProgramStates]):
17
17
  def after_parse(self) -> None:
18
18
  self._instance.AfterParse()
19
19
  @property
20
- def section_start(self) -> str:
20
+ def section_start(self) -> typing.List[str]:
21
21
  return self._instance.SectionStart
@@ -15,5 +15,5 @@ class SafetyStatusParser(SectionParser1[SafetyStatus]):
15
15
  def parse_line(self, line: str, start: str, setValue: typing.Any) -> None:
16
16
  self._instance.ParseLine(line, start, setValue)
17
17
  @property
18
- def section_start(self) -> str:
18
+ def section_start(self) -> typing.List[str]:
19
19
  return self._instance.SectionStart
@@ -1,5 +1,6 @@
1
1
  import typing
2
2
  from underautomation.fanuc.ftp.diagnosis.summary_diagnosis import SummaryDiagnosis
3
+ from underautomation.fanuc.common.languages import Languages
3
4
  from underautomation.fanuc.ftp.internal.file_reader_1 import FileReader1
4
5
  import clr
5
6
  import os
@@ -12,5 +13,5 @@ class SummaryDiagnosisReader(FileReader1[SummaryDiagnosis]):
12
13
  self._instance = summary_diagnosis_reader()
13
14
  else:
14
15
  self._instance = _internal
15
- def read_file(self, fileStream: typing.Any, fileName: str) -> SummaryDiagnosis:
16
- return SummaryDiagnosis(self._instance.ReadFile(fileStream, fileName))
16
+ def read_file(self, fileStream: typing.Any, language: Languages, fileName: str) -> SummaryDiagnosis:
17
+ return SummaryDiagnosis(self._instance.ReadFile(fileStream, language, fileName))
@@ -1,5 +1,6 @@
1
1
  import typing
2
2
  from underautomation.fanuc.ftp.internal.i_fanuc_content import IFanucContent
3
+ from underautomation.fanuc.common.languages import Languages
3
4
  from underautomation.fanuc.ftp.internal.i_file_reader_1 import IFileReader1
4
5
  from underautomation.fanuc.ftp.variables.variable_reader import VariableReader
5
6
  from underautomation.fanuc.ftp.list.error_list_reader import ErrorListReader
@@ -25,29 +26,22 @@ class FanucFileReaders:
25
26
  else:
26
27
  self._instance = _internal
27
28
  @staticmethod
28
- def read_file(fileStream: typing.Any, fileName: str) -> IFanucContent:
29
- return IFanucContent(fanuc_file_readers.ReadFile(fileStream, fileName))
29
+ def read_file(fileStream: typing.Any, fileName: str, language: Languages) -> IFanucContent:
30
+ return IFanucContent(fanuc_file_readers.ReadFile(fileStream, fileName, language))
30
31
  @property
31
32
  def readers(self) -> typing.List[IFileReader1]:
32
33
  return [IFileReader1(x) for x in self._instance.Readers]
33
- @property
34
- def variable_reader(self) -> VariableReader:
35
- return VariableReader(self._instance.VariableReader)
36
- @property
37
- def error_list_reader(self) -> ErrorListReader:
38
- return ErrorListReader(self._instance.ErrorListReader)
39
- @property
40
- def summary_diagnostic_reader(self) -> SummaryDiagnosisReader:
41
- return SummaryDiagnosisReader(self._instance.SummaryDiagnosticReader)
42
- @property
43
- def current_position_reader(self) -> DiagnosisReader2[CurrentPosition, CurrentPositionReader]:
44
- return DiagnosisReader2[CurrentPosition, CurrentPositionReader](self._instance.CurrentPositionReader)
45
- @property
46
- def io_state_reader(self) -> DiagnosisReader2[IOState, IOStateParser]:
47
- return DiagnosisReader2[IOState, IOStateParser](self._instance.IOStateReader)
48
- @property
49
- def safety_status_reader(self) -> DiagnosisReader2[SafetyStatus, SafetyStatusParser]:
50
- return DiagnosisReader2[SafetyStatus, SafetyStatusParser](self._instance.SafetyStatusReader)
51
- @property
52
- def program_states(self) -> DiagnosisReader2[ProgramStates, ProgramStatesParser]:
53
- return DiagnosisReader2[ProgramStates, ProgramStatesParser](self._instance.ProgramStates)
34
+
35
+ FanucFileReaders.variable_reader = FanucFileReaders(fanuc_file_readers.VariableReader)
36
+
37
+ FanucFileReaders.error_list_reader = FanucFileReaders(fanuc_file_readers.ErrorListReader)
38
+
39
+ FanucFileReaders.summary_diagnostic_reader = FanucFileReaders(fanuc_file_readers.SummaryDiagnosticReader)
40
+
41
+ FanucFileReaders.current_position_reader = FanucFileReaders(fanuc_file_readers.CurrentPositionReader)
42
+
43
+ FanucFileReaders.io_state_reader = FanucFileReaders(fanuc_file_readers.IOStateReader)
44
+
45
+ FanucFileReaders.safety_status_reader = FanucFileReaders(fanuc_file_readers.SafetyStatusReader)
46
+
47
+ FanucFileReaders.program_states = FanucFileReaders(fanuc_file_readers.ProgramStates)
@@ -1,6 +1,7 @@
1
1
  import typing
2
2
  from underautomation.fanuc.ftp.internal.i_file_reader_1 import IFileReader1
3
3
  from underautomation.fanuc.ftp.internal.i_file_reader import IFileReader
4
+ from underautomation.fanuc.common.languages import Languages
4
5
  from underautomation.fanuc.ftp.internal.file_reader import FileReader
5
6
  import clr
6
7
  import os
@@ -14,5 +15,5 @@ class FileReader1(FileReader, IFileReader1[T], IFileReader, typing.Generic[T]):
14
15
  self._instance = file_reader_1()
15
16
  else:
16
17
  self._instance = _internal
17
- def read_file(self, fileStream: typing.Any, fileName: str="None") -> T:
18
- return self._instance.ReadFile(fileStream, fileName)
18
+ def read_file(self, fileStream: typing.Any, language: Languages, fileName: str="None") -> T:
19
+ return self._instance.ReadFile(fileStream, language, fileName)
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ from underautomation.fanuc.common.languages import Languages
2
3
  from underautomation.fanuc.ftp.internal.ftp_direct_file_handling import FtpDirectFileHandling
3
4
  from underautomation.fanuc.ftp.internal.ftp_known_variable_files import FtpKnownVariableFiles
4
5
  from underautomation.fanuc.ftp.diagnosis.summary_diagnosis import SummaryDiagnosis
@@ -15,7 +16,6 @@ import os
15
16
  clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
16
17
  from UnderAutomation.Fanuc.Ftp.Internal import FtpClientBase as ftp_client_base
17
18
 
18
- 렫 = typing.TypeVar('렫')
19
19
  class FtpClientBase:
20
20
  def __init__(self, _internal = 0):
21
21
  if(_internal == 0):
@@ -46,6 +46,12 @@ class FtpClientBase:
46
46
  def ip(self) -> str:
47
47
  return self._instance.IP
48
48
  @property
49
+ def language(self) -> Languages:
50
+ return Languages(self._instance.Language)
51
+ @language.setter
52
+ def language(self, value: Languages):
53
+ self._instance.Language = value
54
+ @property
49
55
  def connected(self) -> bool:
50
56
  return self._instance.Connected
51
57
  @property
@@ -1,5 +1,6 @@
1
1
  import typing
2
2
  from underautomation.fanuc.ftp.internal.i_file_reader import IFileReader
3
+ from underautomation.fanuc.common.languages import Languages
3
4
  import clr
4
5
  import os
5
6
  clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
@@ -12,5 +13,5 @@ class IFileReader1(IFileReader, typing.Generic[T]):
12
13
  self._instance = i_file_reader_1()
13
14
  else:
14
15
  self._instance = _internal
15
- def read_file(self, fileStream: typing.Any, fileName: str) -> T:
16
- return self._instance.ReadFile(fileStream, fileName)
16
+ def read_file(self, fileStream: typing.Any, language: Languages, fileName: str) -> T:
17
+ return self._instance.ReadFile(fileStream, language, fileName)
@@ -17,7 +17,7 @@ class SectionParser:
17
17
  def after_parse(self) -> None:
18
18
  self._instance.AfterParse()
19
19
  @property
20
- def section_start(self) -> str:
20
+ def section_start(self) -> typing.List[str]:
21
21
  return self._instance.SectionStart
22
22
  @property
23
23
  def end_of_file(self) -> bool:
@@ -1,5 +1,6 @@
1
1
  import typing
2
2
  from underautomation.fanuc.ftp.list.error_list import ErrorList
3
+ from underautomation.fanuc.common.languages import Languages
3
4
  from underautomation.fanuc.ftp.internal.file_reader_1 import FileReader1
4
5
  import clr
5
6
  import os
@@ -12,5 +13,5 @@ class ErrorListReader(FileReader1[ErrorList]):
12
13
  self._instance = error_list_reader()
13
14
  else:
14
15
  self._instance = _internal
15
- def read_file(self, fileStream: typing.Any, fileName: str="None") -> ErrorList:
16
- return ErrorList(self._instance.ReadFile(fileStream, fileName))
16
+ def read_file(self, fileStream: typing.Any, language: Languages, fileName: str="None") -> ErrorList:
17
+ return ErrorList(self._instance.ReadFile(fileStream, language, fileName))
@@ -13,7 +13,7 @@ class GenericVariableTypeHelpers:
13
13
  self._instance = _internal
14
14
  @staticmethod
15
15
  def get_ancestors(element: IGenericVariableType) -> typing.List[IGenericVariableType]:
16
- return [IGenericVariableType(x) for x in generic_variable_type_helpers.GetAncestors(element._instance)]
16
+ return [IGenericVariableType(x) for x in generic_variable_type_helpers.GetAncestors(element._instance if element else None)]
17
17
  @staticmethod
18
18
  def get_field(element: IGenericVariableType, name: str) -> IGenericVariableType:
19
- return IGenericVariableType(generic_variable_type_helpers.GetField(element._instance, name))
19
+ return IGenericVariableType(generic_variable_type_helpers.GetField(element._instance if element else None, name))
@@ -1,5 +1,6 @@
1
1
  import typing
2
2
  from underautomation.fanuc.ftp.variables.generic_variable_file import GenericVariableFile
3
+ from underautomation.fanuc.common.languages import Languages
3
4
  from underautomation.fanuc.ftp.variables.generic_variable import GenericVariable
4
5
  from underautomation.fanuc.ftp.variables.variable_reader_1 import VariableReader1
5
6
  from underautomation.fanuc.ftp.internal.file_reader_1 import FileReader1
@@ -43,123 +44,87 @@ import os
43
44
  clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
44
45
  from UnderAutomation.Fanuc.Ftp.Variables import VariableReader as variable_reader
45
46
 
46
- 렫 = typing.TypeVar('렫')
47
47
  class VariableReader(FileReader1[GenericVariableFile]):
48
48
  def __init__(self, _internal = 0):
49
49
  if(_internal == 0):
50
50
  self._instance = variable_reader()
51
51
  else:
52
52
  self._instance = _internal
53
- def read_file(self, fileStream: typing.Any, fileName: str) -> GenericVariableFile:
54
- return GenericVariableFile(self._instance.ReadFile(fileStream, fileName))
53
+ def read_file(self, fileStream: typing.Any, language: Languages, fileName: str) -> GenericVariableFile:
54
+ return GenericVariableFile(self._instance.ReadFile(fileStream, language, fileName))
55
55
  @staticmethod
56
- def read_variable_file(fileStream: typing.Any, fileName: str) -> GenericVariableFile:
57
- return GenericVariableFile(variable_reader.ReadVariableFile(fileStream, fileName))
56
+ def read_variable_file(fileStream: typing.Any, fileName: str, language: Languages) -> GenericVariableFile:
57
+ return GenericVariableFile(variable_reader.ReadVariableFile(fileStream, fileName, language))
58
58
  @staticmethod
59
- def parse_variable_file(stream: typing.Any) -> typing.List[GenericVariable]:
60
- return [GenericVariable(x) for x in variable_reader.ParseVariableFile(stream)]
61
- @property
62
- def aavmmain_file(self) -> VariableReader1[AavmmainFile]:
63
- return VariableReader1[AavmmainFile](self._instance.AavmmainFile)
64
- @property
65
- def bicsetup_file(self) -> VariableReader1[BicsetupFile]:
66
- return VariableReader1[BicsetupFile](self._instance.BicsetupFile)
67
- @property
68
- def cbparam_file(self) -> VariableReader1[CbparamFile]:
69
- return VariableReader1[CbparamFile](self._instance.CbparamFile)
70
- @property
71
- def cellio_file(self) -> VariableReader1[CellioFile]:
72
- return VariableReader1[CellioFile](self._instance.CellioFile)
73
- @property
74
- def comset_file(self) -> VariableReader1[ComsetFile]:
75
- return VariableReader1[ComsetFile](self._instance.ComsetFile)
76
- @property
77
- def diocfgsv_file(self) -> VariableReader1[DiocfgsvFile]:
78
- return VariableReader1[DiocfgsvFile](self._instance.DiocfgsvFile)
79
- @property
80
- def gemdata_file(self) -> VariableReader1[GemdataFile]:
81
- return VariableReader1[GemdataFile](self._instance.GemdataFile)
82
- @property
83
- def htcolrec_file(self) -> VariableReader1[HtcolrecFile]:
84
- return VariableReader1[HtcolrecFile](self._instance.HtcolrecFile)
85
- @property
86
- def httpkcl_file(self) -> VariableReader1[HttpkclFile]:
87
- return VariableReader1[HttpkclFile](self._instance.HttpkclFile)
88
- @property
89
- def irc_counter_file(self) -> VariableReader1[IrcCounterFile]:
90
- return VariableReader1[IrcCounterFile](self._instance.IrcCounterFile)
91
- @property
92
- def irc_msg_file(self) -> VariableReader1[IrcMsgFile]:
93
- return VariableReader1[IrcMsgFile](self._instance.IrcMsgFile)
94
- @property
95
- def irc_status_file(self) -> VariableReader1[IrcStatusFile]:
96
- return VariableReader1[IrcStatusFile](self._instance.IrcStatusFile)
97
- @property
98
- def irc_stlabel_file(self) -> VariableReader1[IrcStlabelFile]:
99
- return VariableReader1[IrcStlabelFile](self._instance.IrcStlabelFile)
100
- @property
101
- def klaction_file(self) -> VariableReader1[KlactionFile]:
102
- return VariableReader1[KlactionFile](self._instance.KlactionFile)
103
- @property
104
- def mixlogic_file(self) -> VariableReader1[MixlogicFile]:
105
- return VariableReader1[MixlogicFile](self._instance.MixlogicFile)
106
- @property
107
- def mtparam_file(self) -> VariableReader1[MtparamFile]:
108
- return VariableReader1[MtparamFile](self._instance.MtparamFile)
109
- @property
110
- def numreg_file(self) -> VariableReader1[NumregFile]:
111
- return VariableReader1[NumregFile](self._instance.NumregFile)
112
- @property
113
- def palreg_file(self) -> VariableReader1[PalregFile]:
114
- return VariableReader1[PalregFile](self._instance.PalregFile)
115
- @property
116
- def posreg_file(self) -> VariableReader1[PosregFile]:
117
- return VariableReader1[PosregFile](self._instance.PosregFile)
118
- @property
119
- def strreg_file(self) -> VariableReader1[StrregFile]:
120
- return VariableReader1[StrregFile](self._instance.StrregFile)
121
- @property
122
- def swiupdt_file(self) -> VariableReader1[SwiupdtFile]:
123
- return VariableReader1[SwiupdtFile](self._instance.SwiupdtFile)
124
- @property
125
- def sycldint_file(self) -> VariableReader1[SycldintFile]:
126
- return VariableReader1[SycldintFile](self._instance.SycldintFile)
127
- @property
128
- def symotn_file(self) -> VariableReader1[SymotnFile]:
129
- return VariableReader1[SymotnFile](self._instance.SymotnFile)
130
- @property
131
- def synosave_file(self) -> VariableReader1[SynosaveFile]:
132
- return VariableReader1[SynosaveFile](self._instance.SynosaveFile)
133
- @property
134
- def sysframe_file(self) -> VariableReader1[SysframeFile]:
135
- return VariableReader1[SysframeFile](self._instance.SysframeFile)
136
- @property
137
- def sysfsac_file(self) -> VariableReader1[SysfsacFile]:
138
- return VariableReader1[SysfsacFile](self._instance.SysfsacFile)
139
- @property
140
- def syshost_file(self) -> VariableReader1[SyshostFile]:
141
- return VariableReader1[SyshostFile](self._instance.SyshostFile)
142
- @property
143
- def sysmacro_file(self) -> VariableReader1[SysmacroFile]:
144
- return VariableReader1[SysmacroFile](self._instance.SysmacroFile)
145
- @property
146
- def sysmast_file(self) -> VariableReader1[SysmastFile]:
147
- return VariableReader1[SysmastFile](self._instance.SysmastFile)
148
- @property
149
- def syspass_file(self) -> VariableReader1[SyspassFile]:
150
- return VariableReader1[SyspassFile](self._instance.SyspassFile)
151
- @property
152
- def sysservo_file(self) -> VariableReader1[SysservoFile]:
153
- return VariableReader1[SysservoFile](self._instance.SysservoFile)
154
- @property
155
- def system_file(self) -> VariableReader1[SystemFile]:
156
- return VariableReader1[SystemFile](self._instance.SystemFile)
157
- @property
158
- def sysuif_file(self) -> VariableReader1[SysuifFile]:
159
- return VariableReader1[SysuifFile](self._instance.SysuifFile)
160
- @property
161
- def tpsnap_file(self) -> VariableReader1[TpsnapFile]:
162
- return VariableReader1[TpsnapFile](self._instance.TpsnapFile)
163
- @property
164
- def vcmrinit_file(self) -> VariableReader1[VcmrinitFile]:
165
- return VariableReader1[VcmrinitFile](self._instance.VcmrinitFile)
59
+ def parse_variable_file(stream: typing.Any, language: Languages) -> typing.List[GenericVariable]:
60
+ return [GenericVariable(x) for x in variable_reader.ParseVariableFile(stream, language)]
61
+
62
+ VariableReader.aavmmain_file = VariableReader(variable_reader.AavmmainFile)
63
+
64
+ VariableReader.bicsetup_file = VariableReader(variable_reader.BicsetupFile)
65
+
66
+ VariableReader.cbparam_file = VariableReader(variable_reader.CbparamFile)
67
+
68
+ VariableReader.cellio_file = VariableReader(variable_reader.CellioFile)
69
+
70
+ VariableReader.comset_file = VariableReader(variable_reader.ComsetFile)
71
+
72
+ VariableReader.diocfgsv_file = VariableReader(variable_reader.DiocfgsvFile)
73
+
74
+ VariableReader.gemdata_file = VariableReader(variable_reader.GemdataFile)
75
+
76
+ VariableReader.htcolrec_file = VariableReader(variable_reader.HtcolrecFile)
77
+
78
+ VariableReader.httpkcl_file = VariableReader(variable_reader.HttpkclFile)
79
+
80
+ VariableReader.irc_counter_file = VariableReader(variable_reader.IrcCounterFile)
81
+
82
+ VariableReader.irc_msg_file = VariableReader(variable_reader.IrcMsgFile)
83
+
84
+ VariableReader.irc_status_file = VariableReader(variable_reader.IrcStatusFile)
85
+
86
+ VariableReader.irc_stlabel_file = VariableReader(variable_reader.IrcStlabelFile)
87
+
88
+ VariableReader.klaction_file = VariableReader(variable_reader.KlactionFile)
89
+
90
+ VariableReader.mixlogic_file = VariableReader(variable_reader.MixlogicFile)
91
+
92
+ VariableReader.mtparam_file = VariableReader(variable_reader.MtparamFile)
93
+
94
+ VariableReader.numreg_file = VariableReader(variable_reader.NumregFile)
95
+
96
+ VariableReader.palreg_file = VariableReader(variable_reader.PalregFile)
97
+
98
+ VariableReader.posreg_file = VariableReader(variable_reader.PosregFile)
99
+
100
+ VariableReader.strreg_file = VariableReader(variable_reader.StrregFile)
101
+
102
+ VariableReader.swiupdt_file = VariableReader(variable_reader.SwiupdtFile)
103
+
104
+ VariableReader.sycldint_file = VariableReader(variable_reader.SycldintFile)
105
+
106
+ VariableReader.symotn_file = VariableReader(variable_reader.SymotnFile)
107
+
108
+ VariableReader.synosave_file = VariableReader(variable_reader.SynosaveFile)
109
+
110
+ VariableReader.sysframe_file = VariableReader(variable_reader.SysframeFile)
111
+
112
+ VariableReader.sysfsac_file = VariableReader(variable_reader.SysfsacFile)
113
+
114
+ VariableReader.syshost_file = VariableReader(variable_reader.SyshostFile)
115
+
116
+ VariableReader.sysmacro_file = VariableReader(variable_reader.SysmacroFile)
117
+
118
+ VariableReader.sysmast_file = VariableReader(variable_reader.SysmastFile)
119
+
120
+ VariableReader.syspass_file = VariableReader(variable_reader.SyspassFile)
121
+
122
+ VariableReader.sysservo_file = VariableReader(variable_reader.SysservoFile)
123
+
124
+ VariableReader.system_file = VariableReader(variable_reader.SystemFile)
125
+
126
+ VariableReader.sysuif_file = VariableReader(variable_reader.SysuifFile)
127
+
128
+ VariableReader.tpsnap_file = VariableReader(variable_reader.TpsnapFile)
129
+
130
+ VariableReader.vcmrinit_file = VariableReader(variable_reader.VcmrinitFile)
@@ -1,4 +1,5 @@
1
1
  import typing
2
+ from underautomation.fanuc.common.languages import Languages
2
3
  from underautomation.fanuc.ftp.internal.file_reader_1 import FileReader1
3
4
  import clr
4
5
  import os
@@ -12,5 +13,5 @@ class VariableReader1(FileReader1[T], typing.Generic[T]):
12
13
  self._instance = variable_reader_1()
13
14
  else:
14
15
  self._instance = _internal
15
- def read_file(self, fileStream: typing.Any, fileName: str) -> T:
16
- return self._instance.ReadFile(fileStream, fileName)
16
+ def read_file(self, fileStream: typing.Any, language: Languages, fileName: str) -> T:
17
+ return self._instance.ReadFile(fileStream, language, fileName)