Motf TriggerOnIO
MOTF can be triggered by an external signal. This command will wait for a trigger condition to be met. It will then restart counting.
Syntax
| TriggerOnIO(Pin pin,Trigger trigger,float distanceThreshold) |
Parameters
| pin | Pin | The input pin. |
| trigger | Trigger | The external signal (pulse). |
| float | distanceThreshold | After a reset, the distance that the MOTF system must travel before the trigger is armed. |
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")