RoboDK Forum
Python API: "Unpack requires a buffer of 4 bytes"- Printable Version

+- RoboDK Forum (//www.sinclairbody.com/forum)
+-- Forum: RoboDK (EN) (//www.sinclairbody.com/forum/Forum-RoboDK-EN)
+--- Forum: RoboDK bugs (//www.sinclairbody.com/forum/Forum-RoboDK-bugs)
+--- Thread: Python API: "Unpack requires a buffer of 4 bytes" (/Thread-Python-API-Unpack-requires-a-buffer-of-4-bytes)



Python API: "Unpack requires a buffer of 4 bytes"-davidmurray-08-13-2019

Hi,

Lately I have been having a lot of issues with the RoboDK Python API. I have RoboDK v3.8.4 with a professional license. I have Python 3.7.4.

Whenever I try to send any command to the robot through the API, I get this:

Code:
Traceback (most recent call last):
文件“c: \程序\ \ david.murray \ 2022世界杯国家队名单\用户下载robot_controller.py", line 121, in run self.pick_object(obj)
文件“c: \程序\ \ david.murray \ 2022世界杯国家队名单\用户下载robot_controller.py", line 170, in pick_object self.run_robot_instruction("current_operation = 2")
文件“c: \程序\ \ david.murray \ 2022世界杯国家队名单\用户下载robot_controller.py", line 349, in run_robot_instruction self.robot.RunInstruction(instruction, robolink.INSTRUCTION_INSERT_CODE)
文件“c: \程序\ \ david.murray \ 2022世界杯国家队名单\用户下载RoboDK\robolink.py", line 4810, in RunInstruction self.link._check_status()
文件“c: \程序\ \ david.murray \ 2022世界杯国家队名单\用户下载RoboDK\robolink.py", line 485, in _check_status status = self._rec_int()
文件“c: \程序\ \ david.murray \ 2022世界杯国家队名单\用户下载RoboDK\robolink.py", line 641, in _rec_int num = struct.unpack('>i',buffer)
struct.error: unpack requires a buffer of 4 bytes
Is this a known issue? What can be done?

Best regards,
David


RE: Python API: "Unpack requires a buffer of 4 bytes"-Albert-08-14-2019

Hi David,
Can you provide a sample project where we can reproduce this issue?
Thank you,
Albert


RE: Python API: "Unpack requires a buffer of 4 bytes"-davidmurray-08-14-2019

Hi Albert,

I've sent you the necessary files by e-mail.
Thanks


RE: Python API: "Unpack requires a buffer of 4 bytes"-Albert-08-19-2019

Hi David,

Do you use multiple threads? If so, do use the RoboDK API on each thread?
If this is the case, make sure to use a new Robolink() object inside each thread.

Can you try to reproduce this issue with the latest update? (published today)

I have not been able to take a deep look at the files you sent me as there are some modules missing.

Albert