FMB-DCM: DCM_Z (Jack)

The following virutal motor moves 3 motors in parallel. The position and the limits of the virtual motor is taken from one of the motors.

#!/usr/bin/perl -w
#
# file name: /online_dir/vm1.pl
#
# DCM_Z
# 
my ($method, $value_new) = @ARGV; 

my $status = 1; 

if( $method eq "set_position")
{
    $status = Spectra::move( oh1_mot03 => $value_new, 
			     oh1_mot04 => $value_new, 
			     oh1_mot07 => $value_new); 
}
elsif( $method eq "get_position")
{
    $SYM{RETURN_VALUE} = Spectra::gmup( "oh1_mot03"); 
}
elsif( $method eq "get_limit_min")
{
    $SYM{RETURN_VALUE} = Spectra::gmuli( "oh1_mot03");
}
elsif( $method eq "get_limit_max")
{
    $SYM{RETURN_VALUE} = Spectra::gmula( "oh1_mot03");
}
elsif( $method eq "exec_stop")
{
    Spectra::stop_move( "oh1_mot03");
    Spectra::stop_move( "oh1_mot04");
    Spectra::stop_move( "oh1_mot07");
}
else
{
    Spectra::error( "vm1: failed to identify $method"); 
    $status = 0;
    goto finish;
}
finish:
 $status;