开源改变世界!!

问题:如果在归位期间发出进给保持,FluidNC 将其状态报告为 Hold(1),但不会停止。 #724

推推 grbl 2年前 (2023-02-05) 156次浏览
关闭
milo-brandt 打开了这个问题 2022 年 11 月 27 日 · 2 条评论

评论

问题:如果在归位期间发出进给保持,FluidNC 将其状态报告为 Hold(1),但不会停止。 #724
贡献者

控制板

我自己设计的电路板 – 但问题与硬件无关。

机器描述

具有双 Y 轴和旋转 A 轴的龙门铣床。

输入电路

没有反应

配置文件

board: None
name: None
meta: 
stepping:
  engine: RMT
  idle_ms: 255
  pulse_us: 5
  dir_delay_us: 5
  disable_delay_us: 0
  segments: 6

axes:
  shared_stepper_disable_pin: NO_PIN
  shared_stepper_reset_pin: NO_PIN
  x:
    steps_per_mm: 320.000
    max_rate_mm_per_min: 6000.000
    acceleration_mm_per_sec2: 250.000
    max_travel_mm: 1200.000
    soft_limits: true
    homing:
      cycle: 2
      allow_single_axis: true
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 25.000
      seek_mm_per_min: 500.000
      settle_ms: 250
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.36
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: gpio.32
        direction_pin: gpio.33
        disable_pin: NO_PIN

  y:
    steps_per_mm: 320.000
    max_rate_mm_per_min: 6000.000
    acceleration_mm_per_sec2: 250.000
    max_travel_mm: 900.000
    soft_limits: true
    homing:
      cycle: 2
      allow_single_axis: true
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 25.000
      seek_mm_per_min: 500.000
      settle_ms: 250
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.39
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: gpio.25
        direction_pin: gpio.26
        disable_pin: NO_PIN

    motor1:
      limit_neg_pin: gpio.34
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: gpio.27
        direction_pin: gpio.14
        disable_pin: NO_PIN

  z:
    steps_per_mm: 320.000
    max_rate_mm_per_min: 6000.000
    acceleration_mm_per_sec2: 250.000
    max_travel_mm: 120.000
    soft_limits: true
    homing:
      cycle: 1
      allow_single_axis: true
      positive_direction: true
      mpos_mm: 0.000
      feed_mm_per_min: 25.000
      seek_mm_per_min: 500.000
      settle_ms: 250
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: gpio.35
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: gpio.12
        direction_pin: gpio.13
        disable_pin: NO_PIN

  a:
    steps_per_mm: 6.667
    max_rate_mm_per_min: 100000.000
    acceleration_mm_per_sec2: 1440.000
    max_travel_mm: 1000.000
    soft_limits: false
    homing:
      cycle: 0
      allow_single_axis: true
      positive_direction: true
      mpos_mm: 0.000
      feed_mm_per_min: 50.000
      seek_mm_per_min: 200.000
      settle_ms: 250
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: NO_PIN
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm: 1.000
      standard_stepper:
        step_pin: gpio.23
        direction_pin: gpio.22
        disable_pin: NO_PIN

kinematics:
  Cartesian:

spi:
  miso_pin: NO_PIN
  mosi_pin: NO_PIN
  sck_pin: NO_PIN

sdcard:
  cs_pin: NO_PIN
  card_detect_pin: NO_PIN

control:
  safety_door_pin: NO_PIN
  reset_pin: NO_PIN
  feed_hold_pin: NO_PIN
  cycle_start_pin: NO_PIN
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN

coolant:
  flood_pin: NO_PIN
  mist_pin: NO_PIN
  delay_ms: 0

probe:
  pin: gpio.21:low
  check_mode_start: true

macros:
  startup_line0: 
  startup_line1: 
  macro0: 
  macro1: 
  macro2: 
  macro3: 

start:
  must_home: true
  deactivate_parking: false
  check_limits: false

parking:
  enable: false
  axis: Z
  target_mpos_mm: -5.000
  rate_mm_per_min: 800.000
  pullout_distance_mm: 5.000
  pullout_rate_mm_per_min: 250.000

user_outputs:
  analog0_pin: NO_PIN
  analog1_pin: NO_PIN
  analog2_pin: NO_PIN
  analog3_pin: NO_PIN
  analog0_hz: 5000
  analog1_hz: 5000
  analog2_hz: 5000
  analog3_hz: 5000
  digital0_pin: NO_PIN
  digital1_pin: NO_PIN
  digital2_pin: NO_PIN
  digital3_pin: NO_PIN

arc_tolerance_mm: 0.002
junction_deviation_mm: 0.010
verbose_errors: false
report_inches: false
enable_parking_override_control: false
use_line_numbers: true
planner_blocks: 16

启动消息

[MSG:INFO: FluidNC v3.6.5-pre4]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
[MSG:INFO: Local filesystem type is spiffs]
[MSG:INFO: Configuration file:config.yml]
[MSG:INFO: Machine None]
[MSG:INFO: Board None]
[MSG:INFO: SPI not defined]
[MSG:INFO: No SD Card CS Pin]
[MSG:INFO: See http://wiki.fluidnc.com/en/config/sd_card#sdfallbackcs-access-sd-without-a-config-file]
[MSG:INFO: Stepping:RMT Pulse:5us Dsbl Delay:0us Dir Delay:5us Idle Delay:255ms]
[MSG:INFO: Axis count 4]
[MSG:INFO: Axis X (0.000,1200.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     standard_stepper Step:gpio.32 Dir:gpio.33 Disable:NO_PIN]
[MSG:INFO:  X Neg Limit gpio.36]
[MSG:INFO: Axis Y (0.000,900.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     standard_stepper Step:gpio.25 Dir:gpio.26 Disable:NO_PIN]
[MSG:INFO:  Y Neg Limit gpio.39]
[MSG:INFO:   Motor1]
[MSG:INFO:     standard_stepper Step:gpio.27 Dir:gpio.14 Disable:NO_PIN]
[MSG:INFO:  Y2 Neg Limit gpio.34]
[MSG:INFO: Axis Z (-120.000,0.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     standard_stepper Step:gpio.12 Dir:gpio.13 Disable:NO_PIN]
[MSG:INFO:  Z Pos Limit gpio.35]
[MSG:INFO: Axis A (-1000.000,0.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     standard_stepper Step:gpio.23 Dir:gpio.22 Disable:NO_PIN]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Probe Pin: gpio.21:low]
[MSG:INFO: WiFi is disabled]

用户界面软件

流体项

发生了什么?

如果您将以下行发送到 FluidNC(之间有一些延迟)

$H
!
?

FluidNC 将响应如下内容:

<Hold:1|MPos:371.469,460.263,30.084,0.000|FS:500,0>

尽管报告处于 Hold:1 状态,但机器实际上并没有停止运动。

我在实现一个接口时遇到了这个问题,想要一个“优雅停止”功能,这样我就可以发出一个 feedhold 命令,等待机器处于 Hold:1(达到某个合理的时间限制),然后发出重置命令以允许机器在不丢失位置的情况下进行受控停止和复位。

当前的行为Hold:1并不一定意味着机器正在减速,这似乎违反直觉。我宁愿我上面列出的命令要么表现为……

  1. 机器忽略进给并报告<Homing|...>其状态。
  2. 机器停止(通过进给行为或重置)。

看起来 (1) 很容易实现(即我认为可以移动Homing到像Sleepin这样的状态protocol_do_feedhold)并且 (2) 看起来也不错(代码中已经有一些关于它的评论)。我可能会编写代码来以任何一种方式进行更改,但我不确定这里的最佳行为是什么。

其他信息

没有反应

问题:如果在归位期间发出进给保持,FluidNC 将其状态报告为 Hold(1),但不会停止。 #724
所有者

Feedhold 通常不在归位期间完成。我们可以考虑更好地处理它。

大多数人发出重置以取消归位。

问题:如果在归位期间发出进给保持,FluidNC 将其状态报告为 Hold(1),但不会停止。 #724 米奇布拉德利 补充道 已解决等待发布 我们有一个尚未发布的修复程序标签 2022 年 12 月 3 日
问题:如果在归位期间发出进给保持,FluidNC 将其状态报告为 Hold(1),但不会停止。 #724

PR #735采用解决方案 (1) – 在归位期间忽略进给,并显示一条消息说要使用 Reset。

bdring 添加了引用此问题的提交 2022 年 12 月 8 日

问题:如果在归位期间发出进给保持,FluidNC 将其状态报告为 Hold(1),但不会停止。 #724 bdring 关闭此 作为 完成 33d7fd0 2022 年 12 月 9 日
喜欢 (0)