注释
合作者
F10,1 是否在您的语言环境中的实际 G 代码中起作用?我怀疑答案是否定的,因为 G 代码相当古老并且最初是在美国开发的,他们很少考虑其他国家以不同方式做事的可能性。 有趣的是,该代码仅将进给率保存到小数点后一位,将主轴转速保存到零位。我认为这可能也是错误的。 答案可能是更改: |
合作者
在这方面,此提交中的注释很有趣。 |
作者
F10,1 同样的问题。 我只是按照 Build LinuxCNC 指南,检查了 2.8.1 标签并应用了这个差异:
这似乎解决了这个问题。 |
合作者
@Luddi1你能从 Jepler 检查这个变化吗? 要将更改作为补丁文件获取,请使用此 URL: |
作者
我查看了 jepler:locale-independent-rs274ngc 并编译测试了它。这解决了这个问题。 感谢你们的工作? |
在一个子程序中,
REMAP=M6 modalgroup=6 ngc=...
我使用 M70/M72 来存储和恢复模态。当子程序中进给率在这些之间发生变化时,我收到以下 G 代码错误消息,该消息在加载程序时显示:M7x: restore_settings failed executing ' F123,0': Bad character ',' used.
此处保存的进给率是 F123。当进给率不改变时,这不是问题,因此解决方法是单独存储和恢复#<_feed> 变量。
我目前的想法是:
snprinf
浮动根据语言环境改变行为。我在德国,小数点是逗号。这就是它可能发生的地方: 第 2752 行中的 linuxcnc/src/emc/rs274ngc/interp_convert.cc。
一种解决方案是先使用
setlocale
然后snprintf
按照此处的建议恢复语言环境:https ://stackoverflow.com/a/14753747为了完整性:
以下是我重现该问题所遵循的步骤:
REMAP=M6 modalgroup=6 ngc=...
在 ini 文件 ( )中放置 M6 的子程序。此处示例:https ://forum.linuxcnc.org/10-advanced-configuration/5596-manual-tool-change-tool-lengh-touch-off?start=30#48235这是我期望发生的事情:
模态状态的顺利恢复。
这是发生了什么:
G代码错误消息:
M7x: restore_settings failed executing ' F0,0': Bad character ',' used.
在此之前它工作正常:
(如果在对硬件或软件进行特定更改后行为发生了变化
,请描述您认为负责的更改。例如,“
从 LinuxCNC 2.7.3 升级到 2.7.4 后”)
有关我的硬件和软件的信息:
lsb_release -a
):debian。linuxcnc isoscripts/get-version-from-git
):2.8.1