注释
|
所以这就是我为我修复它的方式——注意,我不使用标准的 M6 例程,因此需要添加更多的东西。(同样棘手的是要找出对所有 INTERP_… 使用“yield”而不是“return”,因为 INTERP_EXECUTE_FINISH 会抛出 python 错误(INTERP_EXECUTE_FINISH 需要正确的 python 生成器)。)
|
|
@rene-dev我以为这是固定的? |
|
@andypugh情况很复杂。python 模块只是公开了 c 代码的内容,而 c 代码在内部使用索引,就像他说的: 如果使用方法“self.find_tool_pocket(self.xxx_tool)”,则使用正确的口袋值。这在 sim 中有效,但不幸的是在加载 UI 时在真机上停止。 所以你确实需要调用这个函数来获取真实的数字,就像 C 代码一样。为什么它只适用于 sim 我会调查。 它更多的是文档问题,或者默认 stdglue 的问题。 |
|
顺便提一句。在这里,我在 2.8 版本上做了一个分支,它提供了口袋而不是工具表索引。 |
现在不再是这种情况了,这是更新 stdglue 的问题(yield 而不是 return,错误的转换等)。 |
|
从今天的调试更新: 这适用于所有 >0 且型腔值 >0 的工具。_current_tool 是主轴中的实际刀具,_selected_tool 是新刀具,_current_pocket 是换刀器中当前刀具需要放回的刀套,_selected_pocket 是新刀具需要取出的刀套。 特殊情况是:
|


以下是我重现该问题所遵循的步骤:
这是我期望发生的事情:
“工具”值反映了工具编号。在工具表中
,“口袋”值反映了正确的口袋号。刀具表中的刀具
例如
self.current_tool = 1
self.selected_tool = 2
self.current_pocket = 5
self.selected_pocket = 10
这是发生了什么:
self.current_tool = 1
self.selected_tool = 2
self.current_pocket = 1
self.selected_pocket = 2
似乎口袋值是工具表的索引而不是口袋号。
在此之前它工作正常:
有关我的硬件和软件的信息: