注释
成员
|
可能与此#1181有关? |
贡献者作者
|
有趣的。
并可以确认#1181 CW:~$ python3
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import linuxcnc
>>> c = linuxcnc.command()
>>> c.mode(linuxcnc.MODE_MDI)
>>> c.spindle(linuxcnc.SPINDLE_FORWARD, 1500, 0)
>>> c.mdi("S1000") # Spindle turns off
输出: Issuing EMC_SPINDLE_ON -- ( +1304,+64, +17,1500.000000,0.000000,0.000000, +1,)
Issuing EMC_TASK_PLAN_EXECUTE -- ( +509,+280, +18,S1000,)
emcTaskPlanLevel() returned 0
NML_INTERP_LIST(0x56315e1e9120)::append(nml_msg_ptr{size=56,type=EMC_SPINDLE_SPEED}) : list_size=1, line_number=0
emcTaskPlanExecute(S1000) returned 0
emcTaskPlanLevel() returned 0
NML_INTERP_LIST(0x56315e1e9120)::get(): {size=56, type=EMC_SPINDLE_SPEED}, list_size=0
emcTaskPlanLevel() returned 0
Issuing EMC_SPINDLE_SPEED -- ( +1316,+56, +0,0.000000,0.000000,0.000000,)
mdi_execute_hook: MDI command 'S1000' done (remaining: 0)
|
贡献者作者
|
在任务和运动中,每种情况下都会调用同一组命令…是否有我没有看到的 RS274 调试? |
贡献者作者
|
有趣的…
也许 emc_nml 应该在修改之前检查主轴的状态吗? |
贡献者作者
|
越看越觉得emcmodule中的emcSendCommand实际上应该是interp_list.append()。 |
合作者
|
您是否可以返回到 2.7(多轴支持之前)并查看那里的行为是否符合预期? |
贡献者
|
IIRC@robEllenberg我已经编写了这段代码,但我必须回过头来记住这一切。我问他还记得什么:
|
合作者
|
我认为不和谐报告听起来像是另一回事? 如果这就是 zultron 所暗示的,那么解决它并不是一件容易的事情,因为规范命令不一定反馈到解释器内部状态。 |
|
@andypugh那是我对不和谐的评论——我将在本周末尝试重现这个问题并提供适当的细节 |


我期望发生的事情:在 1000 时打开主轴。
实际发生了什么 主轴在上一个 S 命令时打开,如果未输入则为 0。
调试消息:
c.spindle(linuxcnc.SPINDLE_FORWARD,1000,0):
c.spindle(linuxcnc.SPINDLE_OFF,0)
c.mdi(“M3”)
同样为了它的价值,qtvcp mdi 命令将在每个命令的末尾注入一个新行。