Skip to main content
Submitted by jeremychoate on Thu, 03/02/2017 - 13:43

Hello,

I have a DMC-41x3 with three axes of motion. I am using the ELO input to stop the motors at the hardware level when an e-stop occurs.

I am using separate threads:

0 = Main thread
1 = Axis 1 thread
2 = Axis 2 thread
3 = Axis 3 thread

I understand that when the ELO input is triggered, thread 0 will jump to the Automatic Subroutine #AMPERR, while my Axis threads continue to run.

Imagine that I've begun motion on Axis 1, and Thread 1 is currently at an MC instruction (Motion Complete trippoint), waiting for the axis to complete its move, when an e-stop occurs. Thread 0 jumps to #AMPERR, while Thread 1 remains at the MC instruction.

I know that if another trippoint occurs while Thread 0 is in an automatic subroutine, that trippoint won't be serviced until the automatic subroutine is exited. I assume that if the machine is e-stopped long enough, an MC timeout will occur on Thread 1.

Will the controller attempt to run the #MCTIME subroutine when I return from the #AMPERR routine? If so, how do I avoid that? Is this where RE 0 vs. RE 1 applies? What is the difference between "restoring" a trippoint and "clearing" a trippoint, and does restoring and clearing apply to ALL trippoints or only the one that triggered the automatic subroutine?

Thanks so much!

Comments 4

KushalP on 03/03/2017 - 16:41

Hi jeremychoate,

Restoring a trippoint means that when the #AMPERR routine can run again if the ELO condition is present, or your #MCTIME subroutine can run. If an ELO takes place and you go into #AMPERR and exit that routine with RE1, you will restore the trippoint. THis means that your #MCTIME routine will run if there is a time out with MC. If you ext #AMPERR with RE0, then you will clear the trip point, which should stop #MCTIME from running.

jeremychoate on 03/03/2017 - 17:47

Thank you Kushal!

If I exit #AMPERR with RE 0, will that prevent #AMPERR from running the next time ELO is triggered? Would I need to "re-arm" it, another way?

Thanks!

KushalP on 03/06/2017 - 17:19

Hi jeremychoate,

If you exit #AMPERR with RE0, it will clear the trippoint in your DMC program. It will not prevent the #AMPERR routine from running the next time an ELO is triggered. The #AMPERR routine will run every time the ELO is triggered. Setting RE 0 will clear any trippoints you may have had in your DMC program like WT. If you issue RE1, then trippoints like WT will be restored in your DMC program as you exit the #AMPERR routine.

jeremychoate on 03/06/2017 - 20:17

Great!

Thanks for all your help, Kushal! Have a great week!

J.