Motf WaitForTriggerDistance

Wait for the trigger condition to be satisfied and then the web motion distance from the trigger in user units to be met or exceeded. When the wait completes, the hardware trigger is automatically reset and monitoring of the next part in initiated.

Syntax

WaitForTriggerDistance( float distance )

 

Parameters

distance float Distance between each marking.

 

 

Copy
Example
-- This sample marks a circle on a part that is detected.
SetUnits(Units.Millimeters)
-- Use MOTF Port 0
MOTF.Mode = Encoder.ExternalSingleAxis
-- Web direction
MOTF.Direction = Direction.BottomToTop
-- 10um linear resolution for example
encoderLinResInMmPerCount = 0.010
-- Bits/Mm * Mm/Count -> Bits/Count
MOTF.CalFactor = System.CalFactorY *
encoderLinResInMmPerCount
-- Trigger on UserIn1 when a part is detected
-- Immediately start checking for the next part
MOTF.TriggerOnIO(Pin.Din.UserIn1, Trigger.Edge.Rising, 0)

-- Initialize the MOTF settings
MOTF.Initialize()

-- Initialize laser/scan-head settings
Laser.MarkSpeed = 1000
Laser.MarkDelay = 200
Laser.JumpSpeed = 3000
Laser.JumpDelay = 200
Laser.Frequency = 20
Laser.DutyCycle1 = 50
Laser.Power = 50
Laser.LaserOnDelay = 75
Laser.LaserOffDelay = 125
Laser.PolyDelay = 50
Laser.VariPolyDelayFlag = true

-- Wait for start signal
IO.WaitForIo(Pin.Din.UserIn1,Trigger.Edge.Rising, 0, 0, true)

-- Wait for this web travel before marking
triggerDistance = 50.

-- Repeat until aborted via external signal
while IO.ReadPin(Pin.Din.UserIn4) == false do
    MOTF.WaitForTriggerDistance(triggerDistance)
    MOTF.ResetTracking()
    MOTF.StartTracking(Tracking.WhileMarking)
    Image.Circle(0, 0, 20)
    MOTF.StopTrackingAndJump(0, 0, 0, 200)
    Laser.WaitForEnd()
end

Report ("Job Finished")