Description

Virtual motors (VMs) are available for the VME version of Online only. They are defined by, e.g.:

ONLINE> def vm1

This definition needs to be executed once. The VM is stored in the device list which is automatically loaded during the startup of the following Online sessions.

Virtual motors can be moved or scanned.

ONLINE> move vm1 1.5 
ONLINE> * = gmup( vm1) 
ONLINE> scan vm1

VMs are implemented as Perl scripts that respond to the following methods: set_position, get_position, get_limit_min, get_limit_max and calibration. The scripts are stored in /online_dir, e.g.:

/online_dir/vm1.pl

VMs can have before- and after-move commands defined like other motors.

Virutal motors can be moved with other motors in a single function call:

Spectra::move( vm1  => 11,
               vm2  => 12,
               mot2 => 13, 
               mot3 => 14);

This command is executed in the following way: First vm1 is moved to 11 units. After vm1 reached its final position vm2 is moved to 12 units. Afterwards mot2 and mot3 are move simultaneously.

For mixed movements the following statements apply: