Resume after m112?

  • I'm implementing Emergency stop for my large printer. I use trigger2 to execute the stop and run M112 in there. But it seems resume data is not saved, so resuming the print is a hazzle.

    Is there a command to manually save resume data that I can run before my M112 command?

    Other ideas on how I can resume a printer after emergency stop?

    Ideas welcome.


  • Is the emergency stop actually being used for emergencies? I'd say stomach it if so because they are rare. Otherwise perhaps make a pause button and get it to trigger a named macro and a pause instead?

  • This is my printer:

    To get it CE approved, I need proper emergency stops. The power to the servo motors will be cut when the emergency stop is triggered, but I also need to be able to resume the print, as re-printing is clearly not an option.

  • administrators

    @kulitorum does the emergency stop cut power to your motors and trigger M112 with one button? If it does the why not have it first run pause.g and the M112?

    Also. Awesome work with the concrete printing!!

  • Yes, it does.

    Pause.g will wait for the current move to finish. This is not the optimal behavior if it's printing a 4m line and someone gets stuck between concrete and the printhead. Therefore I can't use any commands that wait for anything before returning before calling M112.

    So the "Save recover state" command thould return within few milliseconds to be usable, and pause.g does not do that.

    Oh wait, maybe - if there's no power to the motors - this will be acceptable.... I would lose the current move, ofcause, but otherwise this may be usable....

    Also thanks 🙂

  • administrators

    A true emergency stop should cut power to the motors, not rely on the firmware at all. If you arrange that it cuts VIN power to the Duet as well, then you could use the standard power fail facility (see the M911 command) of RepRapFirmware to create the resume file.

  • What interlock performance level did your risk assessment establish you needed? Most industrial machinery seems to work out as PL d, but your head does move very slowly. Given the very slow motion of the head you maybe able to zone it so the system pauses if there is an unauthorised access to a specific zone, but then a full e-stop if they continue and get too close.

    If your unsure on performnce levels, reliability etc you need to read up on EN ISO 13849. There are neat flow charts to establish whay you need.

  • administrators

    I am not sure how you are generating your gcode however another option is to break the moved up into a lot of shorter moves, you head.looks to be moving show enough that you should not see a performance hit. With a short current move it may mean you hardly loose anything when you cat the power to the motors and call pause.g

  • @dc42 The idea is not to rely on the firmware for the actual stopping, but after the problem that causes the STOP has been solved, and we are ready to go again, I want it to be as easy as possible to resume. Can you please make a function to manually save the resume state? Another problem is that my high-quality 24v power supply which is only used for control electronics will probably have enough capacitors to run for several seconds before falling below 19ish volts.
    Can you please make a function to manually save the resume state?

  • administrators

    Yes that could be done, however I am about to do a release so it will have to wait until after this one.

  • @doctrucker My new machine will go up to 1m/sec. I don't remember what performance level he put it in, but this is the last two pages from the Risk Assessment: (answer continues after)

    APPENDIX 1 Legislative References
    EU 2006/42/EC: Machinery Safety
    2004/108/EC: Electromagnetic Compatibility

    APPENDIX 2 Normative References
    EN 349: 1993+A1:2010 Safety of machinery – Minimum gaps to avoid crushing of parts of the human
    EN 619: 2002+A1:2010 Continous handling equipment and systems (Conveyors) - Safety and EMC
    EN 1037: 1995:+A1:2008 Safety of machinery – Prevention of unexpected start-up
    EN ISO 11161:
    Safety of machinery - Integrated manufacturing systems - Basic requirements
    EN ISO 12100: 2010 Safety of machinery — Basic concepts, general principles for design — Risk
    assessment and risk reduction
    EN 12464-1: 2011 Light and lighting - Lighting of workplaces - Part 1: Indoor workplaces
    EN ISO 13849-1: 2015 Safety of machinery - Safety-related parts of control systems - Part 1:
    General principles for design
    EN ISO 13849-2: 2014 Safety of machinery - Safety-related parts of control systems - Part 2:
    EN ISO 13850: 2015 Safety of machinery. Emergency stop. Principles for design
    EN ISO 13856-2: 2013 Safety of machinery - Pressure sensitive protective devices - Part 2: General
    principles for the design and testing of pressure sensitive edges and
    pressure sensitive bars
    EN ISO 13857: 2008 Safety of machinery - Safety distances to prevent hazard zones being
    reached by upper and lower limbs
    EN ISO 14120: 2015 Safety of machinery - Guards - General requirements for the design and
    construction of fixed and movable guards
    EN 60204-1: 2006/AC:2010 Safety of machinery - Electrical equipment of machines - Part 1: General

    We will limit the machine to go at 250mm/sec if there's no fence installed, and with a fence, we can allow up to 1m/sec. If the customer installs a fence, an electronic lock in the door will unlock only after the user has requested a slowdown and the firmware have lowered the speed to 250mm/sec. The safety PLC will use two triggers to tell the machine to go faster or slower. The safety PLC has speedometers on all axes and will only open the door after the firmware has slowed down the machine.

  • @t3p3tony Yes, I did that already, so that you can pause the machine quickly if there's a minor issue. I'm cutting all moves into 5mm sections.

  • @dc42 any progress on a function to manually save the resume state?

  • administrators

    @kulitorum said in Resume after m112?:

    @dc42 any progress on a function to manually save the resume state?

    I think we need a discussion of what emergency does, whether it needs to be changed, and whether we need more than one sort of stop.

    Currently there are 3 sorts of "stop":

    1. Emergency stop (M112). This turns all motors and heaters off and shuts down the firmware. It will respond to M999 to restart the firmware, but very little else.

    2. Panic stop.This is activated when power failure is detected, if power failure handling is configured. Movement is stopped abruptly (possibly resulting in skipped steps), the print state is saved to SD card, and the power fail script is run. Even if power is not lost completely, the printer would need to be re-homed before the print can be resumed.

    3. Pause. The current move and up to 0.5sec of additional moves are completed, the print state is saved to SD card, and the pause script is executed.

    Are you looking for a stop that can be resumed without re-homing the printer?

  • I'm looking for M112 behavior that saves the print state so I can resume it.

    If someone is getting squeezed in between the printhead and a wall (at 1.5 ton pressure) , 0.5sek is a long time, so using pause for emergency stops is really not a good option.

    Using M112 stops instant, but freeze the board so I cannot save the print state.

    What I hope for is a M112 version that

    1. stops everything like current M112
    2. Saves print state so the print can be resumed
    3. Freeze board

    It's not a problem to have to re-home the printer when restarting.


Log in to reply