Newport XPS-Q8 Users Manual, Software Tools And Tutorial page 157

Universal high-performance motion controller/driver
Hide thumbs Also See for XPS-Q8:
Table of Contents

Advertisement

XPS-Q8 Controller
In this example, the analog output #1 on GPIO2 will always output a voltage in
relation to the SetpointPosition of the positioner G1.P1, and the output #2 on GPIO2
will always output a voltage in relation to the SetpointVelocity of the same
positioner. The gain on output #1 is set to 0.1 V/unit and the offset to -10 V. This
means that when the stage is at the position 0 units, a voltage of -10 V will be sent.
When the stage is at the position 10 units, a voltage of -9V will be sent.
Here, the event "Always" means that these values will be updated every servo cycle,
means every 0.125 ms. If instead of the event "Always", the event "Immediate" will
be used, only the most recent values will be sent and kept. If instead of the event
"Always", a motion related event such as MotionState is used, the update will only
happen at every profiler cycle, or every 0.4 ms.
6. TimerSet(Timer1,10000)
EventExtendedConfigurationTriggerSet (Timer1.Timer, 0, 0, 0, 0)
EventExtendedConfigurationActionSet (GPIO1.DO.DOToggle, 255, 0, 0, 0)
EventExtendedStart()
EventExtendedRemove(1)
The function Timer() sets the Timer1 at every 8,000th servo cycle, or at one second.
Hence, in this example, every second all bits in the digital output on connector
number 1 will be toggled (Note: 255 = 11111111). The event Timer is permanent. In
order to remove the event trigger, use the function EventExtendedRemove() with the
associated event identifier (1 in this case).
7. MultipleAxesPVTPulseOutputSet(G1,2,20,1)
GatheringConfigurationSet(G1.P1.CurrentPosition)
EventExtendedConfigurationTriggerSet(Always,
0,0,0,0,G1.PVT.TrajectoryPulse,0,0,0,0)
EventExtendedConfigurationActionSet(GatheringOneData,0,0,0,0)
EventExtendedStart()
MultipleAxesPVTExecution(G1,Traj.trj,1)
In this example, the generation of an output pulse every one second between the 2
and the 20
th
element in the next PVT trajectory executed on the group G1 is first
defined (function MultipleAxisPVTPulseOutputSet). Then, data gathering is defined
(CurrentPosition of positioner G1.P1).
Hence, in this example, with every trajectory pulse, one data point is gathered and
appended to the current gathering file in memory. Here, adding the event
TrajectoryPulse with the permanent event Always makes sure that the event trigger
is always active. Without the event Always, only one data point will be gathered.
This is because any event is automatically removed once it happens and does not
happening in the next servo or profiler cycle (which is the case here as a pulse is
only generated every one second).
Please note that the action GatheringOneData appends data to the current data file.
In order to store the data in a new file it is required to first launch the function
GatheringReset() which deletes the current data file from memory.
8. GatheringConfigurationSet(G1.P1.CurrentPosition)
EventExtendedConfigurationTriggerSet
(G1.P1.SGamma.MotionStart,0,0,0,0)
EventExtendedConfigurationActionSet(GatheringRun,20,1000,0,0)
EventExtendedStart()
GroupMoveAbsolute (G1.P1, 50)
GatheringStopAndSave()
In this example, an internal data gathering of 20 data points every 0.1 second (every
800
th
servo cycle) is launched with the start of the next motion of the positioner
145
XPSDocumentation V1.4.x (EDH0301En1060 — 10/17)
Motion Tutorial
nd

Advertisement

Table of Contents
loading

Table of Contents