使用REST API与MiR200机器人通信



我一直试图在python中使用REST API控制Mir 200机器人。我已经在Mir编程的任务,只有当PLC寄存器值发生变化时才能工作,所以我在python中给出以下请求,但我得到405错误。有人能帮我解释一下语法吗?我尝试将PLC寄存器41的值更改为5。

register = {"value": 5}
PLCregister = requests.post(host + 'registers/41', json = register, headers = headers)
print(PLCregister)

我从来没有使用过MiR200或他们的任何机器人(他们看起来很酷,我有点嫉妒),但它看起来不是POST请求,你可以尝试PUT请求来修改值。我要离开这个pdf: https://www.mobile-industrial-robots.com/media/2214/mir_robot_rest_api_200.pdf

405错误表示请求方法(在本例中为POST)是不允许的,可能它已被弃用。

你可以试试:

register = {'value': 5}
plc_register = requests.put(host + 'registers/41', json=register, headers=headers)
print(plc_register)

POST请求通常用于告诉服务器创建数据,而不是修改数据。你可以看到他们在MiR 2.0中提到了这一点。X文件:

POST /registers/{id}

修改指定ID的PLC寄存器的值。寄存器1 ~ 100为整数,101 ~ 200为浮点数。Even though this is not a standard use of the POST call it has been included for compatibility purposes

所以,也许POST方法不在你的机器人软件中,只是推测。

这就是我如何改变寄存器的值。

requests.put(host + 'registers/11', '{"value":23}', headers = headers)

但是我还没有弄清楚如何用变量改变值。我想这样做可能会有用。

body = {'value': value}
requests.put(host + 'registers/11', json=body, headers = headers)

相关内容

  • 没有找到相关文章

最新更新