Examples from hasfpgm2

 

 st flashlxuser1 vuvfuser

 flash (jddd application)
   Photons
     FLASH1 photons main panel
       Infrastructure 
         Miscellaneous 
           PG Beckhoff motor overview
             MOT1 and 2
               Mono_PreM
                 FPOS
                   SOLL right-click
                     Enter value 17
                       Start
     Mono_PreM (Motor6.MOT1) Old: MOT6 -> HHE5, HHE6, HHE7, HHE8
     beckhoff-move 17
     !
     ! power on self test
     !
     * = Get_position( hhe5, 6)
     * = Get_position( hhe7, 6) 
     !
     ! start
     !
     * = Get_position( hhe5, 2)
     beckhoff-move 16
     beckhoff-move 17
     * = Get_position( hhe6, 2)
     beckhoff-move 16
     beckhoff-move 17
     * = Get_position( hhe7, 2) 
     beckhoff-move 16
     beckhoff-move 17
     * = Get_position( hhe8, 2) 
     beckhoff-move 16
     beckhoff-move 17
     !
     ! check position
     !
     * = Get_position( hhe5) 
     * = Get_position( hhe6) 
     * = Get_position( hhe7) 
     * = Get_position( hhe8) 

     Mono_GR, MOTOR7.MOT1 Old: MOT7 -> HHE1, HHE2, HHE3, HHE4
     beckhoff-move 48
     !
     ! power on self test
     !
     * = Get_position( hhe1, 6) 
     * = Get_position( hhe3, 6) 
     !
     ! start
     !
     * = Get_position( hhe1, 2)
     beckhoff-move 47
     beckhoff-move 48
     * = Get_position( hhe2, 2)
     beckhoff-move 47
     beckhoff-move 48
     * = Get_position( hhe3, 2) 
     beckhoff-move 47
     beckhoff-move 48
     * = Get_position( hhe4, 2) 
     beckhoff-move 47
     beckhoff-move 48
     !
     ! check position
     !
     * = Get_position( hhe1) 
     * = Get_position( hhe2) 
     * = Get_position( hhe3) 
     * = Get_position( hhe4) 

pg mono reference marks: 

Grating:   
  
hhe1 is at -0.14439453125  
 hhe2 is at -0.14637939453125  
 hhe3 is at -0.1433740234375  
 hhe4 is at -0.14122802734375  
  
Mirror:  
  
 hhe5 is at 0.1382666015625  
 hhe6 is at 0.13710205078125  
 hhe7 is at 0.13473388671875  
 hhe8 is at 0.13580322265625


Old procedure: 
[vuvfuser@hasfpgm2:online$ more ref_mono_mirror.pl
#!/usr/local/bin perl -
#
# The encoders HHE5-8 watch MOT6.
# The reference point is somewhere between 16 and 17
# Operation: each axis is 'started' and then moved 
# over the reference point.
#
# Usage: 
#
# ONLINE> perl ref_mono_mirror.pl
#
use strict;
use Spectra;

my $ret;

Move( mot6 => "17"); 
#
# POST (power-on self test) for both HH cards
#
$ret = Get_position( "hhe5", 6); 
$ret = Get_position( "hhe7", 6); 

foreach my $enc (qw /hhe5 hhe6 hhe7 hhe8/)
{
    #
    # 'start'
    #
    $ret = Get_position( "$enc", 2); 
    #
    # move over reference point
    #
    Move( mot6 => "16.0"); 
    Move( mot6 => "17.0"); 
}

Cls();
print "\n\n\n"; 

foreach my $enc (qw /hhe5 hhe6 hhe7 hhe8/)
{
    print " $enc is at " . Get_position( "$enc") . "\n";
}

----------

[vuvfuser@hasfpgm2:online$ more ref_mono_grating.pl
#!/usr/local/bin perl -
#
# The encoders HHE5-8 watch MOT7.
# The reference point is somewhere between 47 and 48
# Operation: each axis is 'started' and then moved 
# over the reference point.
#
# Usage: 
#
# ONLINE> perl ref_mono_grating.pl
#
use strict;
use Spectra;

my $ret;

Move( mot7 => "48"); 
#
# POST (power-on self test) for both HH cards
#
$ret = Get_position( "hhe1", 6); 
$ret = Get_position( "hhe3", 6); 

foreach my $enc (qw /hhe1 hhe2 hhe3 hhe4/)
{
    #
    # 'start'
    #
    $ret = Get_position( "$enc", 2); 
    #
    # move over reference point
    #
    Move( mot7 => "47.0"); 
    Move( mot7 => "48.0"); 
}

Cls();
print "\n\n\n"; 

foreach my $enc (qw /hhe1 hhe2 hhe3 hhe4/)
{
    print " $enc is at " . Get_position( "$enc") . "\n";
}