UnderAutomation.Yaskawa 1.3.0.0__tar.gz

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 (65) hide show
  1. underautomation_yaskawa-1.3.0.0/PKG-INFO +187 -0
  2. underautomation_yaskawa-1.3.0.0/README.md +165 -0
  3. underautomation_yaskawa-1.3.0.0/UnderAutomation.Yaskawa.egg-info/PKG-INFO +187 -0
  4. underautomation_yaskawa-1.3.0.0/UnderAutomation.Yaskawa.egg-info/SOURCES.txt +119 -0
  5. underautomation_yaskawa-1.3.0.0/UnderAutomation.Yaskawa.egg-info/dependency_links.txt +1 -0
  6. underautomation_yaskawa-1.3.0.0/UnderAutomation.Yaskawa.egg-info/requires.txt +1 -0
  7. underautomation_yaskawa-1.3.0.0/UnderAutomation.Yaskawa.egg-info/top_level.txt +1 -0
  8. underautomation_yaskawa-1.3.0.0/setup.cfg +4 -0
  9. underautomation_yaskawa-1.3.0.0/setup.py +37 -0
  10. underautomation_yaskawa-1.3.0.0/underautomation/__init__.py +0 -0
  11. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/__init__.py +0 -0
  12. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/common/__init__.py +0 -0
  13. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/common/high_speed_e_server_connect_parameters.py +13 -0
  14. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/connect_parameters.py +31 -0
  15. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/__init__.py +0 -0
  16. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/alarm_reset_type.py +8 -0
  17. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/arm_flip_information.py +8 -0
  18. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/axis_flip_information.py +8 -0
  19. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/control_group.py +11 -0
  20. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/flip_no_flip_information.py +8 -0
  21. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/get_file_progress.py +30 -0
  22. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/high_speed_e_server_client.py +13 -0
  23. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/internal/__init__.py +0 -0
  24. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_client_base.py +141 -0
  25. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_client_internal.py +13 -0
  26. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_connect_parameters_base.py +42 -0
  27. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/invalid_data_answer_exception.py +24 -0
  28. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/load_file_progress.py +36 -0
  29. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/management_time_type.py +17 -0
  30. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/on_off_command_type.py +9 -0
  31. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/orientation_flip_information.py +8 -0
  32. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/position_command_classification.py +9 -0
  33. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/position_command_operation_coordinate.py +10 -0
  34. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/position_command_type.py +9 -0
  35. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/regarded_reverse_position_specified.py +8 -0
  36. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_alarm_data.py +43 -0
  37. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_alarm_data_extended.py +31 -0
  38. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_axis_raw_data_1.py +53 -0
  39. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_base_position_data.py +21 -0
  40. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_base_position_type.py +8 -0
  41. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_control_group.py +28 -0
  42. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_data.py +12 -0
  43. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_data_header.py +33 -0
  44. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_file_content_data.py +34 -0
  45. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_file_list_data.py +26 -0
  46. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_job_data.py +37 -0
  47. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_management_time_data.py +25 -0
  48. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_plural_data_1.py +20 -0
  49. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_position_cartesian_data.py +75 -0
  50. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_position_data_1.py +41 -0
  51. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_position_data_type.py +11 -0
  52. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_posture.py +77 -0
  53. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_recent_alarm.py +10 -0
  54. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_status_data.py +97 -0
  55. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_system_information.py +33 -0
  56. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_system_type.py +9 -0
  57. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/robot_system_type_data.py +25 -0
  58. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/high_speed_e_server/switching_commands.py +9 -0
  59. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/lib/UnderAutomation.Yaskawa.dll +0 -0
  60. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/lib/version.txt +1 -0
  61. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/license/__init__.py +0 -0
  62. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/license/invalid_license_exception.py +19 -0
  63. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/license/license_info.py +78 -0
  64. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/license/license_state.py +12 -0
  65. underautomation_yaskawa-1.3.0.0/underautomation/yaskawa/yaskawa_robot.py +26 -0
@@ -0,0 +1,187 @@
1
+ Metadata-Version: 2.4
2
+ Name: UnderAutomation.Yaskawa
3
+ Version: 1.3.0.0
4
+ Summary: Quickly create applications that communicate with your Yaskawa robots
5
+ Home-page: https://underautomation.com/yaskawa
6
+ Author: UnderAutomation
7
+ Author-email: support@underautomation.com
8
+ Project-URL: Documentation, https://underautomation.com/yaskawa/documentation/get-started-python
9
+ Project-URL: Source, https://github.com/underautomation/Yaskawa.py
10
+ Requires-Python: >=3.7
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: pythonnet==3.0.5
13
+ Dynamic: author
14
+ Dynamic: author-email
15
+ Dynamic: description
16
+ Dynamic: description-content-type
17
+ Dynamic: home-page
18
+ Dynamic: project-url
19
+ Dynamic: requires-dist
20
+ Dynamic: requires-python
21
+ Dynamic: summary
22
+
23
+ # Yaskawa Communication SDK for Python
24
+
25
+ [![UnderAutomation Yaskawa communication SDK](https://raw.githubusercontent.com/underautomation/yaskawa.NET/refs/heads/main/.github/assets/banner.png)](https://underautomation.com)
26
+
27
+ [![Python 3.7+](https://img.shields.io/badge/Language-Python-blue)](#)
28
+ [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-blue)](#)
29
+ [![License](https://img.shields.io/badge/License-Commercial-red)](https://underautomation.com/yaskawa/eula)
30
+
31
+ ### 🤖 Communicate effortlessly with Yaskawa robots using Python
32
+
33
+ The **Yaskawa SDK for Python** enables real-time control and data exchange with Yaskawa Motoman robots via the **High-Speed Ethernet Server (HSES)** protocol.
34
+
35
+ Ideal for automation, research, and integration projects, it provides high-speed UDP communication, motion control, robot monitoring, job handling, and more.
36
+
37
+ 🔗 **More Info:** [https://underautomation.com/yaskawa](https://underautomation.com/yaskawa)
38
+ 🔗 Also available in **[🟦 .NET](https://github.com/underautomation/yaskawa.NET)** and **[🟨 LabVIEW](https://github.com/underautomation/yaskawa.vi)**
39
+
40
+ ---
41
+
42
+ [⭐ Star the project](https://github.com/underautomation/yaskawa.py/stargazers)
43
+ [👁️ Watch for updates](https://github.com/underautomation/yaskawa.py/watchers)
44
+
45
+ ---
46
+
47
+ ## 🚀 TL;DR
48
+
49
+ - 📡 **High-Speed Ethernet Server**
50
+ - 🤖 **Move robot in Cartesian or joint space**
51
+ - 🛠️ **Access robot status, alarms, and I/O**
52
+ - 💾 **Read/write registers and data types**
53
+ - 🧠 **Control and monitor jobs**
54
+ - ✍️ **Send pendant messages, reset alarms, manage files**
55
+
56
+ **No Yaskawa options or additional hardware required.**
57
+
58
+ ## Try it
59
+
60
+ From Pypi (available soon) :
61
+
62
+ ```
63
+ pip install UnderAutomation.UniversalRobots
64
+ ```
65
+
66
+ From this repo :
67
+
68
+ ```
69
+ git clone https://github.com/underautomation/Yaskawa.py.git
70
+ pip install pythonnet==3.0.3
71
+ ```
72
+
73
+ ---
74
+
75
+ ## ✨ Example Usage (Python)
76
+
77
+ ```python
78
+ from underautomation.yaskawa.connect_parameters import ConnectParameters
79
+ from underautomation.yaskawa.high_speed_e_server.alarm_reset_type import AlarmResetType
80
+ from underautomation.yaskawa.yaskawa_robot import YaskawaRobot
81
+
82
+
83
+ robot = YaskawaRobot()
84
+ parameters = ConnectParameters("192.168.0.1")
85
+ parameters.ping_before_connect = True
86
+
87
+ robot.connect(parameters)
88
+
89
+
90
+ # Check connection
91
+ if robot.high_speed_e_server.connected:
92
+ print("Connected!")
93
+
94
+ # Move in Cartesian
95
+ robot.high_speed_e_server.move_cartesian(
96
+ x=1000, y=10, z=0,
97
+ rx=0, ry=0, rz=0,
98
+ speed=10,
99
+ )
100
+
101
+ # Get current joint position
102
+ joint_position = robot.high_speed_e_server.get_robot_joint_position()
103
+ print(joint_position.axes)
104
+
105
+ # Read and write register
106
+ reg = robot.high_speed_e_server.read_register(10, count=2)
107
+ robot.high_speed_e_server.write_register(10, [1234, 5678])
108
+
109
+ # Reset alarm
110
+ robot.high_speed_e_server.alarm_reset(AlarmResetType.Reset)
111
+ ```
112
+
113
+ ---
114
+
115
+ ## 🔧 Robot Configuration (Required)
116
+
117
+ ### ✅ Enable Remote Control
118
+
119
+ - `IN/OUT > PSEUDO INPUT SIGNAL`
120
+ - Set `#82015 CMD REMOTE SEL` via `INTERLOCK + SELECT`
121
+
122
+ ### ✅ Key Position for Commands
123
+
124
+ - Use physical pendant key in remote position
125
+ - Optional Ladder setup: copy `#80011` to `#40042`
126
+
127
+ ### ✅ Job Select
128
+
129
+ - `SETUP > FUNCTION ENABLE`
130
+ - Set `JOB SELECT WHEN REMOTE AND PLAY` to `PERMIT`
131
+
132
+ ### ✅ File Overwrite Permissions
133
+
134
+ - `PARAMETER > RS`
135
+ - Set `RS029 = 1`, `RS214 = 1`
136
+
137
+ ---
138
+
139
+ ## 🛠 Installation
140
+
141
+ ### 1. Clone the SDK
142
+
143
+ ```bash
144
+ git clone https://github.com/underautomation/yaskawa.py.git
145
+ cd yaskawa.py
146
+ pip install -e .
147
+ ```
148
+
149
+ ### 2. Connect to your robot
150
+
151
+ ```python
152
+ robot = YaskawaRobot()
153
+ parameters = ConnectParameters("192.168.0.1")
154
+ robot.connect(parameters)
155
+ ```
156
+
157
+ ---
158
+
159
+ ## ✅ Compatibility
160
+
161
+ - **Robots:** DX200, YRC1000, YRC1000 Micro
162
+ - **OS:** Windows, Linux, macOS
163
+ - **Python:** 3.7+
164
+
165
+ ---
166
+
167
+ ## 🙌 Contributing
168
+
169
+ We welcome contributions!
170
+
171
+ - Report bugs via [Issues](https://github.com/underautomation/yaskawa.py/issues)
172
+ - Submit pull requests
173
+ - Share feature ideas
174
+
175
+ ---
176
+
177
+ ## 📜 License
178
+
179
+ **⚠️ Commercial license required**
180
+ 🔗 Details: [UnderAutomation Licensing](https://underautomation.com/yaskawa/eula)
181
+
182
+ ---
183
+
184
+ ## 📬 Need Help?
185
+
186
+ - 📖 [Documentation](https://underautomation.com/yaskawa/documentation)
187
+ - 📩 [Contact Support](https://underautomation.com/contact)
@@ -0,0 +1,165 @@
1
+ # Yaskawa Communication SDK for Python
2
+
3
+ [![UnderAutomation Yaskawa communication SDK](https://raw.githubusercontent.com/underautomation/yaskawa.NET/refs/heads/main/.github/assets/banner.png)](https://underautomation.com)
4
+
5
+ [![Python 3.7+](https://img.shields.io/badge/Language-Python-blue)](#)
6
+ [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-blue)](#)
7
+ [![License](https://img.shields.io/badge/License-Commercial-red)](https://underautomation.com/yaskawa/eula)
8
+
9
+ ### 🤖 Communicate effortlessly with Yaskawa robots using Python
10
+
11
+ The **Yaskawa SDK for Python** enables real-time control and data exchange with Yaskawa Motoman robots via the **High-Speed Ethernet Server (HSES)** protocol.
12
+
13
+ Ideal for automation, research, and integration projects, it provides high-speed UDP communication, motion control, robot monitoring, job handling, and more.
14
+
15
+ 🔗 **More Info:** [https://underautomation.com/yaskawa](https://underautomation.com/yaskawa)
16
+ 🔗 Also available in **[🟦 .NET](https://github.com/underautomation/yaskawa.NET)** and **[🟨 LabVIEW](https://github.com/underautomation/yaskawa.vi)**
17
+
18
+ ---
19
+
20
+ [⭐ Star the project](https://github.com/underautomation/yaskawa.py/stargazers)
21
+ [👁️ Watch for updates](https://github.com/underautomation/yaskawa.py/watchers)
22
+
23
+ ---
24
+
25
+ ## 🚀 TL;DR
26
+
27
+ - 📡 **High-Speed Ethernet Server**
28
+ - 🤖 **Move robot in Cartesian or joint space**
29
+ - 🛠️ **Access robot status, alarms, and I/O**
30
+ - 💾 **Read/write registers and data types**
31
+ - 🧠 **Control and monitor jobs**
32
+ - ✍️ **Send pendant messages, reset alarms, manage files**
33
+
34
+ **No Yaskawa options or additional hardware required.**
35
+
36
+ ## Try it
37
+
38
+ From Pypi (available soon) :
39
+
40
+ ```
41
+ pip install UnderAutomation.UniversalRobots
42
+ ```
43
+
44
+ From this repo :
45
+
46
+ ```
47
+ git clone https://github.com/underautomation/Yaskawa.py.git
48
+ pip install pythonnet==3.0.3
49
+ ```
50
+
51
+ ---
52
+
53
+ ## ✨ Example Usage (Python)
54
+
55
+ ```python
56
+ from underautomation.yaskawa.connect_parameters import ConnectParameters
57
+ from underautomation.yaskawa.high_speed_e_server.alarm_reset_type import AlarmResetType
58
+ from underautomation.yaskawa.yaskawa_robot import YaskawaRobot
59
+
60
+
61
+ robot = YaskawaRobot()
62
+ parameters = ConnectParameters("192.168.0.1")
63
+ parameters.ping_before_connect = True
64
+
65
+ robot.connect(parameters)
66
+
67
+
68
+ # Check connection
69
+ if robot.high_speed_e_server.connected:
70
+ print("Connected!")
71
+
72
+ # Move in Cartesian
73
+ robot.high_speed_e_server.move_cartesian(
74
+ x=1000, y=10, z=0,
75
+ rx=0, ry=0, rz=0,
76
+ speed=10,
77
+ )
78
+
79
+ # Get current joint position
80
+ joint_position = robot.high_speed_e_server.get_robot_joint_position()
81
+ print(joint_position.axes)
82
+
83
+ # Read and write register
84
+ reg = robot.high_speed_e_server.read_register(10, count=2)
85
+ robot.high_speed_e_server.write_register(10, [1234, 5678])
86
+
87
+ # Reset alarm
88
+ robot.high_speed_e_server.alarm_reset(AlarmResetType.Reset)
89
+ ```
90
+
91
+ ---
92
+
93
+ ## 🔧 Robot Configuration (Required)
94
+
95
+ ### ✅ Enable Remote Control
96
+
97
+ - `IN/OUT > PSEUDO INPUT SIGNAL`
98
+ - Set `#82015 CMD REMOTE SEL` via `INTERLOCK + SELECT`
99
+
100
+ ### ✅ Key Position for Commands
101
+
102
+ - Use physical pendant key in remote position
103
+ - Optional Ladder setup: copy `#80011` to `#40042`
104
+
105
+ ### ✅ Job Select
106
+
107
+ - `SETUP > FUNCTION ENABLE`
108
+ - Set `JOB SELECT WHEN REMOTE AND PLAY` to `PERMIT`
109
+
110
+ ### ✅ File Overwrite Permissions
111
+
112
+ - `PARAMETER > RS`
113
+ - Set `RS029 = 1`, `RS214 = 1`
114
+
115
+ ---
116
+
117
+ ## 🛠 Installation
118
+
119
+ ### 1. Clone the SDK
120
+
121
+ ```bash
122
+ git clone https://github.com/underautomation/yaskawa.py.git
123
+ cd yaskawa.py
124
+ pip install -e .
125
+ ```
126
+
127
+ ### 2. Connect to your robot
128
+
129
+ ```python
130
+ robot = YaskawaRobot()
131
+ parameters = ConnectParameters("192.168.0.1")
132
+ robot.connect(parameters)
133
+ ```
134
+
135
+ ---
136
+
137
+ ## ✅ Compatibility
138
+
139
+ - **Robots:** DX200, YRC1000, YRC1000 Micro
140
+ - **OS:** Windows, Linux, macOS
141
+ - **Python:** 3.7+
142
+
143
+ ---
144
+
145
+ ## 🙌 Contributing
146
+
147
+ We welcome contributions!
148
+
149
+ - Report bugs via [Issues](https://github.com/underautomation/yaskawa.py/issues)
150
+ - Submit pull requests
151
+ - Share feature ideas
152
+
153
+ ---
154
+
155
+ ## 📜 License
156
+
157
+ **⚠️ Commercial license required**
158
+ 🔗 Details: [UnderAutomation Licensing](https://underautomation.com/yaskawa/eula)
159
+
160
+ ---
161
+
162
+ ## 📬 Need Help?
163
+
164
+ - 📖 [Documentation](https://underautomation.com/yaskawa/documentation)
165
+ - 📩 [Contact Support](https://underautomation.com/contact)
@@ -0,0 +1,187 @@
1
+ Metadata-Version: 2.4
2
+ Name: UnderAutomation.Yaskawa
3
+ Version: 1.3.0.0
4
+ Summary: Quickly create applications that communicate with your Yaskawa robots
5
+ Home-page: https://underautomation.com/yaskawa
6
+ Author: UnderAutomation
7
+ Author-email: support@underautomation.com
8
+ Project-URL: Documentation, https://underautomation.com/yaskawa/documentation/get-started-python
9
+ Project-URL: Source, https://github.com/underautomation/Yaskawa.py
10
+ Requires-Python: >=3.7
11
+ Description-Content-Type: text/markdown
12
+ Requires-Dist: pythonnet==3.0.5
13
+ Dynamic: author
14
+ Dynamic: author-email
15
+ Dynamic: description
16
+ Dynamic: description-content-type
17
+ Dynamic: home-page
18
+ Dynamic: project-url
19
+ Dynamic: requires-dist
20
+ Dynamic: requires-python
21
+ Dynamic: summary
22
+
23
+ # Yaskawa Communication SDK for Python
24
+
25
+ [![UnderAutomation Yaskawa communication SDK](https://raw.githubusercontent.com/underautomation/yaskawa.NET/refs/heads/main/.github/assets/banner.png)](https://underautomation.com)
26
+
27
+ [![Python 3.7+](https://img.shields.io/badge/Language-Python-blue)](#)
28
+ [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-blue)](#)
29
+ [![License](https://img.shields.io/badge/License-Commercial-red)](https://underautomation.com/yaskawa/eula)
30
+
31
+ ### 🤖 Communicate effortlessly with Yaskawa robots using Python
32
+
33
+ The **Yaskawa SDK for Python** enables real-time control and data exchange with Yaskawa Motoman robots via the **High-Speed Ethernet Server (HSES)** protocol.
34
+
35
+ Ideal for automation, research, and integration projects, it provides high-speed UDP communication, motion control, robot monitoring, job handling, and more.
36
+
37
+ 🔗 **More Info:** [https://underautomation.com/yaskawa](https://underautomation.com/yaskawa)
38
+ 🔗 Also available in **[🟦 .NET](https://github.com/underautomation/yaskawa.NET)** and **[🟨 LabVIEW](https://github.com/underautomation/yaskawa.vi)**
39
+
40
+ ---
41
+
42
+ [⭐ Star the project](https://github.com/underautomation/yaskawa.py/stargazers)
43
+ [👁️ Watch for updates](https://github.com/underautomation/yaskawa.py/watchers)
44
+
45
+ ---
46
+
47
+ ## 🚀 TL;DR
48
+
49
+ - 📡 **High-Speed Ethernet Server**
50
+ - 🤖 **Move robot in Cartesian or joint space**
51
+ - 🛠️ **Access robot status, alarms, and I/O**
52
+ - 💾 **Read/write registers and data types**
53
+ - 🧠 **Control and monitor jobs**
54
+ - ✍️ **Send pendant messages, reset alarms, manage files**
55
+
56
+ **No Yaskawa options or additional hardware required.**
57
+
58
+ ## Try it
59
+
60
+ From Pypi (available soon) :
61
+
62
+ ```
63
+ pip install UnderAutomation.UniversalRobots
64
+ ```
65
+
66
+ From this repo :
67
+
68
+ ```
69
+ git clone https://github.com/underautomation/Yaskawa.py.git
70
+ pip install pythonnet==3.0.3
71
+ ```
72
+
73
+ ---
74
+
75
+ ## ✨ Example Usage (Python)
76
+
77
+ ```python
78
+ from underautomation.yaskawa.connect_parameters import ConnectParameters
79
+ from underautomation.yaskawa.high_speed_e_server.alarm_reset_type import AlarmResetType
80
+ from underautomation.yaskawa.yaskawa_robot import YaskawaRobot
81
+
82
+
83
+ robot = YaskawaRobot()
84
+ parameters = ConnectParameters("192.168.0.1")
85
+ parameters.ping_before_connect = True
86
+
87
+ robot.connect(parameters)
88
+
89
+
90
+ # Check connection
91
+ if robot.high_speed_e_server.connected:
92
+ print("Connected!")
93
+
94
+ # Move in Cartesian
95
+ robot.high_speed_e_server.move_cartesian(
96
+ x=1000, y=10, z=0,
97
+ rx=0, ry=0, rz=0,
98
+ speed=10,
99
+ )
100
+
101
+ # Get current joint position
102
+ joint_position = robot.high_speed_e_server.get_robot_joint_position()
103
+ print(joint_position.axes)
104
+
105
+ # Read and write register
106
+ reg = robot.high_speed_e_server.read_register(10, count=2)
107
+ robot.high_speed_e_server.write_register(10, [1234, 5678])
108
+
109
+ # Reset alarm
110
+ robot.high_speed_e_server.alarm_reset(AlarmResetType.Reset)
111
+ ```
112
+
113
+ ---
114
+
115
+ ## 🔧 Robot Configuration (Required)
116
+
117
+ ### ✅ Enable Remote Control
118
+
119
+ - `IN/OUT > PSEUDO INPUT SIGNAL`
120
+ - Set `#82015 CMD REMOTE SEL` via `INTERLOCK + SELECT`
121
+
122
+ ### ✅ Key Position for Commands
123
+
124
+ - Use physical pendant key in remote position
125
+ - Optional Ladder setup: copy `#80011` to `#40042`
126
+
127
+ ### ✅ Job Select
128
+
129
+ - `SETUP > FUNCTION ENABLE`
130
+ - Set `JOB SELECT WHEN REMOTE AND PLAY` to `PERMIT`
131
+
132
+ ### ✅ File Overwrite Permissions
133
+
134
+ - `PARAMETER > RS`
135
+ - Set `RS029 = 1`, `RS214 = 1`
136
+
137
+ ---
138
+
139
+ ## 🛠 Installation
140
+
141
+ ### 1. Clone the SDK
142
+
143
+ ```bash
144
+ git clone https://github.com/underautomation/yaskawa.py.git
145
+ cd yaskawa.py
146
+ pip install -e .
147
+ ```
148
+
149
+ ### 2. Connect to your robot
150
+
151
+ ```python
152
+ robot = YaskawaRobot()
153
+ parameters = ConnectParameters("192.168.0.1")
154
+ robot.connect(parameters)
155
+ ```
156
+
157
+ ---
158
+
159
+ ## ✅ Compatibility
160
+
161
+ - **Robots:** DX200, YRC1000, YRC1000 Micro
162
+ - **OS:** Windows, Linux, macOS
163
+ - **Python:** 3.7+
164
+
165
+ ---
166
+
167
+ ## 🙌 Contributing
168
+
169
+ We welcome contributions!
170
+
171
+ - Report bugs via [Issues](https://github.com/underautomation/yaskawa.py/issues)
172
+ - Submit pull requests
173
+ - Share feature ideas
174
+
175
+ ---
176
+
177
+ ## 📜 License
178
+
179
+ **⚠️ Commercial license required**
180
+ 🔗 Details: [UnderAutomation Licensing](https://underautomation.com/yaskawa/eula)
181
+
182
+ ---
183
+
184
+ ## 📬 Need Help?
185
+
186
+ - 📖 [Documentation](https://underautomation.com/yaskawa/documentation)
187
+ - 📩 [Contact Support](https://underautomation.com/contact)
@@ -0,0 +1,119 @@
1
+ README.md
2
+ setup.py
3
+ ./underautomation/__init__.py
4
+ ./underautomation/yaskawa/__init__.py
5
+ ./underautomation/yaskawa/connect_parameters.py
6
+ ./underautomation/yaskawa/yaskawa_robot.py
7
+ ./underautomation/yaskawa/common/__init__.py
8
+ ./underautomation/yaskawa/common/high_speed_e_server_connect_parameters.py
9
+ ./underautomation/yaskawa/high_speed_e_server/__init__.py
10
+ ./underautomation/yaskawa/high_speed_e_server/alarm_reset_type.py
11
+ ./underautomation/yaskawa/high_speed_e_server/arm_flip_information.py
12
+ ./underautomation/yaskawa/high_speed_e_server/axis_flip_information.py
13
+ ./underautomation/yaskawa/high_speed_e_server/control_group.py
14
+ ./underautomation/yaskawa/high_speed_e_server/flip_no_flip_information.py
15
+ ./underautomation/yaskawa/high_speed_e_server/get_file_progress.py
16
+ ./underautomation/yaskawa/high_speed_e_server/high_speed_e_server_client.py
17
+ ./underautomation/yaskawa/high_speed_e_server/invalid_data_answer_exception.py
18
+ ./underautomation/yaskawa/high_speed_e_server/load_file_progress.py
19
+ ./underautomation/yaskawa/high_speed_e_server/management_time_type.py
20
+ ./underautomation/yaskawa/high_speed_e_server/on_off_command_type.py
21
+ ./underautomation/yaskawa/high_speed_e_server/orientation_flip_information.py
22
+ ./underautomation/yaskawa/high_speed_e_server/position_command_classification.py
23
+ ./underautomation/yaskawa/high_speed_e_server/position_command_operation_coordinate.py
24
+ ./underautomation/yaskawa/high_speed_e_server/position_command_type.py
25
+ ./underautomation/yaskawa/high_speed_e_server/regarded_reverse_position_specified.py
26
+ ./underautomation/yaskawa/high_speed_e_server/robot_alarm_data.py
27
+ ./underautomation/yaskawa/high_speed_e_server/robot_alarm_data_extended.py
28
+ ./underautomation/yaskawa/high_speed_e_server/robot_axis_raw_data_1.py
29
+ ./underautomation/yaskawa/high_speed_e_server/robot_base_position_data.py
30
+ ./underautomation/yaskawa/high_speed_e_server/robot_base_position_type.py
31
+ ./underautomation/yaskawa/high_speed_e_server/robot_control_group.py
32
+ ./underautomation/yaskawa/high_speed_e_server/robot_data.py
33
+ ./underautomation/yaskawa/high_speed_e_server/robot_data_header.py
34
+ ./underautomation/yaskawa/high_speed_e_server/robot_file_content_data.py
35
+ ./underautomation/yaskawa/high_speed_e_server/robot_file_list_data.py
36
+ ./underautomation/yaskawa/high_speed_e_server/robot_job_data.py
37
+ ./underautomation/yaskawa/high_speed_e_server/robot_management_time_data.py
38
+ ./underautomation/yaskawa/high_speed_e_server/robot_plural_data_1.py
39
+ ./underautomation/yaskawa/high_speed_e_server/robot_position_cartesian_data.py
40
+ ./underautomation/yaskawa/high_speed_e_server/robot_position_data_1.py
41
+ ./underautomation/yaskawa/high_speed_e_server/robot_position_data_type.py
42
+ ./underautomation/yaskawa/high_speed_e_server/robot_posture.py
43
+ ./underautomation/yaskawa/high_speed_e_server/robot_recent_alarm.py
44
+ ./underautomation/yaskawa/high_speed_e_server/robot_status_data.py
45
+ ./underautomation/yaskawa/high_speed_e_server/robot_system_information.py
46
+ ./underautomation/yaskawa/high_speed_e_server/robot_system_type.py
47
+ ./underautomation/yaskawa/high_speed_e_server/robot_system_type_data.py
48
+ ./underautomation/yaskawa/high_speed_e_server/switching_commands.py
49
+ ./underautomation/yaskawa/high_speed_e_server/internal/__init__.py
50
+ ./underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_client_base.py
51
+ ./underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_client_internal.py
52
+ ./underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_connect_parameters_base.py
53
+ ./underautomation/yaskawa/lib/UnderAutomation.Yaskawa.dll
54
+ ./underautomation/yaskawa/lib/version.txt
55
+ ./underautomation/yaskawa/license/__init__.py
56
+ ./underautomation/yaskawa/license/invalid_license_exception.py
57
+ ./underautomation/yaskawa/license/license_info.py
58
+ ./underautomation/yaskawa/license/license_state.py
59
+ UnderAutomation.Yaskawa.egg-info/PKG-INFO
60
+ UnderAutomation.Yaskawa.egg-info/SOURCES.txt
61
+ UnderAutomation.Yaskawa.egg-info/dependency_links.txt
62
+ UnderAutomation.Yaskawa.egg-info/requires.txt
63
+ UnderAutomation.Yaskawa.egg-info/top_level.txt
64
+ underautomation/__init__.py
65
+ underautomation/yaskawa/__init__.py
66
+ underautomation/yaskawa/connect_parameters.py
67
+ underautomation/yaskawa/yaskawa_robot.py
68
+ underautomation/yaskawa/common/__init__.py
69
+ underautomation/yaskawa/common/high_speed_e_server_connect_parameters.py
70
+ underautomation/yaskawa/high_speed_e_server/__init__.py
71
+ underautomation/yaskawa/high_speed_e_server/alarm_reset_type.py
72
+ underautomation/yaskawa/high_speed_e_server/arm_flip_information.py
73
+ underautomation/yaskawa/high_speed_e_server/axis_flip_information.py
74
+ underautomation/yaskawa/high_speed_e_server/control_group.py
75
+ underautomation/yaskawa/high_speed_e_server/flip_no_flip_information.py
76
+ underautomation/yaskawa/high_speed_e_server/get_file_progress.py
77
+ underautomation/yaskawa/high_speed_e_server/high_speed_e_server_client.py
78
+ underautomation/yaskawa/high_speed_e_server/invalid_data_answer_exception.py
79
+ underautomation/yaskawa/high_speed_e_server/load_file_progress.py
80
+ underautomation/yaskawa/high_speed_e_server/management_time_type.py
81
+ underautomation/yaskawa/high_speed_e_server/on_off_command_type.py
82
+ underautomation/yaskawa/high_speed_e_server/orientation_flip_information.py
83
+ underautomation/yaskawa/high_speed_e_server/position_command_classification.py
84
+ underautomation/yaskawa/high_speed_e_server/position_command_operation_coordinate.py
85
+ underautomation/yaskawa/high_speed_e_server/position_command_type.py
86
+ underautomation/yaskawa/high_speed_e_server/regarded_reverse_position_specified.py
87
+ underautomation/yaskawa/high_speed_e_server/robot_alarm_data.py
88
+ underautomation/yaskawa/high_speed_e_server/robot_alarm_data_extended.py
89
+ underautomation/yaskawa/high_speed_e_server/robot_axis_raw_data_1.py
90
+ underautomation/yaskawa/high_speed_e_server/robot_base_position_data.py
91
+ underautomation/yaskawa/high_speed_e_server/robot_base_position_type.py
92
+ underautomation/yaskawa/high_speed_e_server/robot_control_group.py
93
+ underautomation/yaskawa/high_speed_e_server/robot_data.py
94
+ underautomation/yaskawa/high_speed_e_server/robot_data_header.py
95
+ underautomation/yaskawa/high_speed_e_server/robot_file_content_data.py
96
+ underautomation/yaskawa/high_speed_e_server/robot_file_list_data.py
97
+ underautomation/yaskawa/high_speed_e_server/robot_job_data.py
98
+ underautomation/yaskawa/high_speed_e_server/robot_management_time_data.py
99
+ underautomation/yaskawa/high_speed_e_server/robot_plural_data_1.py
100
+ underautomation/yaskawa/high_speed_e_server/robot_position_cartesian_data.py
101
+ underautomation/yaskawa/high_speed_e_server/robot_position_data_1.py
102
+ underautomation/yaskawa/high_speed_e_server/robot_position_data_type.py
103
+ underautomation/yaskawa/high_speed_e_server/robot_posture.py
104
+ underautomation/yaskawa/high_speed_e_server/robot_recent_alarm.py
105
+ underautomation/yaskawa/high_speed_e_server/robot_status_data.py
106
+ underautomation/yaskawa/high_speed_e_server/robot_system_information.py
107
+ underautomation/yaskawa/high_speed_e_server/robot_system_type.py
108
+ underautomation/yaskawa/high_speed_e_server/robot_system_type_data.py
109
+ underautomation/yaskawa/high_speed_e_server/switching_commands.py
110
+ underautomation/yaskawa/high_speed_e_server/internal/__init__.py
111
+ underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_client_base.py
112
+ underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_client_internal.py
113
+ underautomation/yaskawa/high_speed_e_server/internal/high_speed_e_server_connect_parameters_base.py
114
+ underautomation/yaskawa/lib/UnderAutomation.Yaskawa.dll
115
+ underautomation/yaskawa/lib/version.txt
116
+ underautomation/yaskawa/license/__init__.py
117
+ underautomation/yaskawa/license/invalid_license_exception.py
118
+ underautomation/yaskawa/license/license_info.py
119
+ underautomation/yaskawa/license/license_state.py
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+