Welcome | spec | C-PLOT | Support | Users | Contact
 



Motors
Counters
MCA
Interfaces

    Hardware reference : Motors : New Focus Motors : New Focus Model 8732 Picomotor

New Focus Model 8732 Picomotor



Interface:
  • GPIB, Serial


config file

RS_NF8732 = device_name baud_rate number_of_motors 
GP_NF8732 = gpib_address number_of_motors 

edconf:   DEVICES screen
MOTORS      DEVICE  ADDR <>MODE  NUM                              <>TYPE
   YES  /dev/tty00         9600    4   New Focus Picomotor 8732 (Serial)
   YES                 6           4     New Focus Picomotor 8732 (GPIB)
Each New Focus Picomotor controller unit has five card slots available. Each card has four connectors, and each connector can control up to three channels. The slot, connector and channel numbers need to be encoded in the configuration file by entering unit/channel information with the configuration editor. The unit number selects which Picomotor controller. The channel number selects the slot/connector/channel number of the controller encoded as XYZ, where the slot number is 1 <= X <= 5, the connector is 1 <= Y <= 4 and the channel is 1 <= Z <= 3.

The only parameter from the config file used to program these controllers is the steady-state rate, which is sent to the controller as the pulse frequency.

The New Focus Picomotors are unlike most motor controllers in that there is no way to read the motor positions, and no way to know how far the motors move when commanded. spec attempts to guess how far the motor has moved if the positions are read while the motor is active, or if the move was aborted or stopped, based on the elapsed time of the move and the pulse frequency programmed into the controller. However, the positions reported by spec for the New Focus controllers should not be taken too seriously.

The motor controller can only move 65,535 steps at a time. For larger moves, spec will automatically send 65,535 steps at a time until the complete move is performed.

Only the up-to-three motors on the same connector can be moved simultaneously. spec prints an error message if you to try to move a motor on a one connector while motors on another connector are active. (The moves could be automatically queued in software if users think such additional code development is warranted.)

Note also, the commands chg_dial(mne, "lim+") and chg_dial(mne, "lim-") can be used to start continuous moves, which can be stopped either with ^C or the stop() function. Please beware also, there is no limit switch capability with this controller, so moves must be stopped by user intervention.

 

Function Reference:

Command pass through is available using the following functions.
motor_par(motor, "send", cmd)
Sends the string cmd to the New Focus channel associated with motor .
motor_par(motor, "read", cmd)
Sends the string cmd to the New Focus channel associated with motor , as above, and returns a string containing the response.
The following special commands are also available:
motor_par(motor, "always_address", cmd)
By default, spec currently prefixes each command sent to the controller with an eleven-character channel-select instruction. Communication can be made more efficient by turning off the "always_address" feature by calling this function with mode set to 0. With the mode off, the channel-select instruction is only sent when needed. The reason for always sending the channel-select information is to avoid spec losing track of the current channel in the event a user manually switches the controller to local mode.
motor_par(motor, "was_local")
This command will force spec to issue a channel-select instruction for the next command, allowing recovery after manually switching the controller to local mode when the "always_address" mode is off.

Top