Table of Contents Previous Chapter Chapter 33: Stepper Motor

Chapter 33: Stepper Motor

1. Introduction

The steppermotor record type is used to control stepper motors.

2. Field Summary

--------------------------------------------------------------
Field  Type       DCT  Initial  Access  Modify  Rec Proc   PP   
                                                Monitor         
--------------------------------------------------------------
VAL    FLOAT      No   0        Yes     Yes     Yes        Yes  
OUT    OUTLINK    Yes  0        No      No      N/A        No   
RDBL   INLINK     Yes  0        No      No      N/A        No   
DOL    INLINK     Yes  0        No      No      N/A        No   
OMSL   GBLCHOICE  Yes  0        Yes     Yes     No         No   
ACCL   FLOAT      Yes  0        Yes     Yes     No         No   
VELO   FLOAT      Yes  0        Yes     Yes     No         No   
DIST   FLOAT      Yes  0        Yes     Yes     No         No   
IVAL   FLOAT      Yes  0        Yes     Yes     No         No   
MODE   RECCHOICE  Yes  0        Yes     Yes     No         No   
CMOD   RECCHOICE  Yes  0        Yes     Yes     No         No   
IALG   RECCHOICE  Yes  0        Yes     Yes     No         No   
MRES   USHORT     Yes  0        Yes     Yes     No         No   
ERES   USHORT     Yes  0        Yes     Yes     No         No   
PREC   SHORT      Yes  0        Yes     Yes     No         No   
EGU    STRING     Yes  Null     Yes     Yes     No         No   
DRVH   FLOAT      Yes  0        Yes     Yes     No         Yes  
DRVL   FLOAT      Yes  0        Yes     Yes     No         Yes  
HOPR   FLOAT      Yes  0        Yes     Yes     No         No   
LOPR   FLOAT      Yes  0        Yes     Yes     No         No   
HIHI   FLOAT      Yes  0        Yes     Yes     No         Yes  
LOLO   FLOAT      Yes  0        Yes     Yes     No         Yes  
HIGH   FLOAT      Yes  0        Yes     Yes     No         Yes  
LOW    FLOAT      Yes  0        Yes     Yes     No         Yes  
HHSV   GBLCHOICE  Yes  0        Yes     Yes     No         Yes  
LLSV   GBLCHOICE  Yes  0        Yes     Yes     No         Yes  
HSV    GBLCHOICE  Yes  0        Yes     Yes     No         Yes  
LSV    GBLCHOICE  Yes  0        Yes     Yes     No         Yes  
HLSV   GBLCHOICE  Yes  0        Yes     Yes     No         Yes  
ADEL   FLOAT      Yes  0        Yes     Yes     No         No   
MDEL   FLOAT      Yes  0        Yes     Yes     No         No   
RDBD   FLOAT      Yes  0        Yes     Yes     No         No   
RTRY   SHORT      Yes  0        Yes     Yes     No         No   
STHM   SHORT      No   0        Yes     Yes     No         Yes  
STOP   SHORT      No   0        Yes     Yes     No         Yes  
DMOV   SHORT      No   0        Yes     Yes     No         No   
RVAL   LONG       No   0        Yes     Yes     Yes        Yes  
RBV    FLOAT      No   0        Yes     Yes     Yes        No   
RRBV   LONG       No   0        Yes     Yes     Yes        No   
ALST   FLOAT      No   0        Yes     No      No         No   
MLST   FLOAT      No   0        Yes     No      No         No   
INIT   SHORT      No   0        Yes     Yes     No         Yes  
MCW    SHORT      No   0        Yes     Yes     No         Yes  
MCCW   SHORT      No   0        Yes     Yes     No         Yes  
CW     SHORT      No   0        Yes     Yes     No         Yes  
CCW    SHORT      No   0        Yes     Yes     No         Yes  
DIR    SHORT      No   0        Yes     Yes     No         Yes  
MOVN   SHORT      No   0        Yes     Yes     No         No   
CVEL   SHORT      No   0        Yes     Yes     No         No   
RCNT   SHORT      No   0        Yes     Yes     No         No   
POSM   SHORT      No   0        Yes     Yes     No         No   
LVAL   FLOAT      No   0        Yes     No      No         No   
EPOS   FLOAT      No   0        Yes     Yes     No         No   
MPOS   FLOAT      No   0        Yes     Yes     No         No   
MISS   FLOAT      No   0        Yes     Yes     No         No   
LVEL   FLOAT      No   0        Yes     Yes     No         No   
LACC   FLOAT      No   0        Yes     Yes     No         No   
--------------------------------------------------------------

3. Field Descriptions

------------------------------------------------------------------------------------------
Name  Summary               Description                                                     
------------------------------------------------------------------------------------------
VAL   Value                 This is the desired output value, in engineering units. If      
                            DRVH and DRVL are defined, VAL is forced to be within           
                            the drive limits. VAL is either obtained from DOL or set        
                            via dbPuts.                                                     
OUT   Output Link           This field is used by the device support routines to locate     
                            the stepper motor.                                              
RDBL  Read Back             This link is used to obtain the read back value when a          
      Location (Input       physical read back is attached to the device being driven       
      link)                 from the stepper motor.                                         
DOL   Desired Output        If DOL is a database or channel access link and OMSL is         
      Location (Input       CLOSED_LOOP, then VAL is read from DOL. After the               
      Link)                 check for drive limits, VAL will be set to the value            
                            determined by DOL.                                              
OMSL  Output Mode Select    This field has either the value SUPERVISORY or                  
                            CLOSED_LOOP.  DOL is used to determine VAL only if              
                            OMSL has the value CLOSED_LOOP.  By setting this field,         
                            the record can be switched between supervisory and              
                            closed loop mode of operation. While in closed loop             
                            mode, the VAL field cannot be set via dbPuts.                   
ACCL  Acceleration          Number of seconds to reach VELO velocity.                       
VELO  Velocity              Rotations per second.                                           
DIST  Distance              Distance moved by each pulse of the stepper motor.              
IVAL  Initial Value                                                                         
MODE  Mode                  Velocity or Position.                                           
CMOD  Current Mode          Velocity or Position.                                           
IALG  Initialization        None, Move to positive limit, Move to negative limit.           
      Algorithm                                                                             
MRES  Motor Pulses per                                                                      
      Revolution                                                                            
ERES  Encoder Pulses per                                                                    
      Revolution                                                                            
PREC  Display Precision     Precision with which to display.  This field is used by         
                            record support to supply a value when get_precision             
                            is called.                                                      
EGU   Engineering Units     ASCII string describing Engineering units.  This field is       
                            used by record support to supply a units description string     
                            when get_units is called.                                       
DRVH  Drive High            If these values are defined, then VAL will forced to be in      
                            the range DRVL<=VAL<=DRVH                                 
DRVL  Drive Low                                                                             
HOPR  High Operating        These fields determine the upper and lower display limits       
      Range                 for graphics displays and the upper and lower control           
                            limits for control displays. The fields are used by record      
                            support to honor calls to get_graphic_double or                 
                            get_control_double.                                             
LOPR  Low Operating Range                                                                   
HIHI  Hihi Alarm Limit      These fields specify the alarm limits.                          
HIGH  High Alarm Limit                                                                      
LOW   Low Alarm Limit                                                                       
LOLO  Lolo Alarm Limit                                                                      
HHSV  HiHi Alarm Severity   These fields specify the alarm severities.                      
HSV   High Alarm Severity                                                                   
LSV   Low Alarm Severity                                                                    
LLSV  LoLo Alarm Severity                                                                   
HLSV  Hardware Limit                                                                        
      Violation Severity                                                                    
ADEL  Archive Deadband      These parameters specify hysteresis factors for triggering      
                            monitor callbacks, i.e. monitors specified by calls to          
                            caAddEvent or dbAddEvent. A monitor will not be                 
                            triggered until VAL changes by more than the specified          
                            amount.                                                         
MDEL  Monitor, i.e. value                                                                   
      change, Deadband                                                                      
RDBD  Retry Deadband                                                                        
RTRY  Number Of Retries                                                                     
      Before Failure                                                                        
STHM  Set Home              Setting this field to 1 via a dbPut is a command to set         
                            home to the current position of the stepper motor. This         
                            field will automatically be reset to 0 after the command is     
                            accepted.                                                       
STOP  Stop                  Setting this field to 1 will cause the motor to stop if it is   
                            moving. This field will automatically be reset to 0 after       
                            the command is accepted.                                        
DMOV  Done Moving to                                                                        
      Value                                                                                 
RVAL  Raw Data Value        RVAL is the value actually sent to the device.                  
RBV   Read Back Value       This is the actual read back value obtained from the            
                            hardware itself or from the associated device driver.  It is    
                            the responsibility of the device support routine to give this   
                            field a value.                                                  
RRBV  Raw Read Back         Raw read back value obtained from the encoder.                  
      Value                                                                                 
ALST  Archive Last Value    Value when last monitors for archiver were triggered            
                            These fields are used to implement the hysteresis factors       
                            for monitors.                                                   
MLST  Monitor Last Value                                                                    
INIT  Initialize                                                                            
MCW   Motor Clockwise                                                                       
      Limit Switch  Value                                                                   
MCCW  Motor Counter                                                                         
      Clockwise Limit                                                                       
      Switch Value                                                                          
CW                          Is motor clockwise limit switch TRUE?                           
CCW                         Is motor counter clockwise limit switch True?                   
DIR   Current Direction                                                                     
MOVN                        Is motor moving?                                                
CVEL                        Has Constant velocity been attained?                            
RCNT  Current Retry                                                                         
      Count                                                                                 
LVAL  Last Value                                                                            
POSM  Positive Motion                                                                       
EPOS  Encoder Read                                                                          
      Back Position                                                                         
MPOS  Motor Position                                                                        
MISS  First Attempt Error                                                                   
LVEL  Last Velocity Set                                                                     
LACC  Last Acceleration                                                                     
      Set                                                                                   
------------------------------------------------------------------------------------------

4. Record Support Routines

init_record

This routine checks to see that device support is available. The routine next checks to see if the device support sm_command routine is defined. If either device support or the device support write routine does not exist, an error message is issued and processing is terminated.

If device support includes init_record, it is called.

If DOL is a constant, then VAL is initialized with its value and UDF is set to FALSE. If DOL is a PV_LINK then a channel access link is created.

init_sm is then called.

init_record

Not written yet.

process

See next section.

get_value

Fills in the values of struct valueDes so that they refer to VAL.

get_units

Retrieves EGU.

get_precision

Retrieves PREC.

get_graphic_double

Sets the upper display and lower display limits for a field. If the field is VAL, LVAL, MPOS, RBV, EPOS, HIHI, HIGH, LOW, or LOLO, the limits are set to HOPR and LOPR, else if the field has upper and lower limits defined they will be used, else the upper and lower maximum values for the field type will be used.

get_control_double

Sets the upper control and the lower control limits for a field. If the field is VAL, LVAL, MPOS, RBV, EPOS, HIHI, HIGH, LOW, or LOLO, the limits are set to HOPR and LOPR, else if the field has upper and lower limits defined they will be used, else the upper and lower maximum values for the field type will be used.

get_alarm_double

Sets the following values:

  upper_alarm_limit = HIHI
  upper_warning_limit = HIGH
  lower_warning_limit = LOW
  lower_alarm_limit = LOLO

5. Record Processing

Not yet written

6. Device Support

At the present time, device support is intimately connected to record support. The compumotor 1830 and the OMS 6 axis controllers are supported.

 
Table of Contents Next Chapter