【问题标题】:Communicating with MiR200 Robot using REST API使用 REST API 与 MiR200 机器人通信
【发布时间】:2021-05-19 04:29:57
【问题描述】:

我一直在尝试使用 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)

【问题讨论】:

  • 您能否提供有关此机器人的文档的来源?
  • 405 表示不允许,我会查看 MIR-200 的文档(这是任何回答问题的人都必须为您做的)。您应该更新问题标签,以确保您也有合适的人查看。

标签: python json robotics rest


【解决方案1】:

我从未使用过 MiR200 或他们的任何机器人(它们看起来很酷,我有点嫉妒)但看起来你可以尝试 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 方法不在您的机器人软件中,只是推测。

【讨论】:

    猜你喜欢
    • 2019-04-18
    • 2015-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多