Single-Axis Motion
06/2005
Danaher Motion
102 Rev
E
M-SS-005-03l
The more accurately the position is determined, the more accurate the cut is
with respect to the registration mark. If the process is feeding material at 10
ft/s, and the capture accuracy is ±3 microseconds, the mark is:
10 (ft/sec) * 3 µs = 3.225e-5 ft or about 0.0004 in.
The original line was set to go much farther than the actual resultant move.
This technique is commonly used because you can monitor the end position
and, if the move is completed before the registration mark is detected, it
indicates the mark was missed.
4.2.4. Gating
Many applications require motion to be gated to an external switch. In these
cases, you need to start a move after the gating input transitions with as little
delay as possible. One way you can accomplish this on the MC is by starting
the move with events containing synchronized motion. For example:
Program
Attach MainAxis
Move MainAxis 100 Absolute=FALSE StartType=SYNC
While System.Din.1=False; ‘Wait for input to change
Sleep 1
End While
SyncStart MainAxis ‘Start the axis up by disable
End Program
This program moves MainAxis 100 units when DIN.1 transitions high. Motion
on MainAxis starts as soon after the transition of DIN.1 as possible.
OnEvent
can also be used.
4.2.5. Clamping
Clamping applications typically process discrete parts but the end point of a
move is unknown. Clamping is often applied when the length of the part is
not accurately known or when the thickness of material is unknown. In
clamping, the controller moves an axis at low torque until the end of the
material is detected. Then the torque level is increased, either to measure
the part more accurately or to hold the part for another axis to process.
The MC allows you to change torque limits on the drive and uses events to
monitor position error to sense the end of the piece (below).
Program
Dim Shared PartFoundFlag As Long
OnEvent PartFound Abs(ClampingAxis.pe ) > 0.25
Stop ClampingAxis
[Set torque for heavy torque]
Sleep 30 ‘allow 30 ms for settling
PartFoundFlag=TRUE
Return
End OnEvent
eventon PartFound
[set torque for light torque]
PartFoundFlag=FALSE
Move ClampingAxis Vcruise=10
While (PartFoundFlag=FALSE)
Sleep 10
End While
REM Process part here
Return
End Program