我一直在尝试使用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)发布于 2021-02-28 12:10:59
我从未使用过MiR200或他们的任何机器人(它们看起来很酷,我有点嫉妒),但看起来您可以尝试使用PUT请求来修改值,而不是POST请求。我将不再使用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方法不在你的机器人的软件中,只是推测。
https://stackoverflow.com/questions/66222390
复制相似问题