Motor Record Version 3.5 Release Notice

Release 3.5 of the motor record is only compatible with EPICS baseR3.13.1.1 and above.  This document describes changes made to the motor record and its' associated device driver support between versions 3.4 and 3.5.  Those changes are as follows:

Modifications to Existing Features

Command Primitives

This feature is available only with OMS VME8/44/58 or Newport MM4000 device support (i.e., devOms, devOms58, devMM4000). Three motor record fields are available to the user to send ASCII command primitives to the servo control board at fixed, predefined, times.  Each of the following fields is defined as a character string:
  1. INIT - Sent at record initialization.
  2. PREM - Sent before every command string that causes motion.
  3. POST - Sent after a complete motion is finished or when an overtravel limit switch is detected.
No error checking is done by the motor record or the device driver to insure that the command strings are valid.  Command primitives that result in a response from the motion control board are valid, but the response is not processed.

Servo related Fields

Unused Fields Removed

The following unused motor record fields were deleted: MODE, TRAK, MDEL, ADEL, CVEL, POSM, ALST, MLST
 
 

New Features

Device Directives

Device directive definition and processing:

Driver Power Monitoring

Soft Channel Device Support

The immediate goals for soft channel motor record device support were twofold.  First, to solve the problem of nonlinear position conversion in the data base, rather than in the record.  Second, to provide a more flexible motor record interface for Table Records and SPEC.

New fields have been added to the motor record to support the Soft Channel device driver.   The new fields are all database links associated with existing motor record fields.  The new links and their associated fields are listed in the table below:
 
 

Link Link Type  Associated Field
OUT* DBOUTPUT
DVAL
STOO DBOUTPUT STOP
DINP DBINPUT DMOV
RDBL* DBINPUT
DRBV
RINP DBINPUT
RMP

* - Not a new field, but a new function provided only by soft channel device support.

The Soft Channel database links are only processed when the Soft Channel device driver is selected.  These links are ignored when using any other Motor Record device driver.  At this time, the above links are not dynamically retargetable.

The OUT, DINP and RDBL are monitored for value changes via a CA event task.  Users must choose either a dial input link (RDBL) or a raw input link (RINP), but not both.
 
 

Newport MM4000 Device Support

This is Mark Rivers MM4000 device support ported to the latest motor record release.  The following are the functional differences between Mark's version 1.01 and
this release:
  1. When either user or dial travel limit values are entered, a validity check is made using the travel limit values from the MM4000 control.  User and dial travel limit values are valid if they are within the travel limits set on the front panel of the MM4000 controller.  Attempting to enter a travel limit outside the MM4000 controller's range results in the travel limit being reset to the MM4000's value.
  2. Servo support has been extended to the MM4000 controller.

PID Gain Parameters

With this release there are two ways to set the motor controllers' PID parameters; either through the Combined Gain field (i.e., GAIN) or through the individual PID gain parameter fields (i.e., PCOF, ICOF, DCOF).  Let the motor controller PID parameters be represented by CKP, CKI and CKD; then the relationship between these two methods is as follows:
For the MM4000                    For all OMS controllers
Note that setting any of the individual PID record fields is not reflected in the value of the GAIN field.

Highland V544 Device Support

Device support for the Highland V544 is available with this release.  This version (i.e., version 1.3) is functionally the same as the earlier release (i.e., version 1.2).  No new features have been added.
 

Motor Record Version 3.4 Release Notice

This document describes changes made to the motor record and its' associated device driver support between versions 3.3 and 3.4.  Those changes are as follows:

Device driver design error fix

A design error was discovered in the OMS device drivers (drvOms and drvOms58).  The EPICS device driver support task (i.e., tmotor) would query the OMS motion controller for status information immediately after a motion command.  Since the state of the controller board was in the midst of changing, this sometimes resulted in inconsistent or conflicting status information being returned to the motor record.  This problem was remedied by enforcing a minimum time delay (16.67 ms) between a motion command and a status query.

It is difficult to enumerate the symptoms associated with this problem.  Sometimes they exhibited themselves intermittently, other times bad data stayed in the record.   Several symptoms are as follows:

PID Parameter Support for VME58

The motor record classifies a motor as a servo if it has two features; an adjustable closed loop position response gain and the ability to enable/disable closed loop position control (i.e., motor torque).  A motor lacking either of the above two features is classified as a stepper and is supported by the standard motor record features.  The following three motor record fields support servo motors:

  1. GAIN - Closed loop position response gain of the motor.
  2. CNEN - Enable/disable closed loop position control request.
  3. STEN - Closed loop position control status (i.e.,
     enabled/disabled).

Currently, servo support is only available with OMS's VME58 device support (i.e., VME58-[4S/8S/2S2/2S6/4S4/6S2] model boards).  At driver initialization, the driver automatically detects whether or not the underlying device supports the use of the GAIN field and thereby classifies the motor as a stepper or a servo.   Bit#11 of the MSTA field is set on/off based on the results of this test.  If the device supports the GAIN field, then bit#11 of the MSTA is set on and all of the above servo fields are enabled.   Otherwise, they are disabled and bit#11 of the MSTA is set off.  When the servo fields are disabled, they can still be read or written to without an error response.

The VME58 device support allows the closed loop position gain of the motor to be set directly through the GAIN field.  For the VME58, setting the GAIN field value results in the Combined Coefficient command (i.e., KK#) being executed with the GAIN field value as the argument to the command.  This command, in turn, sets the PID loop parameter values (with the OMS VME58, gain changes do not take effect until the command velocity is zero).

The user can request that the closed loop position control be enabled or disabled by setting the CNEN field nonzero or zero, respectively.
Likewise, the user can monitor the state of closed loop position control (i.e., enabled/disabled) by reading the STEN field.  See the OMS "VME58 Family User's Manual" for further details.

Command primitives feature

Three motor record fields are available to the user that can be used to send ASCII command primitives to the servo control board at fixed, predefined, times.  Each field is defined as a character string.

  1. INIT - Sent at record initialization.
  2. PREM - Sent before every command string that causes motion.
  3. POST - Sent after a complete motion is finished.

No error checking is done by the motor record or the device driver to insure that the command strings are valid.  Command primitives that result in a response from the motion control board are valid, but the response is not processed.