线程评级:
Python API -如何使用CloseStation()
# 1
我试图创建一个单元测试套件来测试我的RoboDK站中多个项目的有效性/存在性。每次运行测试时都会打开站点,因此在运行测试几次之后,站点树将变得非常拥挤,其中包含原始站点的多个副本。为了避免不得不重复地分别关闭每个副本,我想编写一个清理方法,以便在测试完成后关闭站点。在Robolink Python API中定义的方法“CloseStation()”似乎正是我要找的,但文档不是很清楚它是如何使用的,我尝试的一切似乎都会导致错误。有人能解释一下这种方法的正确用法吗?它的工作示例代码将是非常有用的。



下面是我迄今为止尝试过的代码和相应的结果。在我看来,第一个代码片段应该是正确的用法,因为CloseStation()在Robolink .py中被定义为Robolink()类的成员。

1)。直接在Robolink()对象上调用方法:
代码:
引用:“robolink.Robolink () .CloseStation()”

结果(来自控制台):
引用:第521行,在_check_status中
提高异常(self.LAST_STATUS_MESSAGE)
Exception: Invalid item provided:提供的项标识符无效或不存在。


2)。调用station Item对象上的方法:
代码:
引用:station = robolink.Robolink().ActiveStation()
station.CloseStation ()

结果:
引用:AttributeError: 'Item'对象没有属性'CloseStation'
你应该创建一个Robolink()对象来创建一个到RoboDK的连接(通常只做一次):
代码:
RDK = robolink.Robolink()

这将打开RoboDK,如果它还没有运行。

然后你可以这样做:
代码:
RDK.AddStation ()
...
RDK.CloseStation ()

更多信息和例子:
//www.w5838.com/doc/en/PythonAPI/robolink.html
# 3
对于其他遇到这种情况的人来说,这似乎是旧版本的robodk Python包和新版本的robodk应用程序之间不兼容的结果。将两者更新到最新版本为我解决了这个问题。




浏览此线程的用户:
1客人(年代)