User Tools

Site Tools


products:ms2000

Table of Contents

MS2000, MFC2000 and RM2000 Controller

Safety Information

Manuals

Tech Notes

Advanced Feature

Serial Commands

Command:AALIGN (AA)

MS2000 or RM2000 syntax
Shortcut AA
Format AALIGN [axis] = ### …
Units 0-99, hardware potentiometer value
Tiger syntax
Shortcut AA
Format AALIGN [axis] = ### …
Units 0-99, hardware potentiometer value
Type Axis-Specific

Adjusts the drive strength by writing to a non-volatile on-board potentiometer. Normally done once at the factory and never adjusted again. After changing the value the AZERO command should be run.

WARNING – The stage may move when the AALIGN command is sent.

→ Read more...

2016/03/14 21:32

Command:ACCEL (AC)

MS2000 or RM2000 syntax
Shortcut AC
Format ACCEL [axis] = [time in msec]…
Units millisecond
Remembered Using SS Z
Tiger syntax
Shortcut AC
Format ACCEL [axis] = [time in msec]…
Units millisecond
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the amount of time in milliseconds that it takes an axis motor speed to go from the start velocity to the maximum velocity and then back down again at the end of the move. At a minimum, this acceleration / deceleration time must be greater than t_step (the amount of time it takes for the controller to go through one loop of its main execution code; the INFO command shows t_step).

→ Read more...

2016/03/14 21:25

Command:AFADJ

MS2000 and RM2000 Syntax
Shortcut AFADJ
Format AFADJ [X= zero pot value] [Y= video amplitude value] [Z= value]
Units integer
Remembered Using SS Z
Tiger Syntax
Shortcut AFADJ
Format [Addr#]AFADJ [X= zero pot value] [Y= video amplitude value] [Z= value]
Units integer
Type Card-Addressed
Remembered Using [Addr#]SS Z

X & Y values range between 0 and 100. Y determines amplitude of the video signal entering the system. Setting a 0 value attenuates a video signal completely, while a setting of 100 lets the full signal go through. Attenuating a video signal also reduces the noise in the signal. If the focus value on the LCD reads 2047, then the system is saturated with too much signal, try reducing the Y value.

X is the zeroing potentiometer; the value of X should be set such that, when Y is 0, the focus value is also 0000 (or as close as possible).

Z sets the gain of the final Analog to Digital Converter (ADC) in the auto-focus system. Range: 0 to 3. By adjusting this setting, a focus value for a sparse sample can be magnified to get better focus. If an incorrect value of gain is used, the ADC saturates and the focus value reaches 2047. Upon system restart, the setting returns to its default value of 0. Perform an SS Z command to save the current gain setting in non-volatile memory.

AFADJ GAIN
Z=0 1x
Z=1 2x
Z=2 4x
Z=3 8x

→ Read more...

2016/03/23 23:43

Command:AFCALIB (AFC)

MS2000 and RM2000 Syntax
Shortcut AFC
Format AFCALIB [X= contrast] [Y= frame offset] [F= switch axis]
Units integer
Remembered Using SS Z
Tiger Syntax
Shortcut AFC
Format [Addr#]AFCALIB [X= contrast] [Y= frame offset] [F= switch axis]
Units integer
Type Card-Addressed
Remembered Using [Addr#]SS Z

The command without arguments will initiate series of auto-focus scans and selects various internal parameters for best focus value. Parameters changed by AFCALIB are the Highlighted Area (AFLIM), Zero Adjust (AFADJ), and ADC Gain (AFADJ). On some focus controllers, the AFCALIB routine can also be activated by holding down the HOME button for longer than 3 seconds. The AFCALIB’s auto-calibration scans use the same speed and travel distance value that were set by the AFOCUS command. NOTE: Please use the HALT command or the \ to cancel an auto calibration – any other method may stop the move but may corrupt your settings.

X= Sets the minimum contrast value. During an auto-focus run, if the controller finds the difference between the maximum and minimum focus value to be less than the contrast value, it declares the run a failure and returns to the starting position. Default value is 10.

Y= Frame Offset, a floating-point constant that maps to a time interval. Changing this number alters the sharpness of focus. The default values are 3.5 for motor driven focus drives, and 3.75 for piezo driven focus drives. This setting compensates for time lags inherent to the video processing.

F= Switch Axis; if your focus controller can control two focus axes, e.g., a motorized drive and a piezo drive, then you may have the option to choose which axis to use for auto-focusing. Every axis that the focus controller controls is assigned a number starting from zero. Check with ASI to determine if this option is available for your system and to get the number for each axis.

Executing AFC alone will begin the Auto Calibration routine. Using AFC with arguments will only set or read back those parameters.

→ Read more...

2016/03/23 23:50

Command:AFINFO

MS2000 and RM2000 Syntax
Format AFINFO
Minimum Firmware version Required v8.7+
Tiger Syntax
Format [Addr#]AFINFO
Type Card-Addressed
Minimum Firmware version Required v3.26+

This command returns all the values of variables and constants that control Autofocus. It also returns maximum focus value found during last autofocus run, original location and location after frame offset was applied.

→ Read more...

2016/03/24 00:25

Command:AFLIM (AL)

For CRISP
Tiger Syntax
Shortcut AL
Format [Addr#]AL [X=Log_amp_AGC] [Y=LED_intesity_pot] [Z=in_focus_mm]
Type Card-Addressed
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Shortcut AL
Format AL [X=Log_amp_AGC] [Y=LED_intesity_pot] [Z=in_focus_mm]
Remembered Using SS Z

X and Y arguments of this command to directly read and write values (0 to 255) to the CRISP electronics digital potentiometers. (Not recommended for use with host software.)

The Z-argument specifies the focus precision (in millimeters) when the lock state changes from K or k to F. Useful for automatic checking of desired focus stability. Also useful to enforce a tighter or looser focus state before indicating a lock condition. Note that this value is overwritten whenever the NA of the objective is specified via the LR Y command as of November 2015.

For Video Autofocus
Tiger Syntax
Shortcut AL
Format [Addr#]AL [X= x-axis highlight] [Y= y-axis highlight] [Z= safety limit enable]
Type Card-Addressed
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Shortcut AL
Format AL [X= x-axis highlight] [Y= y-axis highlight] [Z= safety limit enable]
Remembered Using SS Z

The X and Y values set the length and breadth of the Sampled/Highlighted Video area. Range is 0 to 100, with the value of 0 covering 0% of the video frame and 100 covering 90% of video frame.

The Z value enables or disables the 200 µm safety limit described in the AUTOFOCUS OPERATION section on page 4. Setting safety limit enable = 1 enables the safety limit; safety limit enable = 0 disables the safety feature. The default value is 1.

Caution: Disabling the safety limit could result in damage to your optics, your sample, or your focus drive.

AL X=80 Y=50 Z=1
:A<CR><LF>
AL
:N-3 

Error indicates missing arguments

AL X=1000 Y=-12
:N-4

Error indicates arguments out of range

AL X=90 Y=90
:N-5 

Error indicates operation failed, try entering one argument at a time

AL X? Y? Z?
:A X=80 Y=50 Z=1
2016/02/24 00:18

Command:AFMOVE (AM)

MS2000 and RM2000 Syntax
Shortcut AM
Format AFMOVE [X=0 or 1]
Units interger code (0 or 1)
Remembered Using SS Z
Tiger Syntax
Shortcut AM
Format [Addr#]AFMOVE [X=0 or 1]
Units interger code (0 or 1)
Type Card-Addressed
Remembered Using [Addr#]SS Z

At this time this Autofocus 2 feature isn't supported on Tiger controllers.

A mode command that influences subsequent commanded moves. If X=1, then upon completion of a commanded XY move (MOVE and MOVREL), for example, MOVE X=123 Y=456 , a multi-axis controller will then automatically initiate an auto-focus.

→ Read more...

2016/03/24 22:39

Command:AFOCUS (AF)

MS2000 and RM2000 Syntax
Shortcut AF
Format AFOCUS X= [% of speed] Y= [travel distance in mm] Z= [Hill Detect enable] F= [Hill Offset]
Remembered Using SS Z
Tiger Syntax
Shortcut AF
Format [Addr#] AFOCUS X= [% of speed] Y= [travel distance in mm] Z= [Hill Detect enable] F= [Hill Offset]
Type Card-Addressed
Remembered Using [Addr#]SS Z

The AFOCUS command will invoke an auto-focus routine using the speed and travel range specified by the previously set X and Y parameter settings. This routine can also be activated by pressing “@” button on most controllers. Entering AF without arguments will initiate the auto-focus routine itself, whereas issuing an AF with arguments will only set the parameters. An auto-focus scan can be canceled with HALT command or by issuing the \ shortcut. When an AF command is issued, the controller only replies after the operation is complete. It returns a :A[###] if the operation was successful, or N-5 if there was an error.

X= Speed. Range is 0 to 100 denoting the percentage of the focus drive’s maximum possible speed to travel during an auto-focus scan. This speed is also used by the AFCALIB (or AFC) command.

Y= Total scan range in millimeters. The focus controller moves down one-half this travel distance, and then scans up the full travel distance. This range is also used by AFCALIB (or AFC) command.

Z= Search type; either 0 or 1. A value of 0 enables Normal mode, while a 1 enables Hill Detect mode. (Z values 2 and 3 are reserved for future use.)

F= Hill Offset. Range is 0 to 100 denoting a percentage of a hill. If the Search Type is Hill Detect, then this setting determines when the scan will end. Once a hill peak is detected, the scan will terminate when past the peak by the Hill Offset percentage value.

→ Read more...

2016/03/24 22:47

Command:AHOME (AH)

MS2000 or RM2000 syntax
Shortcut AH
Format AH [X=x0] [Y=y0]
Units millimeters
Required Firmware Module ARRAY
Remembered Using SS Z
Tiger syntax
Shortcut AH
Format [addr#]AH [X=x0] [Y=y0]
Units millimeters
Type Card-Addressed
Required Firmware Module ARRAY
Remembered Using [addr#]SS Z

Used with the ARRAY command to set the coordinate location of the first array position, (1,1). Without arguments, the command set the current location to the (1,1) location. Otherwise, x0 and y0 are the coordinates expressed in millimeters.

2016/03/14 21:49

Command:AIJ

Array Module
MS2000 or RM2000 syntax
Shortcut IJ
Format AIJ [X=i] [Y=j]
Units array location
Required Firmware Module ARRAY
Remembered Using SS Z
Tiger syntax
Shortcut IJ
Format [addr#]AIJ [X=i] [Y=j]
Units array location
Type Card-Addressed
Required Firmware Module ARRAY
Remembered Using [addr#]SS Z

Used with the ARRAY command to move to array location (i,j), where i and j are the indices of the desired array location. The AHOME location is position (1,1).

Tiger MicroMirror Phototargeting
Shortcut IJ
Format [addr#]AIJ [X=horiz_position] [Y=vert_position]
Units axis units
Type Card-Addressed
Required Firmware Module MM_TARGET
Remembered Using [addr#]SS Z

Moves to the specified location (horiz_position, vert_position) subsequently pulses the laser TTL signal. Positions are specified in axis units (the same as used by the WHERE or MOVE command). If the X and/or Y argument is omitted, the corresponding position from the last AIJ command will be used. Note that the position is changed as a side effect of this command. The WHERE or MOVE command will change the beam position without pulsing the laser TTL signal.

The settling delay before turning on the laser and the laser pulse high time are specified using the WAIT and RTIME commands respectively.

The assignments of horizontal and vertical axes are done using the SCAN command (most users will never need to change the defaults: the horizontal or X axis is the card’s first axis and the vertical or Y axis is the card’s second axis).

2016/03/14 21:52

Command:ARM

Shortcut ARM
Format ARM [X] [Y=log] [Z]
Remembered Using SS Z

Without arguments, this command establishes the ARM_COMMAND_RCVD event. Typically it is used to start the SEQUENCER via a single serial command.

ARM X re-initializes the SEQUENCER. This command is useful if the RESET conditions are changed or if the sequencer is hung in a non-IDLE state.

ARM Y=1 turns on or ARM Y=0 turns off the serial log file creation.

ARM Z forces a “sequence stop” condition. The sequencer is re-initialized; all blocks with ALWAYS start conditions are placed in the IDLE state, and all stage motion is halted.

2016/05/18 19:59

Command:ARRAY (AR)

MS2000 or RM2000 syntax
Shortcut AR
Format AR [X=Nx] [Y=Ny] [Z=Δx] [F=Δy] [T=θ]
Units X and Y in integer, Z and F in mm, θ tilt degrees from X axis
Required Firmware Module ARRAY
Remembered Using SS Z
Tiger syntax
Shortcut AR
Format [addr#]AR [X=Nx] [Y=Ny] [Z=Δx] [F=Δy] [T=θ]
Units X and Y in integer, Z and F in mm, θ tilt degrees from X axis
Type Card-Addressed
Required Firmware Module ARRAY
Remembered Using [addr#]SS Z

The ARRAY command sets up a grid of points that can be traversed automatically with simple TTL control or with the RBMODE or AIJ commands. The size of the array is Nx by Ny points, with points spaced apart distance Δx and Δy (expressed in millimeters). The location of the first point in the array is set with the AHOME command. Small tilt corrections can be included using the T=tilt angle in degrees from the X-axis. The actual Δx and Δy for each move will be modified to account for the tilt angle.

Without arguments, the AR command starts self-scanning of the array. When the stage arrives on target, it will delay for a period of time set by the command RT Z=time_delay before continuing on to the next position. It is possible to repeat the array using the RM F byte.

2016/03/14 22:13

Command:AZERO (AZ)

MS2000 or RM2000 syntax
Shortcut AZ
Format AZERO [axis]…
Units none
Tiger syntax
Shortcut AZ
Format AZERO [axis]…
Units none
Type Axis-Specific

Automatically adjusts the zero balance of the motor drive card.

If AZ replies with NOT Zerod , run it again. If its unable to zero, then you may need to change AA setting.

→ Read more...

2016/03/14 21:35

Command:BACKLASH (B)

Motorized Actuator
MS2000 or RM2000 syntax
Shortcut B
Format BACKLASH [axis] = [distance]…
Units millimeter
Remembered Using SS Z
Tiger syntax
Shortcut B
Format BACKLASH [axis] = [distance]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets (or displays) the amount of distance in millimeters to travel to absorb the backlash in the axis' gearing. This backlash value works with an anti-backlash routine which ensures that the controller always approaches the final target from the same direction. A value of zero (0) disables the anti-backlash algorithm for that axis. Default depends on motor build but is 0.04 for most common 4 TPI leadscrew pitch, 0.01 for most common 16 TPI leadscrew pitch, and 0.02 for the x-axis of scan-optimized stages.

Example:

B X=.05 Y=.05 Z=0 
:A
B x?
:X=0.040000 A

The command in this example will make the controller move the X and Y axes to a location 50 microns away from the final target before moving to the final target, while the anti-backlash algorithm for the Z axis is disabled.

MicroMirror and Tunable Lens Card
Shortcut B
Format B [axis]=[0.1 or 650] …
Units Frequency in kHZ
Type Axis-Specific
Remembered Using [addr#]SS Z

This command is “recycled” for a different use in MicroMirror axes than for motor axes. In the context of a MicroMirror axis this command is used to set the cut off frequency of the 5th order Bessel filter. Units are in KHz. The lowest acceptable value is 0.1 (100Hz) and highest is 650 (650kHz). For a typical micro-mirror to avoid mechanical resonance this should be set no higher than 0.8 kHz.
Example:

B R=0.1 S=0.1 
:A

Sets 100Hz filter cut off freq for R and S axes

B P? Q?		 
:P=0.4 B=0.4 A

Queries the filter cut off freq for P and Q axes

2016/03/14 22:19

Command:BCUSTOM (BCA)

MS2000 or RM2000 syntax
Shortcut BCA
Format BCA [X=@ Normal Press] [Y = @ Long Press] [ Z= @ Extra Long Press] [F= Home Long Press] [T= Home Extra Long Press] [R=JS Normal Press] [M = JS Long Press]
Units Integer code (see table below)
Firmware Version Required 9.2g+
Remembered Using SS Z
Tiger syntax
Shortcut BCA
Format [addr#]BCA [X=@ Normal Press] [Y = @ Long Press] [ Z= @ Extra Long Press] [F= Home Long Press] [T= Home Extra Long Press] [R=JS Normal Press] [M = JS Long Press]
Units Integer code (see table below)
Type Card-Addressed
Firmware Version Required 3+
Remembered Using [addr#]SS Z

In Tiger version 3.0+ and MS2000 version 9.2g+ the Button Function assignment has been rewritten to be more flexible. Every possible button function is now assigned a number. This function can be assigned to any button (@,Home and Joystick Button) and any press duration (Normal, Long and Extra Long press) thru the BCA commands X,Y,Z,F,T,R and M arguments.

The settings of BCUSTOM are automatically saved in non-volatile memory when changed, they will be available even on controller restart.

As of Tiger version 3.18 and MS2000 version 9.2l a button function can be initiated over serial using the BE F command (BENABLE). The function doesn't need to be assigned to a particular button for this to work.

Note: Behavior of this command is very different pre Tiger version 3.0 and MS2000 version 9.2g

→ Read more...

2016/03/14 22:34

Command:BENABLE (BE)

MS2000 or RM2000 syntax
Shortcut BE
Format BENABLE [X=Toggle] [Z=Enable_Byte] [F=Button_Function]
Units none
Remembered Using SS Z
Tiger syntax
Shortcut BE
Format [Addr#]BENABLE [X=Toggle] [Y?] [Z=Enable_Byte] [F=Button_Function]
Units none
Type Card-Addressed
Remembered Using [addr#]SS Z

Enables or disables button functions for the specified card and specified buttons, either all/none (X, or Toggle) or with finer granularity (Z, or Enable_byte). Toggle=0 disables all buttons and pulses; i.e. BE X=0 is equivalent to BE Z=0. Toggle=1 enables all buttons and pulses (default settings); i.e. BE X=1 is equivalent to BE Z=15. Querying X returns the same as querying Z. Specific buttons can be enabled/disabled by explicitly setting the Enable_Byte. The bits are set to one 1 when enabled or zero 0 when disabled, and are defined as follows:

Z parameter Enable_Byte is bit-mapped number that determines which buttons are enabled or disabled as tabulated below. Bit5 is a special case; it changes the behavior of the physical button to zero the Z axis only and has been removed from Tiger code after v3.20.

Bit# Button
0 “Zero” Button
1 “Home” Button
2 “@” Button
3 Joystick Button
4 Reserved
5 Zero Z Only (removed from Tiger after v3.20)
6 Reserved
7 Reserved

F parameter Button_Function is a positive integer code for the button function that will be executed. See documentation of BCUSTOM for a list of available button functions. This allows a button press to be simulated using a serial command. This is available from Tiger v3.19 onward and in middle of Whizkid v9.2l.

Tiger Example
To make Axis on Card#1 ignore the zero and home button, and only respond to Joystick and @ buttons. Bit 3 and Bit 2 set to '1' , Bit 1 and Bit 0 set to '0'. Binary '1100' is Decimal '12'
1BE Z=12
:A
MS2000 Example
To make all the axis on controller ignore the zero and home button, and only respond to Joystick and @ buttons. Bit 3 and Bit 2 set to '1' , Bit 1 and Bit 0 set to '0'. Binary '1100' is Decimal '12'
BE Z=12
:A
Additional Feature in Tiger Version 3.14+
Addressing the COMM card specifically (or omitting the address on the command) results in a different behavior. Disabling a button on the COMM card will result in disabling that functionality for all cards in the rack. This disabling happens at the COMM card so the other cards in the rack never receive notification of a change in the button's state. In this way, individual cards may be set to the desired functionality and a layer of control over all cards may be applied without affecting the settings on individual cards.

The 0BE Y? query command provides a report of past button states. Every time one of the inputs is activated, the COMM card notes the activation by setting a bit in a status byte. That bit will remain set until the status byte is queried again on the COMM card with 0BE Y?. The result of the query will return the current status byte to the host, then clear the status byte (set all bits representing input sources to 0), thereby preparing the status byte for further button press detection. The format of the bits in the returned status byte is the same as the table above. A one 1 on the specified bit represents the input has been activated since the last query.

Starting with v3.21, a button that is held down during a serial query of button state will be reported as activated every query up through the one immediately following release. This can be used by high-level software to time button presses, e.g. if querying happens every second and the button is held down for 1.001 seconds then it will be reported as being held down twice. If the button is held down for 0.1 seconds then most of the time it will only be reported once, unless the query happens to occur during that 0.1 seconds in which case it will be reported twice.

2016/03/14 22:49

Command:BUILD (BU)

MS2000 or RM2000 syntax
Shortcut BU
Format BUILD [X]
Units none
Tiger syntax
Shortcut BU
Format [Addr#]BUILD [X]
Units none
Type Card-Addressed(defaults to COMM)

This command returns the firmware “Build” version. BU X shows various configuration options and build-modules that are present in the firmware.

Additional Feature on Tiger
Adding the card address is optional. If no address is given, then Tiger Comm replies. If an address is present, then the specified card replies.
BU 
TIGER_COMM
BU X
TIGER_COMM
Motor Axes: X Y A B C C 0 1
Axis Types: x x u u u u w w
Axis Addr: 1 1 2 2 2 2 3 3
Hex Addr: 31 31 32 32 32 32 33 33
Axis Props:   0   0   0   0   0   0   0   0

As no address was given, Tiger Comm replies. It replies with its build name, all axis names present in the system (axes will always be A-Z, filterwheels 0-9). For each axis the type is given (see table in section “Identifying Controller Configuration”) and the card address in both character and hex formats. Finally, an integer is given to indicate the presence of special properties or capabilities of the axis, such as CRISP auto-focus or RING BUFFER module for TTL positioning; these can be interpreted using the information below. This command is useful to quickly identify all the axes names and types present in the system.

→ Read more...

2016/03/14 23:18

Command:CDATE (CD)

MS2000 or RM2000 syntax
Shortcut CD
Format CDATE
Type Card-Addressed
Tiger syntax
Shortcut CD
Format [Addr#]CDATE
Type Card-Addressed

This command returns the date and time the current firmware were compiled

Tiger Example
1CD
Dec 19 2008:16:19:59
MS2000 Example
CD
Dec 19 2008:16:19:59

This example shows that the firmware running was compiled on December 19th year 2008 at 4:19:59 PM.

2016/03/14 23:51

Command:CUSTOMA (CCA)

MS2000 Syntax
Shortcut CCA,CA
Format CCA X=n Y=m Z=o
Remembered X automatically saved, Y and Z need SS Z
Tiger Syntax
Shortcut CCA,CA
Format [Addr#]CCA X=n Y=m Z=o
Type Card-Addressed
Remembered X automatically saved, Y and Z need [Addr#]SS Z

For the Tiger programmable logic card this command is used very differently; for that see Tiger Programmable Logic Card (TGPLC) documentation and ignore this page.

→ Read more...

2016/03/11 23:17

Command:CUSTOMB (CCB)

Not implemented in Tiger except for programmable logic card, for that see Tiger Programmable Logic Card (TGPLC) documentation and ignore this page.

Shortcut CCB
Format CCB Z=n
Units none
Remembered Using SS Z

Planar correction functions.
CCB Z=1
CCB Z=2
CCB Z=3
Store current xyz location values x1,y1,z1…x3,y3,z3 respectively.

CCB Z=4 Calculate coefficients for planar correction function, and enable planar correction.
CCB Z=5 Disable planar correction.
CCB Z=6 Displays actual corrected current Z position as long integer.

Note: WHERE Z displays the intended position of Z based on the most recently sent MOVE, MOVEREL, or HERE command.

CCB Z=7 Re-initialize to zero all Planar variables including x1,y1,z1…x3,y3,z3 and planar correction function coefficients. Disable planar correction.

→ Read more...

2016/03/15 00:20

Command:DACK (D)

Motorized Actuator
MS2000 or RM2000 syntax
Shortcut D
Format D [axis]=[ratio in mm/sec] …
Units ratio in mm/sec
Remembered Using SS Z
Tiger syntax
Shortcut D
Format D [axis]=[ratio in mm/sec] …
Units ratio in mm/sec
Type Axis-Specific
Remembered Using [addr#]SS Z

Sets motor speed control ratio, in mm/sec, of movement per DAC count. A DAC count is a value change of one (1) in the 8-bit integer written to the motor speed control register. MOST USERS DO NOT NEED THIS FUNCTION!

Example:

D X=.055
:A
D X?
:A X=0.055000

Incrementing/decrementing the motor speed control register by one DAC count increases/decreases X-axis stage speed by 0.055 mm/sec.

MicroMirror
Shortcut D
Format D [axis]=[0 to 1] …
Units Unitless float between 0 and 1
Type Axis-Specific
Remembered Using [addr#]SS Z

This command is “recycled” for a different use in MicroMirror axes than for motor axes. For MicroMirror axes it sets up a calibration constant or scale factor that is used to attenuate the scanner motion when used in internal input mode (as the implementation is in software it does not apply in external input mode). In tests we found that the two axis of the MEMS MicroMirror does not tilt by the same amount when similar inputs are applied. This may be critical for some applications. This parameter sets an attenuation, so both axes can be made to tilt the same amount. For example, if the S axis was found to be doing 85% travel of R axis then we could attenuate R to compensate by setting D R=0.85 S=1. Note that behavior is undefined if changed in the middle of a single-axis move or SPIM move on the same axis. N.B: This command was retired in v3.14 of the firmware because it wasn't being used and the internal implementation was complex.

Example:

D R=0.85 S=1
:A

Attenuates the travels of R axis by 15%.

2016/03/15 00:27

Command:DUMP (DU)

MS2000 or RM2000 syntax
Shortcut DU
Format DUMP [X] [Y][F]
Units none
Tiger syntax
Shortcut DU
Format [addr#]DUMP [X][Y][F][R=mode][T=interval]
Units none
Type Card-Addressed
Remembered not possible

Dump internal buffers to terminal screen.

The Tiger and MS-2000 controller has several built-in diagnostic capabilities that are useful for troubleshooting difficulties and for tuning the servo motion parameters. It is often useful to see how well the servo motion is tracking the theoretical trajectory. The controller has a built-in buffer that can hold 200 to 500 move steps. For best results, restrict testing to a single axis at a time; otherwise information from multiple axes will be interleaved in the dump buffer. Any motion from any axis will write information into the dump buffer until it is full.

DU, without arguments, dumps the Trajectory Buffer.

DU X clears Trajectory Buffer.

DU Y dumps Error Buffer. See Error Codes for MS2000,RM2000 and TG-1000 Diagnostics

DU F Prints controller log, it has information like total time controller was ON, Total distance XY stage travelled and others. The log first has to be initialized with command DU F=999 . This is done in the factory, and we suggest users not reset the log as it may wipe data that is useful for ASIs long term reliability study.

DU R=mode sets the trajectory buffer mode (introduced in Tiger v3.19). Mode 0 (default) means the trajectory buffer, once full, will not be changed further. Mode 1 continuously overwrites the trajectory buffer information so that the most recent move information is always present.

DU T=interval sets the sampling interval for the trajectory buffer (introduced in Tiger v3.19). Default is 1 which adds to the trajectory buffer on every axis loop. Setting to e.g. 10 will add to the buffer once and then skip the next 9 axis loops. Handy for looking at longer-term trends.

Tiger Example
1DU X Clears the dump buffers on card#1
Then make a short move, e.g.: M X=12345 [Moves about 1.23 mm] After the move is complete, you can dump the buffer to the screen: 1DU Dumps Trajectory Buffer on card #1
2DU Y Dumps Error Buffer on card #2
4DU F Dumps Card#4's Piezo History
4DU F=999 Resets Card#4's Piezo History
MS2000 Example
DU X Clears the dump buffers
Then make a short move, e.g.: M X=12345 [Moves about 1.23 mm]
After the move is complete, you can dump the buffer to the screen:
DU Dumps Trajectory Buffer
DU Y Dumps Error Buffer
DU F Dumps Piezo History
DU F=999 Resets Piezo History
2016/03/15 00:37

Command:ENSYNC (ES)

MS2000 or RM2000 syntax
Shortcut ES
Format ENSYNC [axis]=[position in mm]…
Units position in millimeter
Remembered Using SS Z
Tiger syntax
Shortcut ES
Format ENSYNC [axis]=[position in mm]…
Units position in millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command lets the user set a position, in millimeters - absolute, which will toggle a TTL output when the stage crosses that position. When ENSYNC is issued, the TTL output is reset low. Whenever the stage crosses the ENSYNC position, the output will toggle low to high and if crossed again, from high to low. ENSYNC will only work with one axis at a time, either X or Y and depends on how JP1 is jumped.

→ Read more...

2016/03/15 23:36

Command:EPOLARITY (EP)

MS2000 or RM2000 syntax
Shortcut EP
Format EP [axis]=[-1 or 1]…
Units only -1 or +1 accepted
Remembered Using SS Z
Tiger syntax
Shortcut EP
Format EP [axis]=[-1 or 1]…
Units only -1 or +1 accepted
Type Axis-Specific
Remembered Using [addr#]SS Z

Values are -1 and 1. Adapts the firmware to the counting direction of the motor encoders. This setting is normally set by ASI and not changed.

2016/03/15 23:43

Command:ERROR (E)

Motorized axis
MS2000 or RM2000 syntax
Shortcut E
Format ERROR [axis]=[position in mm]…
Units millimeter
Remembered Using SS Z
Tiger syntax
Shortcut E
Format ERROR [axis]=[position in mm]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the Drift Error setting. This setting controls the crossover position error (in millimeters) between the target and position at which the MS 2000 and TG-1000 controller considers an axis to be too far out of position. When this limit is reached, the controller will re-attempt to move the axis back within the Finish Error (PC) limit. The current value for this setting can be viewed using the INFO command or by placing a ? after the axis name. Entries of zero value, e.g., ERROR X=0 are ignored.

Example

E X=.0004
:A
e x?
:X=0.000400 A

Input values equal to or less than zero are acknowledged by :A , but ignored.

The command in this example would cause the controller to consider a difference between the target and the current position greater than 400nm to be too large. If this large of an error were detected, the controller would re-engage the move algorithm to place the position error back inside of the Finish Error (PC) limit.

TGPMT card
Shortcut E
Format ERROR [axis]=[0 to 5]…
Units integer code
Type Axis-Specific
Remembered Using [addr#]SS Z

On a TGPMT card , ERROR command has a different purpose and function. ERROR command sets the ADC averaging's sample size. Its a card wide setting, that affects both the PMT tubes. This only affects the value reported with the RDADC command. The Analog signal output on the BNC isn't affected.

ERROR [axis]= Simple Moving Average sample size
0 1 Avg routine disabled, reports RAW reading
1 2
24
38
416
532

Example

If TGPMT card axis is m

e m=2
:A

Sets the ADC averaging routine sample size to 4.

e m?
:M=2.000000 A

Query the TGPMT card for ADC averaging routine sample size, 2 is reported, hence sample size is 4.

MicroMirror card
Shortcut E
Format ERROR [axis]=[correction in %]…
Units integer code
Type Axis-Specific
Remembered Using [addr#]SS Z

On a Micromirror card ERROR command has a different purpose and function. It sets the amount of bow correction applied to the axis. It is specified in units of percent deflection of the paired axis when the specified axis is at full deflection. The sign indicates whether a positive or negative deflection will be applied to the paired axis. It was introduced in Tiger firmware v3.18 along with the bow correction described below.

Bow is an optical effect where the motion of a scanned beam takes on a slightly curved shape whenever the axis of the moving mirror's rotation is not orthogonal to the plane formed by input and output beams. Because the MEMS mirror inside the ASI scanner tilts in two dimensions, at least one axis will be subject to this effect. In a typical ASI light sheet scanner, the motion of the “fast axis” (e.g. the axis that is scanned to make a light sheet) will deflect slightly in the slow axis during scanning, whereas the motion of the slow axis is unaffected by the bow phenomenon. To counteract this optical effect, starting in firmware v3.18 the firmware applies a small opposite correction to the slow axis as the fast axis moves, and the magnitude of this correction is specified by the ERROR command. The correction is quadratic relative to the displacement from the center of the mirror range (generally position 0), so maximum correction is applied at the edge of the mirror range.

The default is -2% for the “fast axis” and 0.0 for the “slow axis” in each axis pair because this seems to be about right for a typical ASI scanner. This means that the slow axis position will be adjusted as the fast axis moves but not vice versa. The bow correction is applied during regular commanded moves, during single axis commands, and during the SPIM state machine. In the SPIM state machine it is assumed that only the fast axis has a non-zero bow correction coefficient.

The allowable range of correction is between -6.22% to +6.22%.

Tunable Lens Card
Shortcut E
Format ERROR [axis]=[DPT to DAC coefficient]…
Units float
Type Axis-Specific
Remembered Automatically

On a Tunable card ERROR command has a different purpose and function. It sets the relation between the DAC(current) and Tunable lens's Diopter. Its used to compensate for temperature drift. More info here

2016/03/15 23:46

Command:EXTRA

Tiger Syntax
Format [Addr#]EXTRA [X?] [Y?] [Z=ki_lock]
Type Card-Addressed
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Format EXTRA [X?] [Y?] [Z=ki_lock]
Remembered Using [Addr#]SS Z

X? Provides the CRISP bottom line string as is shown on the LCD display.

Y? Returns the SNR value shown on the LCD after log amp calibration.

The Z-argument sets the integral error servo parameter. Default is 1. Higher values may speed settling but can also generate instability. Use sparingly.

2016/02/24 00:06

Command:HALT (\)

MS2000 or RM2000 syntax
Shortcut \ (the backslash character)
Format HALT
Tiger syntax
Shortcut \ (the backslash character)
Format HALT
Type Broadcast or Card-Addressed command

This command will stop all active motors and other actuators too. If there are no errors, a positive reply of :A will be returned. If the HALT command is given while a commanded move is in motion, the controller will reply with the :N-21 error.

Additional Notes regarding usage on Tiger
It’s usually a Broadcast command but can be used as a Card-Addressed Command as well. When addressed to a specific card, it stops motion on that card only. Note that to use as a Card-Addressed Command the full command HALT must be used instead of the shortcut \, because \ is handled quickly in the command parser.
2016/03/15 23:52

Command:HERE (H)

Here command has a slightly different usage on a TGPMT card , then on all our systems.

Actuators , Piezos, MicroMirror etc
MS2000 or RM2000 syntax
Shortcut H
Format HERE [axis]=[position in 1/10 microns]…
Units 1/10 microns
Remembered Automatically
Tiger syntax
Shortcut H
Format HERE [axis]=[position in 1/10 microns]…
Units 1/10 microns
Type Axis-Specific
Remembered Automatically

Assign the specified number to the axis’s current position buffer. If no position is specified, 0 is assumed. The unit of measurement is in tenths of microns. This defines the current position to be a specific distance from the origin (0), i.e., the origin may change.

If there are no errors, the positive reply :A will be sent back from the controller

DOES NOT WORK FOR PIEZOS AND MICROMIRRORS. DOES NOT WORK FOR “CLOCKED DEVICES” SUCH AS FILTER SLIDERS AND TURRETS.

Example

H X=1234 Y=4321 Z
:A

The X position will change to 123.4 microns from the origin, Y will change to 432.1 microns, and the Z will be zeroed.

TGPMT usage
Shortcut H
Format HERE [axis] or
HERE [axis]=0
Type Axis-Specific
Remembered Automatically

On a TGPMT card , this command this used to Zero the PMT signal reported by the RDADC command. When this command is issue , the current PMT signal is saved , and the controller begins subtracting it from the current PMT signal. Users can use this as a background subtract or offset feature.

User can cancel the zeroing by issuing HERE [axis]=0 . Readings reported by RDADC command will not be altered anymore.

Only the readings reported by the RDADC command are altered. 0-4V Analog PMT signal on the BNC connector is not altered.

This is a card wide-settings , both PMT0 and PMT1's reading are altered.

More details here.

Example

h m
:A

If the TGPMT card axis char is m. Saves the current PMTs readings and starts subtracting them from RDADC commands reported readings.

h m=0
:A

If the TGPMT card axis char is m. Clears the saved PMTs readings and stops subtracting them from RDADC commands reported readings.

2016/03/15 23:56

Command:HOME (!)

MS2000 or RM2000 syntax
Shortcut ! (the exclamation point character)
Format HOME axis [axis] [axis] …
Tiger syntax
Shortcut ! (the exclamation point character)
Format HOME axis [axis] [axis] …
Type Axis-Specific

Executes a halt and then moves specified axis motors toward their HOME position. The default location for the HOME position (1000 mm) is far past the positive limit of the stage travel. If a hardware or firmware limit switch is encountered, the motor will stop.

If there are no errors, an :A is returned.

→ Read more...

2016/03/16 00:00

Command:INFO (I)

MS2000 or RM2000 syntax
Shortcut I
Format I axis [Axis] …
Tiger syntax
Shortcut I
Format I axis [Axis] …
Type Axis-Specific

This command returns the current values of various variables and constants that control the way the specified axis performs, as well as its current status.

→ Read more...

2016/03/16 00:03

Command:JOYSTICK (J)

MS2000 or RM2000 syntax
Shortcut J
Format JOYSTICK [axis]± or
JOYSTICK [axis] = [Manual Input #]
Units Unitless integer , see table below
Remembered Using SS Z
Tiger syntax
Shortcut J
Format JOYSTICK [axis]± or
JOYSTICK [axis] = [Manual Input #]
Units Unitless integer , see table below
Type Axis-Specific
Remembered Using [addr#]SS Z

This command enables (+) or disables (–) the input from the default manual control device for the axis (joystick or knob). If you specify an input device number dev, the axis specified will be connected to that input device

→ Read more...

2016/03/16 00:13

Command:JSSPD (JS)

MS2000 or RM2000 syntax
Shortcut JS
Format JSSPD [X=high] [Y=low] [Z=knob_speed] [F=xy_knobs_high] [T=xy_knobs_low]
Units integer
Remembered Using SS Z
Tiger syntax
Shortcut JS
Format [Addr#]JSSPD [X=high] [Y=low] [Z=knob_speed] [F=xy_knobs_high] [T=xy_knobs_low]
Units integer
Type Card-Addressed
Remembered Using [addr#]SS Z

This command sets the relative motor speed for maximum deflection of the joystick to the values specified. Values between 0.1 and 100 (%) are acceptable, or -100 to -0.1 (negative setting reverses the direction). Pressing the Joystick button toggles between the high and low settings.

Knob_speed is a signed value that sets the relative speed and direction of the encoder knob (not commonly used on TG-1000).

xy_knobs_high and xy_knobs_low are used to set the fast and slow speeds for XY_KNOBS and ZF_KNOB, which respond to input from the two knobs on the side of the TG-1000 joystick. Note this is different from MS-2000 where the F parameter set the low speed and the high speed was given by the low speed multiplied by the T parameter raised to the third power. Note that prior to stage firmware version 2.87 the implementation for F and T was like MS-2000.

If there are no errors, the positive reply :A will be sent back from the controller.

Tiger Example
1JS X? Y?
:A X=80.000000 Y=3.000000
MS2000 Example
JS X? Y?
:A JS_FAST=100 JS_SLOW=5
2016/03/16 00:21

Command:KA (KA)

Tiger Syntax
Shortcut KA
Format KA [axis]=n…
Units unitless integer
Type Axis Specific
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Shortcut KA
Format KA [axis]=n…
Units unitless integer
Remembered Using SS Z

Adjusts acceleration gain parameter in the servo loop where n is a signed integer. Default n=0.

Note: Before Tiger v3.20 and Whizkid 9.2l, the KA or KADC commands changed a variable an overall servo gain paramter, Kadc, which was primarily used for CRISP. This parameter is now set using the command “LR T=Kadc”. The KADC command no longer exists. The KA command sets the servo acceleration gain feed forward constant.

KA Z?  
:A Z=0
2016/02/24 00:37

Command:KADC (KA)

Tiger Syntax
Shortcut KA
Format KA [axis]=n…
Units unitless integer
Type Axis Specific
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Shortcut KA
Format KA [axis]=n…
Units unitless integer
Remembered Using SS Z

Adjusts a gain parameter in the servo loop where n is a signed integer. Use to change the polarity and gain of the feedback. Default n=1, (use n=5 for Piezo).

KA Z?  
:A Z=1
2019/04/18 19:51

Command:KD

Motorized Axis
MS2000 or RM2000 syntax
Shortcut KD
Format KD [Axis]=###
Units integer
Remembered Using SS Z

Sets the servo derivative error term constant, the integer value kd. Usually set to zero (0). Especially useful when inertia is a factor to improve settling time and stability. MOST USERS DO NOT NEED TO USE THIS FUNCTION!

Tiger syntax
Shortcut KD
Format KD [Axis]=###
Units integer
Type Axis-Specific
Remembered Using [addr#]SS Z

Sets the servo derivative error term constant, the integer value kd. Usually set to zero (0). Especially useful when inertia is a factor to improve settling time and stability. MOST USERS DO NOT NEED TO USE THIS FUNCTION!

2016/03/16 00:26

Command:KI

MS2000 or RM2000 syntax
Shortcut KI
Format KI [Axis]=### …
Units integer
Remembered Using SS Z
Tiger syntax
Shortcut KI
Format KI [Axis]=### …
Units integer
Type Axis-Specific
Remembered Using [addr#]SS Z

Sets the servo integral error term constant, the integer value ki. Larger values of ki reduce the time for small errors to be corrected at the finish of a move, but decreases stability if set too large. MOST USERS DO NOT NEED TO USE THIS FUNCTION!

2016/03/16 00:27

Command:KP

MS2000 or RM2000 syntax
Shortcut KI
Format KI [Axis]=### …
Units integer
Remembered Using SS Z
Tiger syntax
Shortcut KP
Format KP [Axis]=### …
Units integer
Type Axis-Specific
Remembered Using [addr#]SS Z

Sets the servo proportional error term constant, the integer value kp. Larger values of kp increase the stiffness of the response to loss of position, but decreases stability if set too large. MOST USERS DO NOT NEED TO USE THIS FUNCTION!

2016/03/16 00:29

Command:LCD

Supported on MS2000 and RM2000 only

Shortcut LCD
Format LCD “string”
Units millisecond

Displays the quoted string on the bottom line of the LCD in place of the version information (DIP SW #2 DOWN).

2016/03/16 17:22

Command:LED

On Tiger with Two Axis Card
Format [Addr#]LED X=[1 to 100]
Type Percentage between 0 and 100
Remembered Using [Addr#]SS Z
Firmware Required PWM_LED_DIM

Sets the brightness of ASIs LED illuminator by generating PWM thru TTL out. TTL out mode should be set to ‘9’ (i.e. TTL y=9). Enable out from the LED illuminator should be connected to TTL out on controller. This setting can be saved in non-volatile memory using the SAVESET command. The PWM frequency is 1.3KHz. It’s a Card-Addressed command.

The LED command has a slightly different format on a TGLED card. Refer to TGLED card user guide for more details.

NOTE: If you are encountering flickering, try adjusting your shutter speed to integer multiples of the PWM period (0.77 ms).

On Tiger and TGLED card
Format [Addr#]LED X=[1 to 100] Y=[1 or 100] Z=[1 or 100] F=[1 or 100]
Type Percentage between 0 and 100
Remembered Using [Addr#]SS Z

This command is “recycled” for a slightly different use in TGLED than for other cards . In the context of a TGLED card this command is used to set the individual brightness percentage of the LEDs connected to the card. Setting the brightness to 0% results in LED to be off. Setting the brightness to 50% results the in the LED being driven with PWM with 50% duty cycle. Setting the percentage to be 100% results in the LEDs to turn on fully.

X sets the brightness for LED connected to channel 1, Y sets the brightness for LED connected to channel 2, Z sets the brightness for LED connected to channel 3, and F sets the brightness for LED connected to channel 4.

Default is 50.

Example

1LED X=10 Y=50 F=0 
:A

Sets the Brightness of LED connected to Channel #1 to be 10% , Channel #2 to be 50% and Channel #4 to OFF. Brightness of Channel #3 will be unchanged.

1LED X? Y? Z? F?		 
X=10 Y=50 Z=50 F=0 :A

Queries the card for Brightness of LEDs connected to Channel #1,#2,#3 and #4

On Tiger with Micro-mirror card
Format [Addr#]LED X=[output] Y=[switich_time] Z=[laser_mode] R=[Side0_state] T=[Side1_state]
Type Integer (see below)
Remembered Using [Addr#]SS Z
Firmware Required MM_LASER_TTL

The LED commands are used to control the laser outputs of the card (Micro-mirror card backplane connectors, usually output by the Programmable Logic Card or TTL card in early versions). The origin of these commands was for MM_SPIM firmware, but a separate define MM_LASER_TTL was created so that it could be used in other situations as well. This documentation for v2.88+, though the Y parameter was added ~v2.86. In general these only apply when the auxiliary TTL output mode is set to 1 (TTL T) and when the SPIM state machine is not running.

output (X) selects which logical laser is on when the SPIM state machine is not running. The exact hardware output depends on bits 0-2 of the LED Z setting. X=0 means neither laser is on, X=1 means the Side0 laser is on, X=2 means the Side1 laser is on, and X=3 means both lasers are on (LED Y setting applies in this case). Requires TTL T (aux_IO_mode) setting to be 1. Setting is overridden during SPIM state machine operation.

switch_time (Y) sets the switching time in ms between the laser outputs when the SPIM state machine is not running and when both lasers are active per the LED X command. Used to simulate the effect of a passive 50/50 beam splitter, which is particularly useful during alignment. Default is 10ms, cannot be set less than 1ms.

laser_mode (Z) determines the behavior of the laser TTL outputs, both when using the LED settings and also during the SPIM state machine.

  • Bits 0-2 form a code 0-7 selecting how the logical laser outputs are converted to physical TTL outputs. Setting should correspond to the physical hardware connected to the laser TTL outputs. Specifically
    • code 0 for individual laser shutters for the two sides (default until v3.01)
    • code 1 for single laser with side switch (Side0 is laser shutter for both sides and Side1 is high when the second side is active) (default v3.01+)
    • code 2 for Side0 high when the first side of SPIM is active, Side1 high when the second side of SPIM is active
    • code 3 for single laser (Side0) automatically turned on during a FAST_CIRCLES move
    • codes 4-7 are reserved for future use
  • Bits 3-7 are reserved for future use and currently cannot be set

Side0_state (R) can be set to 1 or 0 as shorthand for turning on/off the Side0 laser without affecting the state of the Side1 laser. It is equivalent to querying the logical laser output state (X), changing the LSB, and then setting the output state (X). Introduced in v3.11.

Side1_state (T) can be set to 1 or 0 as shorthand for turning on/off the Side1 laser without affecting the state of the Side0 laser. It is equivalent to querying the logical laser output state (X), changing the 2nd bit, and then setting the output state (X). Introduced in v3.11.

On MS2000 or RM2000
Format LED X=[1 to 100] Y=[0 or 1] Z=[0 or 1] F=[0 or 1]
Type Percentage between 0 and 100
Remembered Using SS Z
Firmware Required LED DIMMER

X argument sets the brightness of ASIs LED illuminator by generating PWM thru TTL out. TTL out mode should be set to ‘9’ (i.e. TTL y=9). Enable out from the LED illuminator should be connected to TTL out on controller. This setting can be saved in non-volatile memory using the SAVESET command.

If you encountering flickering in a live image, try adjusting your shutter speed to avoid aliasing with the LED PWM frequency.

Y, Z, and F arguments provide on/off control for additional LED lamp connectors on some controllers. Not PWM dimmable.

On MS2000 with Dual LED
Format LED X=[0 to 100] Y=[0 or 100] R=[0 or 100] T=[0 or 100]
Type Percentage between 0 and 100
Remembered Using SS Z
Firmware Required DUAL_LED

Dual LED is a new two LED driver for MS2000. Instead of using PWM to dim the LED, DUAL LED varies the current applied to dim the LEDs resulting in very little flicker even at high shutter speeds. The brightness of the two LEDs can be independently set using the X and Y arguments of the LED command. At 100% brightness about 900ma is applied. Dual LED have a current limiting feature, user can set the maximum allowed brightness of the two LEDs with R and T arguments. This setting is saved in a non volatile memory on the PCB , so this setting is preserved even after firmware upgrade. Say a LED with maximum rated current is 100ma attached to channel 1. Then setting LED R=10 will limit the maximum applied current to 90ma.

X sets the brightness for LED connected to channel 1,
Y sets the brightness for LED connected to channel 2,
R sets the maximum brightness for LED connected to channel 1, and
T sets the maximum brightness for LED connected to channel 2.

Example

LED X=10 Y=50
:A

Sets the Brightness of LED connected to Channel #1 to be 10% , Channel #2 to be 50% .

LED X? Y? 
X=10 Y=50 :A

Queries the card for Brightness of LEDs connected to Channel #1,and #2.

LED R=10 
:A
LED X=50 
:A
LED X?
X=10 :A

User sets the maximum brightness of LED#1 to 10%. If the user tries to increase the brightness beyond 10%, its overwritten by maximum brightness settings and limited to 10%.

2016/02/22 22:57

Command:LLADDR (LL)

Shortcut LL
Format LLADDR X=xaddr Y=yaddr Z=zaddr
LLADDR X? Y? Z?
Remembered Using SS Z

Sets the address of the axis used by the low level command set. The default values are X=24, Y=25, and Z=26. Some systems require X=1, Y=2, and Z=3. This setting can be saved in non-volatile memory using the SAVESET command.

2016/03/16 17:29

Command:LOAD (LD)

MS2000 or RM2000 syntax
Shortcut LD
Format LOAD [Axis]=### …
Units position in 1/10 microns
Remembered not saved
Firmware Module Required RING BUFFER
Tiger syntax
Shortcut LD
Format LOAD [Axis]=### …
Units position in 1/10 microns
Type Axis-Specific
Remembered not saved
Firmware Module Required RING BUFFER

The LOAD function places a set of position coordinates in the next available internal ring-buffer memory location. The position values are expressed as floating point numbers representing tenths of a micron, the same as the MOVE command. If a + is specified instead of =###, then the current position of the axis is stored in the ring buffer (as of Tiger firmware v2.81 and MS2000 firmware v9.2g). For example, the command LOAD X+ Y+ Z=0.1 would store the current position of the X and Y axes and the Z position of 10nm to the ring buffer. The ring buffer contains 50 positions by default; contact ASI for the option of having 250 positions in the ring buffer (but this entails certain tradeoffs).

The coordinates for the next move may be queried by using the command LD X? Y? Z?. Setting the current buffer position and initiating moves to locations stored in the buffer can be done using the RBMODE command (see below), or by using a front panel button. The LOAD operation increments the number-of-positions counter accessed using RM X? (see the RBMODE command). In TG-1000 the ring-buffer is stored and executed on a per-card basis. If positions for one or more axes on one card are specified but others are not, the position of the unspecified axes during the ring buffer execution will not be well-defined. To clear the buffer, type RM X=0.

The current stage position (for all axes with RING_BUFFER firmware) may be loaded into the ring-buffer by pressing the Joystick button for 3 seconds and releasing.

CAUTION: If you are using TTL mode 12 (see the TTL command), the values entered into the ring buffer using the LOAD command represent RELATIVE coordinates, not ABSOLUTE coordinates. You must drive the stage to the appropriate starting position before triggering any ring buffer sequence.
2016/03/16 17:36

Command:LOCK (LK)

This command has slightly different usage for CRISP, Phototrack, and SERVOLOCK_TTL, and very different use for TGPMT card.

CRISP usage
Tiger Syntax
Shortcut LK
Format [Addr#]LK [X] [Y] [Z=lock_offset] [F=code]
Type Card-Addressed
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Shortcut LK
Format LK [X] [Y] [Z=lock_offset] [F=code]
Remembered Using SS Z

The LOCK command without any arguments X, Y, or Z advances to the next system state just as would a short-press of the @ button.

LK X? returns the single character indicating the current CRISP system state as described in the table CRISP System States. For historical reasons, do not use LK X to set the current state, instead use LK F.

LK Y? returns the present value of the focus error which is also shown on the LCD display.

LK Z? returns the present value of the focus error lock_offset. The offset is automatically determined during calibration and is modified when the command wheel on the controller is used to focus a locked system. The offset is also reset with a >10 sec. press of the @ button. A particular value of lock_offset may be set using LK Z= lock_offset.

LK F=code will unconditionally set the focus state. Code is the ASCII decimal equivalent for the ‘state’ character that is displayed on the LCD. For example, to unconditionally enter the ‘B’ state the command would be LK F=66. Not all states are best entered directly. See the CRISP system state table for the appropriate ASCII code to enter a particular state gracefully.

LK X?
:A W

Shows the system is in the WAIT state.

SERVOLOCK_TTL usage
Tiger Syntax
Shortcut LK
Format [Addr#]LK [X] [F=code]
Type Card-Addressed
Remembered Using [Addr#]SS Z

The LOCK command without any arguments toggles the SERVOLOCK_TTL function from active to inactive. As short-press of the @ button will also do unless the firmware build also has CRISP, in which case CRISP takes priority. See full documentation of SERVOLOCK_TTL firmware module.

LK X? returns the single character indicating the current state, which for SERVOLOCK_TTL is the letter T for enabled and Z for disabled. If CRISP is also present in the firmware module then those states will also appear. LK F=code will unconditionally set the focus state. Use LK F=84 (ASCII letter T) to enable SERVOLOCK_TTL control and LK F=90 (ASCII letter Z) to disable it when done

TGPMT usage
Shortcut LK
Format [Addr#]LK [X] [Y] or
[Addr#]LK [X?] [Y?]
Type Card-Addressed
Remembered Using [Addr#]SS Z

This command has a different function on a TGPMT card. Here its used to check the status of PMT (overloaded or not). Then if it is overloaded, issue a reset pulse to clear the overload. Duration of the reset pulse is set with the RT Y command

[addr#] LK X? , Query PMT0's status. Controller return a 0 if Overloaded , and 1 if not overloaded.

[addr#] LK Y? , Query PMT1's status. Controller return a 0 if Overloaded , and 1 if not overloaded.

[addr#] LK X , Issue a reset pulse to PMT0.

[addr#] LK Y , Issue a reset pulse to PMT1.

Alternately , the status of the PMTs is also indicated by the LEDs on the TGPMT card (Green is ok , Red is overloaded). And the reset button can be pressed to clear the overload state.

Example

7lock x?
:A 0

Query the status of PMT0 on TGPMT card at address 7 for status. 0 is returned, indication PMT0 is overloaded

7lock x
:A

Issue reset pulse to PMT0 on TGPMT card at address 7.

7lock x?
:A 1

Overloaded was cleared, Query the status of PMT0 on TGPMT card at address 7 for status again. 1 is returned, indication PMT0 is NOT overloaded

On Phototrack systems
Shortcut LK
Format LK [X] [Y] [Z=sum_min] [F=quad_order]
Remembered Using SS Z

LK with no argument performs same action as “@” short press.

LK X performs same action as “@” long press.

LK Y performs same action as “HOME” very long press.

Use sum_min to set the minimum sum-signal level required for tracking the sample. If the sum signal is less than sum_min, tracking will PAUSE.

The quad_order is the relative orientation of the PMT assembly and is normally set during calibration.

Command:LOCKRG (LR)

This commands function changes if the system has a Phototrack module or CRISP/SERVOLOCK_TTL module.

On CRISP systems
Tiger Syntax
Shortcut LR
Format [Addr#]LR [X=cal_gain] [Y= objective lens NA] [Z=lock_range] [F=cal_range] [T=loop_gain]
Type Card-Addressed
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Shortcut LR
Format LR [X=cal_gain] [Y= objective lens NA] [Z=lock_range] [F=cal_range] [T=loop_gain]
Remembered Using SS Z

The LOCKRG command allows the user to control of several system variables. The X parameter, cal_gain, is the gain variable normally obtained from running the calibration sequence. Although not recommended, it can be changed with this command, but it will be reset upon running the calibration sequence.

The Y parameter sets both the cal_range focus depth (LR F) and also the in_focus_mm range (AFLIM Z) appropriately for the specified numerical aperture of the objective. The computed values can be read and/or overridden using the LR F and AFLIM Z commands respectively.

The Z parameter controls the maximum excursion of the stage before the system generates an error condition and unlocks. The value lock_range is in units of millimeters. The default value is 1.0 mm.

The F parameter controls the excursion of the stage when going through the calibration sequence. The default value for cal_range is 0.005 mm. Overridden when the objective’s NA is set using LR Y.

The T parameter controls the gain multiplier or loop gain also set by KADC command. This is for convenience only, both have the identical effect. In this case the axis character does not need to be specified.

With SERVOLOCK_TTL
Tiger Syntax
Shortcut LR
Format [Addr#]LR [Z=lock_range]
Type Card-Addressed
Remembered Using [Addr#]SS Z

The SERVOLOCK_TTL module uses the LOCKRG Z command to set the maximum excursion. If CRISP is also present then the same setting is shared by both modules.

The Z parameter controls the maximum excursion of the stage from the position where it was initially locked before the system generates an error condition and unlocks. The value lock_range is in units of millimeters. The default value is 1.0 mm.

On Phototrack system
Shortcut LR
Format LR [X=cal_value] [Y=xy_lock_range] [Z=z_ lock_range] [F=cal_range]
Remembered Using SS Z

This command sets range limits for tracking and autofocus systems. For XY tracking systems, the excursion from the point of lock for both the X and Y axes in millimeters is set with the lock_range value using the Y parameter. If the system encounters a lock_range or focus_range limit, servo tracking is terminated.

Cal_range is the distance in millimeters of the stage movement for automatic calibration of the Tracking or Focus system, set using the F parameter. The result of such a calibration is the cal_value, which can be set explicitly with the X parameter or queried using LR X?. The tracking parameters can be displayed on the serial terminal using LR Z.

Query: LR X? Y? F? returns the current value of the parameters.

Command:LOCKSET (LS)

Shortcut LS
Format LS Z=[focus_trim]
Required Module AF-DUAL system

The command directly sets the focus_trim value normally adjusted with the control knob after locking.

:A is returned upon receipt of the command.

→ Read more...

2016/03/16 17:47

Command:MAINTAIN (MA)

The Maintain command has a different function in case of a Piezo actuator then a motorised actuator

MS2000 or RM2000 syntax
Shortcut MA
Format MAINTAIN [Axis] = [0 to 3]…
Units integer codes, see table below
Remembered Using SS Z
Tiger syntax
Shortcut MA
Format MAINTAIN [Axis] = [0 to 3]…
Units integer codes, see table below
Type Axis-Specific
Remembered Using [addr#]SS Z
Function for Motorised Actuator (xy stage, z drive etc)
The maintain command specifies the behavior of the controller after move completion. Move commands complete when the stage moves to within the finish error tolerance of the target position (PCROS command). The actions for various code values are:
code = 0 [default] Post-move, when the controller detects drift from target specified by the drift error value, it will return the stage axis to the target several times (18) within a timeout period (~0.5 sec.) before declaring a move error code 60 and giving up further attempts.
code = 1 Post-move, the controller will indefinitely continue to try to reach target when drifts greater than the drift error are detected. With codes 0 and 1, the motor drivers are turned off when the stage reaches the finish error tolerance.
code = 2 The motor drivers remain on and the servo loop remains active. NB: making a manual move (e.g. joystick) may turn the motors off.
code = 3 Drivers remain on and servos active for the post-move time set by the WAIT command. The system BUSY is released when the finish error tolerance is first achieved. Setting the WAIT time sufficiently long can stabilize post-move drifts during data recording, but then allow for less power consumption of the driver amplifiers when waiting between moves.
code = 4 Reserved
code = 5 Servos Disengage. For example with motorized turrets this will allow the user to manually move the turret.

If there are no errors, the positive reply :A will be sent back from the controller.

Function for Piezo actuator

This feature is only available on Tiger system

This command is “recycled” for a different use in piezo axes than for motor axes. For ADEPT piezo cards sets the maintain code. Currently 2 modes are implemented with the following codes:

MA [axis] = Mode
0 default
1 Overshoot algorithm

Mode 0 is the default where the piezo DAC is set and the piezo drive electronics apply a voltage to the piezo to move the piezo to the correct position as measured by the strain gauge.

Mode 1 is the overshoot algorithm which may reduce the setting time in many circumstances where speed is critical and the user is willing to do some tuning. The piezo DAC is set as if the move were traveling past the actual target according to an overshoot percentage set by the PZ T setting. The idea is to slew more quickly initially. When an exit condition is reached the piezo DAC is set to the desired final position. There are two exit conditions, meeting either one or the other is sufficient:
(1) the strain gauge indicates that the piezo is at least halfway to the final position or
(2) the maximum time for the overshoot to be applied set by the PZ R is reached.

Note: At one point this behavior was controlled using the PM command. It was shifted over to MA starting in v3.06 but not in its current form until v3.11. Using this anything besides the default setting with firmware between v3.06 and v3.10 is not recommended.

2016/03/16 17:52

Command:MOTCTRL (MC)

MS2000 or RM2000 syntax
Shortcut MC
Format MOTOCTRL [Axis]±
Tiger syntax
Shortcut MC
Format MOTOCTRL [Axis]±
Type Axis-Specific

This command enables + or disables - the controller’s ability to control the motor of a certain axis. The motor control voltage is set to zero and the position feedback control is not monitored when the motor is in disable - mode. The electronics of the controller will attempt to keep the motor from moving while disabled, however, it should be noted that this is an open-loop brake control only, and any movement or drift is not corrected. When queried, the controller returns values of 1 or 0 representing enabled and disabled respectively.

If there are no errors, the positive reply :A will be sent back from the controller.

→ Read more...

2016/03/16 18:00

Command:MOVE (M)

MS2000 or RM2000 syntax
Shortcut M
Format MOVE [Axis]=[units 1/10 microns]…
Units 1/10 microns
Tiger syntax
Shortcut M
Format MOVE [Axis]=[units 1/10 microns]…
Units 1/10 microns
Type Axis-Specific

Move one or more axis motors to an absolute position. The unit of measurement is in tenths of microns. If no position is specified, 0 (the origin) is assumed.

For devices with CLOCKED POSITIONS (turrets and filter wheels), the position is an integer value between one and the number-of-positions.

A positive reply of :A is sent back when the command is received correctly. Reception of the reply does not mean the end of execution, and the command STATUS can be used to determine if the move has been completed.

→ Read more...

2016/03/16 18:04

Command:MOVREL (R)

MS2000 or RM2000 syntax
Shortcut R
Format MOVREL [Axis]= [units 1/10 microns]…
Units 1/10 microns
Tiger syntax
Shortcut R
Format MOVREL [Axis]= [units 1/10 microns]…
Units 1/10 microns
Type Axis-Specific
Remembered Using [addr#]SS Z

Move one or more axis motor a distance relative from its current position. This command is very similar to the MOVE command. The unit of measurement is also in tenths of microns.

A positive reply of :A is sent back when the command is received correctly. Reception of the reply does not mean the end of execution, and the command STATUS can be used to determine if the move has been completed.

→ Read more...

2016/03/16 18:09

Command:MULTIMV (MM)

MS2000 or RM2000 syntax
Shortcut MM
Format MM [X=radius] [Y= speed] [Z= width] [F=mode_byte]
Remembered Using SS Z
Firmware Version Required v8.7+
Firmware Module Required MULTIAXIS_FUNCTION
Tiger syntax
Shortcut MM
Format [addr#]MM [X=radius] [Y= speed] [Z= width] [F=mode_byte] [R?]
Type Axis-Specific
Remembered Using [addr#]SS Z
Firmware Module Required MULTIAXIS_FUNCTION

The MULTIMV command allows several common multi-axis move patterns to be executed. Presently the patterns supported include circles and spirals. If users have other special requirements, they should contact ASI for assistance.

The command, without any arguments, initiates the multi-axis pattern move. Commanded and manual (joystick) moves are not allowed while a multi-axis move is occuring.

The patterns are initiated from the current stage position. The movement is parameterized in terms of the speed (feed rate) in mm/sec and pattern parameters. For circles, the radius in millimeters is the only required parameter. For spirals the width per spiral turn in millimeters is required as well as the maximum radius.

The mode is a bit-mapped character that determines the characteristics of the motion. The mode bits are used according to the following table.

Bit Set Clear
0 Lead-in Move Used No Lead-in Move
1 Controlled acceleration along path, set by ACCEL command, to programmed speed. No controlled acceleration
2 Move pattern repeated indefinitely Only single cycle of move pattern executed
3 Reserved
4 Reserved
5 Reserved
6 Motion pattern selector bits 6 & 7:
00 FAST_CIRCLES
01 Circle
10 Helix
11 Spiral
7

This above settings can be saved into non-volatile memory by issuing the SAVESET command.

Specifying an argument for the pseudoaxis R in decimal sets the state directly (see table below; the value is simply the decimal representation of the corresponding state character). Note that the firmware expects only certain states to be set by the user (marked as “OK to set” in the table); setting to a different state may yield unpredictable results. Querying the pseudoaxis R value returns the decimal associated with the current state (currently expressed as a float; discard anything after the decimal).

Multi-axis move states (MULTIAXIS_FUNCTION firmware)
Char Dec OK to set? State
I 73 No Idle/disabled
S 83 Yes Starts state machine
P 80 Yes Stop (goes to idle state after cleanup)
L 76 No Lead-in move
A 65 No Accelerating
M 77 No Main move
m 109 No Back move (unused?)
F 70 No Fast circle move
R 82 Yes Restart move (fast circles only)

→ Read more...

2016/03/16 18:36

Command:OS

MS2000 or RM2000 syntax
Shortcut OS
Format OS [axis] = [distance]…
Units millimeter
Remembered Using SS Z
Tiger syntax
Shortcut OS
Format OS [axis] = [distance]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets (or displays) the amount of distance in millimeters to travel to absorb the backlash in the axis' gearing. Analogous to backlash, but will always overshoot the desired position by the set amount and then come back towards the move's origination, whereas backlash always approaches from the same direction. Backlash move, if any, occurs before the overshoot move. Default is 0, which turns the overshoot routines off. When queried will return the actual value instead of the user-set target value

Example:

OS X=.05 Y=0
:A
OS x?
:X=0.049981 A

The command in this example will make the controller overshoot any X moves by location 50 microns before moving to the final target, while the overshoot algorithm for the Y axis is disabled.

2016/12/23 19:21

Command:PCROS (PC)

Motorized Axis
MS2000 or RM2000 syntax
Shortcut PC
Format PCROS [Axis]= [units mm]…
Units millimeter
Remembered Using SS Z
Tiger syntax
Shortcut PC
Format PCROS [Axis]= [units mm]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets/displays the Finish Error setting, which controls when the motor algorithm routines will turn off. The setting controls the crossover position error (in millimeters) between the target and position at which the MFC 2000 and TG-1000 AND MS 2000 controller will stop attempting to move the stage closer to achieving the position=target. This is value also determines the maximum error allowable before a move is considered complete. This value is usually set to the value of the smallest move step size according to the encoder resolution. The current value for this setting can be viewed using the INFO command.

→ Read more...

2016/03/16 18:21

Command:PEDAL (PD)

Shortcut PD
Format PEDAL [X=distance in mm] [Y=rate in mm/sec] [Z=multiplier]
PEDAL X? Y? Z?
Remembered Using SS Z
Hardware/Firmware Required Foot Pedal

This command sets/displays the dual-pedal footswitch controls for controllers with this feature. The command is set up as follows:
X = Pedal Step Increment size, in millimeters.
Y = Rate when pedal is held down, as an integer proportional to a speed in millimeters per second,
Z = an integer multiplier used when the pedal controls a zoom axis.

Warning: User must ensure that the Rate given in this command is not greater than the maximum speed of the axis being controlled by the pedals. Entering an invalid value may result in unexpected errors and failures.

If there are no errors, a positive reply of :A followed by the startup sequence.

→ Read more...

2016/03/16 18:58

Command:PZ

MS2000 or RM2000 syntax
Format PZ X=[1 to 255] Y=[20 to 5101] Z=[0 to 3] (pre 9.2f)
PZ X=[1 to 255] Y=[1 to 255] Z=[0 to 3,+,-] F=[0 to 65000] (9.2f and above)
Units integer codes
Remembered X and Y automatically , Z and FUsing SS Z
Tiger syntax
Format [#Addr]PZ X=[1 to 255] Y=[25 to 5101] Z=[0 to 3] F=[0 to 100] T=[0 to 500] (pre v2.83)
[#Addr]PZ X=[1 to 255] Y=[1 to 255] Z=[0 to 3,+,-] (v3.11 and above: F=[0 to 65000] R=[0 to 100] T=[0 to 500])
(v2.83-3.10: F=[0 to 100] T=[0 to 500])
Units integer codes
Type Card-Addressed
Remembered Using [addr#]SS Z

The X argument sets the zero adjust potentiometer of the ADEPT card.The setting is stored in a non volatile memory on the ADEPT board. This is one of the settings that are automatically picked during both long and short auto calibration. Please refer the calibration section for its usage. On Tiger controller PSG command is equivalent. One does not have an advantage over another; usage is left to user preference.

The Y argument sets the gain of the feedback stage. The setting is stored in a non volatile memory on the ADEPT board. This is one of the settings that is automatically picked during long auto calibration. Please refer the calibration section for its usage. Pre MS2000 v9.2f and Tiger v2.83 a formula was used to convert 25-5101 to 8 bit 255. We had rounding off issues and such. We removed the formula so now user can enter the setting directly and thus have more control.On Tiger PG command is equivalent. One does not have an advantage over another; usage is left to user preference.

The Z argument sets the board in various modes. On Tiger controller PM command is equivalent. One does not have an advantage over another; usage is left to user preference.

PZ Z = Mode of Operation
0 Controller controlled, Closed loop (default)
1 External input, Closed Loop
2 Controller controlled, Open loop
3 External input, open loop
PZ Z+ Fast Mode
PZ Z- Slow Mode

The F argument (requires Tiger v3.11+ and MS2000 v9.2f) sets the value of the timer for Auto Sleep feature. Units of are in minutes. To maximize piezo actuators’ lifetime they should to be turned off when not in use. Every time the piezo is moved (e.g. commanded move, TTL-triggered move, or with a manual input device like the wheel) the auto sleep timer is reset to 0. When the timer reaches the value set by the F argument the sleep state is entered. In the sleep state piezos are moved to the sleep position and the code returned by the RS+ command (equivalent to the right status character on MS-2000 LCD screens) changes to E. However, the position returned by the WHERE command is not changed during sleep. Further, any move will proceed from the pre-sleep position. To disable the auto sleep feature, set the F argument to 0. On most firmware builds the default value is 0, i.e. disabled. However on SPIM builds the default value is 5 minutes. To exit sleep without affecting anything else, send the R <axis> command to execute a relative move of distance 0. Setting the F argument clears the timer but does not exit the sleep state.

Additional Tiger Only function
The R argument only applies when the piezo maintain code is set to 1. (In firmware between v2.83 and v3.10 it was the F argument instead.) It sets the maximum time to move towards the overshoot position, expressed in milliseconds. Refer to the documentation under MA.

The T argument only applies when the piezo maintain code is set to 1. It sets the overshoot amount, expressed as a percentage. For example, when set to 100 the piezo will begin the move as if the target position is twice as far away as it really is. Refer to the documentation under MA.
2016/03/18 18:14

Command:PZC

MS2000 or RM2000 syntax
Format PZC X=[0 or 1] Y=[0,1,2,3] Z=[1 to 100] F=[1 to 100] ,or
PZC
Units integer codes
Remembered Using SS Z
Tiger syntax
Format [addr#]PZC X=[0 or 1] Y=[0,1,2,3] Z=[1 to 100] F=[1 to 100] ,or
[addr#]PZC
Units integer codes
Type Card-Addressed
Remembered Using [addr#]SS Z

PZC when entered alone runs the auto calibration routine that sets various internal parameters for optimal operation of the piezo top-plate. :A is returned on completion, :N-5 is returned if the routine failed.

X argument sets the auto calibration type to perform. 0 is for short calibration (default) i.e. only strain gauges offset is adjusted. While 1 is long calibration routine, with adjusts both strain gauge offset and the feedback gain. You will need a length gauge to run the full calibration routine. Ss z command is not applicable, settings will revert back to default when controller restarts. Note: Long calibration is not implemented for ADEPT card with TG-1000. Usage will end in an error.

Y argument sets the axis index to which the length gauge is assigned. Default is 0 i.e. X index in a 4 axis build. Ss z command not applicable, settings will revert back to default on controller restart.

Z argument sets the delay between routine runs, default is 35 i.e. 35ms. Units are in milliseconds. Ss z command not applicable, settings will revert back to default on controller restart.

F argument sets the position where controller moves the piezo top-plate before adjusting the strain gauge offset. Accepts values between 1 to 100, units are %, default is 50 i.e. middle of the piezo range. Ss z command is applicable, settings will be saved between controller restarts.

Please use HALT command to stop a running calibration routine; else the routine will leave incorrect settings on the ADEPT card.

2016/03/18 17:50

Command:PZINFO

MS2000 or RM2000 syntax
Format PZINFO
Tiger syntax
Format [addr#]PZINFO
Type Card-Addressed

PZINFO is a diagnostic command. ASI reserves the right to change the format of the PZINFO command at any point as more diagnostic features are found to be useful.

MicroMirror Example on Tiger
3PZINFO
Hdwr REV.E 
V0 :24.3 V
HV :143.5 V
V1 :63.7 V
V2 :63.2 V
V3 :63.2 V
V4 :64.9 V
V5 :64.3 V
V6 :65.4 V
I2C Check> DAC[OK] OSC1[OK] OSC2[OK] EEPROM[OK]
Mode> A[IN] B[IN] C[IN] D[IN]
Piezo Example on Tiger
1PZINFO
Voltages @ Pos1>
HV   : 147 V
Sout : 4 V
Pzout: 65 V
I2C Check> DAC[OK] SWITCH[OK] DigPot[OK] 
ADEPT Rev 0
DigPot> Sgoffset: 110 Gain: 96 
Closed Loop
TG1000 IN
HV ENABLE 
FAST MODE  
SG Offset [OK]
Piezo Example on MS2000
PZINFO
Voltages @ Pos1>
HV   : 147 V
Sout : 4 V
Pzout: 65 V
I2C Check> DAC[OK] SWITCH[OK] DigPot[OK] 
ADEPT Rev 0
DigPot> Sgoffset: 110 Gain: 96 
Closed Loop
TG1000 IN
HV ENABLE 
FAST MODE  
SG Offset [OK]
PMT example on TGPMT
if TGPMT card address is 7.
7pzinfo
Hdwr REV.0 
V0 :24.0 V
V1 :15.0 V
Avg: 2 
I2C FRAM: OK 
PMT0> Gain:   0 , ADC:   13 , BG:    0 , Status: ENABLED 
PMT1> Gain:   0 , ADC:   13 , BG:    0 , Status: ENABLED 
<LF>
2016/03/17 23:33

Command:RBMODE (RM)

MS2000 or RM2000 syntax
Shortcut RM
Format RBMODE [X=control] [Y=axis_byte] [Z=buffer_pointer] [F=mode_byte]
Remembered Using SS Z
Firmware Module Required RING BUFFER
Tiger syntax
Shortcut RM
Format [addr#]RBMODE [X=control] [Y=axis_byte] [Z=buffer_pointer] [F=mode_byte]
Type Card-Addressed
Remembered Using [addr#]SS Z
Firmware Module Required RING BUFFER

Provides control of movement and save operations involving the controller’s internal 50-position ring-buffer (optionally to 250 positions, contact ASI). The LOAD command is used to fill the ring buffer.

The command, without any arguments, sets the TTL input interrupt flag and performs the same operation that a TTL IN0 input pulse would control as determined by the current IN0_mode. See TTL command.

A move to the Next Position may be initiated by:

  • a TTL pulse when the appropriate IN0_mode is selected (See TTL command, IN0_INT Firmware Module Required).
  • a short press and release of the @ button (as long as other special functions are not utilizing the @ button).
  • by the RM command without arguments.

RM X? returns the number of positions defined in the ring buffer (Tiger firmware v2.89+ or MS2000 firmware v9.2g+).

→ Read more...

Command:RDADC (RA)

MS2000 Syntax and Function
Shortcut RA
Format RA [X] [Y] [Z] [F]

Returns the present values on the MS2000's 4-channel ADC. The X and Y channels are used for the joystick. The Z and F channels may be used for special applications, e.g. Autofocus or ADC_LOCK and ADC_FOLLOW modes of controlling the stage. Special firmware is required for these applications.

Example

RA X Y
:A 128 128

Shows typical ADC values for a centered joystick.

Tiger and TGPMT Syntax and Function
Shortcut RA
Format [addr#]RA [X?] [Y?]
Units integer
Type Card-Addressed
Remembered Not Applicable

On a TGPMT card in a Tiger Controller , this is a Read Only command. It reports PMT signal read thru an ADC onboard the TGPMT card.

X? Returns the ADC reading of PMT0

Y? Returns the ADC reading of PMT1

ADC Specification can be found here.

Example

If the TGPMT card address was 7,

7 rdadc x? y?
:A 2 1

“2” is the ADC reading from PMT0 , and “1” is the ADC reading from PMT1

7 ra x? y?
:A 2 1
2016/03/16 19:27

Command:RDSBYTE (RB)

MS2000 or RM2000 syntax
Shortcut RB
Format RDSBYTE axis [axis] [axis]…
Tiger syntax
Shortcut RB
Format RDSBYTE axis [axis] [axis]…
Type Axis-Specific

Requests the TG-1000 and MS-2000 to respond with the Status Byte.

The number is one byte, which can be broken down into 8 bits that represent the following internal flags:

Bit 00 = No commanded move is in progress.
1 = A commanded move is in progress.
This bit is synonymous with the STATUS command. If the bit is set, then STATUS returns B, otherwise STATUS returns N.
Bit 10 = The axis is disabled. It can be renabled by one of the following:
High Level command MC <axis>+, cycling the clutch switch for the Z-axis, Low Level StartMotor command (hex 47), or a system reset.
1 = The axis is enabled.
Bit 20 = Motor is inactive (off),
1 = Motor is active (on).
Bit 30 = Joystick/Knob disabled,
1 = Joystick/Knob enabled
Bit 40 = Motor not ramping,
1 = Motor ramping
Bit 50 = Ramping down,
1= Ramping up
Bit 6Upper limit switch:
0 = open,
1 = closed
Bit 7Lower limit switch:
0 = open,
1 = closed

→ Read more...

2016/03/16 19:37

Command:RDSTAT (RS)

MS2000 or RM2000 syntax
Shortcut RS
Format RDSTAT axis [axis] [axis]…
Tiger syntax
Shortcut RS
Format RDSTAT axis [axis] [axis]…
Type Axis-Specific

Without any additional characters this is the same as RDSBYTE, except the data is returned in ASCII decimal format.

When a qualifier is appended to the axis letter (the behavior is different for Tiger v2.8+ and MS2000 v9.2e).

With ?, a busy or not busy character is returned for that axis (N or B, just as in STATUS).
With -, the left status character displayed on MS-2000 LCD of the axis is returned, including U or L for upper and lower limits, f or s for fast or slow joystick mode just selected, or a space for no event to report.
With +, the right status character displayed on MS-2000 LCD is returned (with some additions), including M for move, B for commanded move (e.g. HOME), K for servo lock, S for spin move, A for single axis move, T for single axis move, P for pause, or a space for no event to report.

→ Read more...

2016/03/16 20:02

Command:RELOCK (RL)

Shortcut RL
Format RL
Firmware Module Required CRIFF or AF-DUAL

Turns on the CRIFF laser and initiates a LOCK state using previously saved reference values. Same as LOCK for AF-DUAL systems.

→ Read more...

2016/03/16 21:11

Command:RESET (~)

Shortcut ~
Format RESET

This command causes the controller to do a software reset. A software reset reinitializes all variables back to their pre-assigned values.

Additional Notes with usage on Tiger
RESET is usually a Broadcast command but can be used as a Card-Addressed Command as well. When addressed to a specific card, it resets that card and then the Comm card (required to communicate with the reset card) without affecting other installed cards.

→ Read more...

2016/03/16 21:14

Command:RTIME (RT)

General Usage
On Tiger
Shortcut RT
Format [Addr#]RT [X=report_time] [Y=pulse_length in ms] [Z=delay_time in ms] [F=num_aves]
Type Card-Addressed
Remembered Using [Addr#]SS Z
On MS2000 and RM2000
Shortcut RT
Format RT [X=report_time] [Y=pulse_length in ms] [Z=delay_time] [F=num_aves]
Remembered Using SS Z

The X argument sets the time interval between report events when using IN0_mode = 5, TTL triggered serial interface asynchronous reporting. The report_time value has an acceptable range from 20 to 32700 milliseconds. The default value is 200ms.

The Y argument sets the length of the TTL output pulse in ms when using any OUT0_mode that triggers a TTL pulse. (The Y arguments command has a slightly different usage on a TGLED card. Refer to TGLED card user guide for more details.)

The Z argument sets the post-move delay time in ms for sequenced arrays, and/or the delay between ring buffer moves when RB X is set to autoplay (mode 2 or 3). Note that for ring buffer moves the delay time specifies the interval between attempted moves, whereas for sequenced arrays the delay specifies the time between arriving at the desired position and initiating movement to the next position. For ring buffer if the delay time is set to be 0 then the actual time between moves will be the axis loop time (generally 0.25ms times the number of axes, e.g. 1ms for a four axis card).

The F argument sets num_aves, the power-of-two exponent for the number of samples to be averaged. Used with the CRISP system.

On Tiger with Micro-mirror for SPIM
Shortcut RT
Format RT [F=scan duration] [R=laser duration] [T=camera duration]
Remembered Using SS Z

Sets the duration of output pulses from the Micro-mirror card while the SPIM state machine is running. All units in milliseconds and are currently rounded to the nearest 0.25ms. Scan duration specified is one-way time (in v3.13 and earlier the value from SAF was used instead).

On Tiger with MicroMirror and Phototargeting
Shortcut RT
Format [Addr#]RTIME [Y=laser_duration] [Z=delay_time]
Units Milliseconds
Type Card-Addressed
Remembered Using [Addr#]SS Z

The Y parameter laser_duration sets the time that the laser is turned on in milliseconds, essentially the same as TTL pulse length as described in the main TG-1000 programming manual. The setting applies to both moves initiated by AIJ as well as to ring buffer moves. Normal moves using MOVE or MOVREL commands will not turn on the laser. Its value should be between 1 and 65000. The Z parameter delay_time remains exactly as described in the main TG-1000 programming manual: the delay between ring buffer moves. If delay_time is less than (laser_duration + settle_delay) then the ring buffer behavior is unspecified. Its value should be between 1 and 16000

On Tiger with TGLED
Shortcut RT
Format [Addr#]RT Y=[LED ON time on TTL trigger in ms]
Units Time in millisec between 1 to 65000
Type Card-Addressed
Remembered Using [Addr#]SS Z

The RT command's Y argument is “recycled” for a different purpose for the TGLED cards. Here it is used to set the duration the LEDs stay on after a TTL trigger.

Other Behavior and function of RT command have been left unchanged. Refer to the TG-1000 programming manual for more info.

On Tiger with TGPMT
Shortcut RT
Format [Addr#]RT Y=[PMT overload reset pulse duration]
Units Time in millisec between 1 to 65000
Type Card-Addressed
Remembered Using [Addr#]SS Z

The RT command's Y argument is “recycled” for a different purpose for the TGPMT cards. Here it is used to set the duration the Reset pulse to clear the PMT from Overload state. Overload reset pulse is generated when LOCK command is issued.

Example

Assuming TGPMT card address is 7

7rt y=100
:A
7rt y?
:A Y=100.000000
On Phototrack systems
Shortcut RT
Format RT [X=report_time]
Remembered Using SS Z

Sets the time interval between report events when using TTL X=5 TTL triggered serial interface asynchronous reporting. The report_time value has an acceptable range from 20 to 32700 milliseconds. The default value is 200ms.

To turn ON/OFF serial position logging first set the ttl_function to serial logging using TTL X=5. Then either RM command without any arguments, or a TTL pulse on the INPUT BNC will toggle the serial reporting function ON or OFF. To change the reporting time interval use RT X=report_time. Save any changes you wish to keep using SS Z.

With SERVOLOCK_TTL Function
Shortcut RT
Format RT [R= duration threshould]
Remembered Using SS Z

Sets the trigger duration threshould for the SERVOLOCK_TTL functionality (pulses longer that the threshold are considered “long” = negative move and shorter are considered “short” = positive move. Restricted to units of 0.25 milliseconds. Defaults to 0.75 ms.

Command:RUNAWAY (RU)

MS2000 or RM2000 syntax
Shortcut RU
Format RU [axis] = [distance]… (9.2m and later, earlier RU X=n)
Units millimeter
Remembered Using SS Z
Tiger syntax
Shortcut RU
Format RU [axis] = [distance]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the servo loop error limit before the motors will be disabled. The value n, is the distance in millimeters that the internal servo target and the actual position can differ before the motor is disabled. Default is 1 to 2 mm. If spurious disable conditions are encountered, increase this number. For more sensitive crash protection, decrease this number. Prior to MS-2000 version 9.2f and TG-1000 version 3.20 a single value applied to all axes (Tiger card-addressed) but afterwards it is axis-specific. Prior to MS-2000 version 9.2m and TG-1000 version 3.20 only integer values were allowed, but afterwards floating point numbers are allowed and reported.

→ Read more...

2016/03/16 21:25

Command:SAA

MS2000 or RM2000 syntax
Shortcut SAA
Format SAA [axis]=### …
Units Axis units
Remembered Using SS Z
Tiger syntax
Shortcut SAA
Format SAA [axis]=### …
Units Axis units
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the peak-to-peak amplitude of the pattern. Negative numbers will reverse the direction of the ramp pattern and make the first triangle sweep negative instead of positive.

→ Read more...

2016/03/17 23:57

Command:SAF

MS2000 or RM2000 syntax
Shortcut SAF
Format SAF [axis]=### …
Units milliseconds or clock edges
Remembered Using SS Z
Tiger syntax
Shortcut SAF
Format SAF [axis]=### …
Units milliseconds or clock edges
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the period of the pattern, in units of milliseconds in case of internal clock (default, see SAP) or in number of clock edges for external clock. Note that the triangle pattern and square wave pattern will automatically force themselves to have a period of an even number of milliseconds, even if the user specifies a period of an odd number of milliseconds. When period is set to be 1msec, the resulting behavior is undefined.

Note: On MicroMirror the actual waveform output is modified by the filter (tunable with BACKLASH), especially when the period is set to be less than 10msec.

→ Read more...

2016/03/18 00:03

Command:SAM

MS2000 or RM2000 syntax
Shortcut SAM
Format SAM [axis]=### …
Units Integer code, 0-3 (see below)
Remembered Using SS Z
Tiger syntax
Shortcut SAM
Format SAM [axis]=### …
Units Integer code, 0-3 (see below)
Type Axis-Specific
Remembered Using [addr#]SS Z

Sets the single-axis mode according to the integer code.

Code Meaning
0 Puts single-axis mode in idle state (i.e. stops it if running)
1 Puts the single-axis mode in active state (i.e. starts generating the pattern)
2 Arms the trigger; on receipt of a TTL trigger pulse the single-axis mode becomes active
3 Makes the single-axis mode active and restarts the pattern of any other axis on the same card so they will be synchronized

→ Read more...

2016/03/18 00:05

Command:SAO

MS2000 or RM2000 syntax
Shortcut SAO
Format SAO [axis]=### …
Units Axis units
Remembered Using SS Z
Tiger syntax
Shortcut SAO
Format SAO [axis]=### …
Units Axis units
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the position of the center position of the single-axis pattern. For example, if the offset is 1000 and the peak-to-peak amplitude is set to 1000, the pattern will go between positions 500 and 1500.

Note that manual moves (e.g. with joystick or wheels) while a single-axis pattern is being generated automatically adjust the single-axis offset value, such that this command may not be needed.

As of Tiger firmware v2.82, using the “+” operator instead of specifying a position will store the current position to the offset for the specified axis. For example, SAO A+ set the position of axis A to the center position of the single-axis pattern

→ Read more...

2016/03/18 00:18

Command:SAP

MS2000 or RM2000 syntax
Shortcut SAP
Format SAP [axis]=### …
Units Integer code, 0-255 (see below)
Remembered Using SS Z
Tiger syntax
Shortcut SAP
Format SAP [axis]=### …
Units Integer code, 0-255 (see below)
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets the type of pattern to generate and configures the clocks. The parameter is a bit-mapped number that determines the characteristics of the motion, with the lowest bits determining the type of pattern. The code is interpreted according to the following table:

Bit Clear Set
7 Internal Clock External clock on TTL input
6 Polarity of Clk, positive edge Polarity of Clk, negative edge
5 No TTL out TTL out
4 Polarity of TTL out, active high Polarity of TTL out, active low
3 reserved Reserved
2-0 000 Ramp/sawtooth (code 0)
001 Triangle (code 1) (period always even number of msec)
010 Square wave (code 2) (period always even number of msec)
011 Sine wave (code 3)

→ Read more...

2016/03/18 00:14

Command:SAVEPOS (SP)

MS2000 or RM2000 syntax
Shortcut SP
Format SP [X=inhibit]
Units 0 or 1 only
Remembered Using SS Z
Tiger syntax
Shortcut SP
Format [addr#]SP [X=inhibit]
Units 0 or 1 only
Type Card-Addressed
Remembered Using [addr#]SS Z

The axis positions and soft limit locations can be automatically saved when power is turned off. If this action is not desired, setting inhibit=1 will prevent power down saves. (Default is inhibit = 0) If the command is given without argument, a save position shutdown will be initiated whereby the axes will be halted, positions saved to flash, and the controller placed in a non-responsive condition until power is cycled.

→ Read more...

2016/03/16 22:05

Command:SAVESET (SS)

MS2000 or RM2000 syntax
Shortcut SS
Format SAVESET [X][Y][Z]
Tiger syntax
Shortcut SS
Format [addr#]SAVESET [X][Y][Z]
Type Card-Addressed

SAVESET allows the user to save current parameters settings to Flash memory.
SAVESET Z , saves settings to flash memory
SAVESET Y , restores previously saved settings after a SAVESET X
SAVESET X , will reload factory defaults upon next power-up

→ Read more...

2016/03/16 21:35

Command:SCAN (SN)

MS2000 or RM2000 syntax and Function
Shortcut SN
Format SCAN [X=scan_axis] [Y=scan_axis] [Z=scan_axis] [F=pattern]
Units integer
Remembered Using SS Z
Firmware Module Required SCAN or ARRAY

Sets which axes are to be used for 2-D raster scan. The same axis settings also apply to the ARRAY module. The fast-scanned raster axis (horizontal) is defined by scan_axis = 1; the slow-scanned axis (vertical) is defined by scan_axis = 2. Single axis scans (1-D) requires setting the unused axes scan_axis = 0, and the driven axis as scan_axis = 1.

The scan pattern may be set to 0 for RASTER scans or 1 for SERPENTINE scans.

Without arguments, the command SCAN initiates (or stops) a scan using parameters set with the SCANR and SCANV commands.

Tiger syntax and Function
Shortcut SN
Format [addr#]SCAN [X?] [Y=fast_axis_id] [Z=slow_axis_id] [F=pattern]
Units integer
Type Card-Addressed
Remembered Using [addr#]SS Z
Firmware Module Required SCAN or ARRAY

Note multiple small changes in usage from MS-2000 command set.

Specifying an argument for the pseudoaxis X in decimal sets the state directly (see table below; the value is simply the decimal representation of the corresponding state character). Note that the firmware expects only certain states to be set by the user (marked as “OK to set” in the table); setting to a different state may yield unpredictable results. Querying the pseudoaxis X value returns the character associated with the current state.

Specify the cards axis ID as the fast_axis_id or slow_axis_id (axis IDs are obtainable using Z2B query; they are 0 and 1 for X and Y axes respectively on a two-axis motor card). If slow_axis_id is set to 9 then a true single-axis scan will be executed (not even anti-backlash moves on the slow axis); if slow_axis_id is specified but the slow axis start and stop positions (NV X and NV Y) are equal then a single-axis scan will execute but the slow axis position will be checked at the scan turnaround points.

The scan pattern may be set to 0 for RASTER scans or 1 for SERPENTINE scans.

Without arguments, the command SCAN initiates (or stops) a scan using parameters set with the SCANR and SCANV commands.

Scan states (SCAN_MODULE firmware)
Char Dec OK to set? State
I No Idle/disabled
S 83 Yes Starts state machine
P 80 Yes Stop (goes to idle state after cleanup)
a No Waits until slow axis move complete
b No Starts move along fast axis
c No Waits for fast axis move to finish
d No Starts serpentine slow axis move
e No Waits until serepentine move complete
f No Used in XF_SPIM only
g No Waits until retrace is complete
h No Scan complete, cleans up
2016/03/16 22:26

Command:SCANR (NR)

MS2000 or RM2000 syntax
Shortcut NR
Format SCANR [X=start] [Y=stop] [Z=enc_divide] [F= #_pixels]
Units integer
Remembered Using SS Z
Firmware Required SCAN
Tiger syntax
Shortcut NR
Format [addr#]SCANR [X=start] [Y=stop] [Z=enc_divide] [F= #_pixels]
Units integer
Type Card-Addressed
Remembered Using [addr#]SS Z
Firmware Required SCAN

Sets up raster scan start and stop positions, with the position values expressed in millimeters. During scanning, the stage will move past both of these positions slightly, so that when scanning within the range specified, the scan proceeds with uniform speed (set by the SPEED command). On units equipped with hardware position Sync, the output pulse goes high as the stage crosses the start position. On systems with the ENC_INT firmware module, an output pulse will occur every enc_divide number of encoder counts. If the user specifies the #_pixels, the stop position will be calculated based upon the enc_divide and start position.

2016/03/16 22:29

Command:SCANV (NV)

MS2000 or RM2000 syntax
Shortcut NV
Format SCANV [X=start] [Y=stop] [Z=number_of_lines] [F=overshoot_factor]
Units X and Y in mm, Z in integer, F in positive real
Remembered Using SS Z
Firmware Required SCAN
Tiger syntax
Shortcut NV
Format [addr#]SCANV [X=start] [Y=stop] [Z=number_of_lines] [F=overshoot_time]
Units X and Y in mm, Z in integer, F in ms
Type Card-Addressed
Remembered Using [addr#]SS Z
Firmware Required SCAN

X, Y, and Z parameters set up the slow-scan (vertical) start and stop positions, with the position values expressed in millimeters, and the number of lines. The stage will move to the start position before beginning the scan. The scan range will be divided into number_of_lines lines. Following a completed horizontal scan, the stage will move vertically to the next scan line. The processes will conclude when the stage has moved to the vertical stop position and completed the last horizontal scan. If the start and stop values are identical then a 1-D scan will occur, repeated number_of_lines times.

The F and T parameters pertain to the fast-scan (horizontal scan) motion, and there is a difference between the behavior of the F parameter on TG-1000 vs. MS-2000.

On MS-2000, overshoot_factor (F) sets the amount of extra motion to account for the acceleration ramp at the start and stop of the trace. An overshoot_factor=1.0 (default) sets the pre and post move distances equal to the ramp up and down distances. Using a larger number will allow for more time to reach constant speed before the active sweep region.

On TG-1000, overshoot_time (F) sets an additional settling time in ms for the stage velocity to settle before reaching the start position (beyond the always-required ramp time set by the AC command). Thus the time required between scan line initiation and reaching the start position is given by summing the AC time and the NV F time. The same delay occurs after the stop position except for raster scans in firmware v3.20 and higher in which case the after-stop overshoot time is capped at 10ms. The default value is 50ms.

The T parameter was partially implemented for TG-1000 firmware versions 3.17 and 3.18, absent in 3.19, and then present in 3.20 and greater. It is intended mostly for scan-optimized stages that have a significant amount of physical backlash. The default value is 0.02 when the SCAN_OPTIMIZED define is enabled and 0 otherwise. If the value is non-zero there are several changes to the scan operation: (1) There is an extra overshoot move performed (with amplitude specified by the parameter) before any scan move in either direction, which ensures that the physical backlash is removed correctly before beginning each scan pass. (2) Before the scan moves begin, an initialization move to the center of the range is made to ensure that the overshoot move happens correctly. (3) When the scan moves are complete, the stage moves to the center position (otherwise behavior is to move to the start position).

2016/03/16 22:33

Command:SECURE

This command is used to lock and unlock the MicroServo(U_SERVO_LK) and the Solenoid based (SOL_LK) lock inserts. SECURE command has a bit more functionality in case of Solenoid Lock insert.

For Micro Servo Lock Insert
Shortcut SECURE
Format SECURE [X= p]
Remembered Using SS Z
Hardware/Firmware Module Required Micro Servo Lock Insert and U_SERVO_LK

With stages equipped with Micro Servo lock mechanism, this command is used to lock or unlock samples on the stage. The value of p determines the position of the lever arm and can be any decimal number between 0.0 and 1.0. A value of 1.0 fully retracts the lever. The best value for a particular well plate model may vary and can be determined experimentally.

Example:

SECURE X=1.0    
:A

fully opens lever

SECURE X=0.25  
:A

Closes lever for typical well plate

SECURE 
:N-3

Error at axis required

SECURE Y=0
:N-2

invalid axis

SECURE X?
:N-2

invalid operation

For Solenoid lock insert
MS2000 or RM2000 syntax and Function
Shortcut SECURE
Format SECURE [X= 0 or 1] [Y=0 to 99] [Z=0 to 99] [F=0 to 255] [T=0 to 65000]
Remembered Using SS Z
Hardware/Firmware Module Required Solenoid Lock Insert and SOL_LK

←-

Tiger syntax and Function
Shortcut [addr#]SECURE
Format [addr#]SECURE [X= 0 or 1] [Y=0 to 99] [Z=0 to 99] [F=0 to 255] [T=0 to 65000]
Remembered Using [addr#]SS Z
Hardware/Firmware Module Required Solenoid Lock Insert and SOL_LK

←-

With inserts equipped with Solenoid lock mechanism, this command is used to lock or unlock samples on the stage.

X argument accepts either “0” or “1”. “0” is the locking command , and “1” is the unlocking command. The Solenoid use no power when in “0” or lock position , so this is the default and the controller's initial state.

Y arguments is a percentage of power briefly applied to the solenoid to pull the lever back and unlock the wellplate. Set by factory, we recommend that this setting not be adjusted unless suggested by ASI support.

Z arguments is a percentage of power applied to the solenoid to keep it unlock. After unlocking, the solenoid needs very little power to keep the lever pulled back and keep the well plate unlocked. Set by factory, we recommend that this setting not be adjusted unless suggested by ASI support.

F argument sets the auto lock time, units are in minutes. When in unlock position , the solenoid is consuming power, over time solenoid will heat up and may damage it. There is a auto locking timer , Y sets the maximum time the solenoid stays unlocked , after which the controller auto locks. Default is 5 min . This feature can be disabled by setting Y as “0”, this is not recommended.

T argument, units are in millisec. This arguments sets the amount of time higher power (Y arguments) needs to be applied to unlock the wellplate. After that lower power (Z arguments) is applied to keep the wellplate unlocked. Set by factory, we recommend that this setting not be adjusted unless suggested by ASI support.

Note 1: Solenoid only consumes and dissipates power when in unlock state. Over time the heat generated by this power dissipation may damage the solenoid. So only unlock when needed.

Note 2: TTL Out mode must be set to 9 ie TTl Y=9 . This give control of the TTL out connector to Secure command .

MS2000 Example:

SECURE X=1  
:A

fully opens lever, unlock state

SECURE X=0
:A

Closes lever, lock state

SECURE 
:N-3

Error at axis required

SECURE X=1 F=2
:A

lever unlocks, and will auto lock after 2 mins

SECURE X?
X=1 :A

reply 1 indicates lever is in unlock state.

2016/03/16 23:21

Command:SETHOME (HM)

MS2000 or RM2000 syntax
Shortcut HM
Format HM [axis]=[position in mm]…
Units millimeter
Remembered Using SS Z
Required MS2000 Firmware Version 8.0+
Tiger syntax
Shortcut HM
Format HM [axis]=[position in mm]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets/displays a fixed hardware HOME location for an axis in units of millimeters. The HOME position is considered a fixed hardware location and is adjusted properly when the controller’s coordinate system is altered with the HERE or ZERO function. The HOME position is automatically remembered and recalled through a power cycle and does not need to be saved using the SAVESET command.

→ Read more...

2016/03/16 23:32

Command:SETLOW (SL)

MS2000 or RM2000 syntax
Shortcut SL
Format SETLOW [axis]=[position in mm]…
Units millimeter
Remembered Using SS Z
Tiger syntax
Shortcut SL
Format SETLOW [axis]=[position in mm]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

This command sets/displays the lower firmware limit switch for an axis. The Limit positions are considered fixed hardware locations and are adjusted properly when the controller’s coordinate system is altered with the HERE or ZERO function. The Limit positions are automatically remembered and recalled through a power cycle and do not need to be saved using the SAVESET command.

→ Read more...

2016/03/16 23:37

Command:SETUP (SU)

MS2000 or RM2000 syntax
Shortcut SU
Format SU [axis]=[position in mm]…
Units millimeter
Remembered Using SS Z
Tiger syntax
Shortcut SU
Format SU [axis]=[position in mm]…
Units millimeter
Type Axis-Specific
Remembered Using [addr#]SS Z

Same as SETLOW command (see above) but for upper firmware limit switch

Note 1: If this value is equal to or less than the value for SETLOW, then the controller will operate incorrectly. See also Note 2.
Note 2: When the direction of an axis is negative (see CCA Z=###), upper limit settings must be negative values, and lower limit settings must be positive values.
Note 3: For clocked devices (e.g. filter sliders, turrets) the upper limit is always the number of positions. Querying the value is useful for determining how many positions.
Note 4: As of Tiger firmware v2.8, SU [axis]+ will set the upper limit to be the current position. Restore the default limit by executing SU [axis]-.

2016/03/16 23:43

Command:SI

This command has two distinct functions depending on whether the system uses linear encoders SEARCH INDEX or rotary encoders SEEK LIMITS.

This functionality is available by request from ASI. It is not included with standard firmware.

Linear Encoder and SEARCH INDEX
MS2000 or RM2000 syntax
Shortcut SI
Format SI [axis]=[position in 1/10 microns]…
Units 1/10 microns
Firmware Version Required v8.4+
Tiger syntax
Shortcut SI
Format SI [axis]=[position in 1/10 microns]…
Units 1/10 microns
Type Axis-Specific

This Command searches for the physical centers of the stage and marks it with a user inputted value. Software limits are reset to default.

Reply
If there are no errors, a positive reply of “:A” is sent back.

Example

SI X=0
:A

In the example, the controller searches for the center of X-axis and sets it to zero.

SI Y=20000
:A

In the example, the controller searches for the center of Y-axis and sets it to 2mm.

SI Y=0
:N-5

N-5, indicates center of axes could not be found. This could be because previous center value is same as the new value, or hardware and software issues.

SI X? Y?
:A X=0 Y=0

In this example the X and Y axes are being queried for the current setting of the axes centers. The response is what they have previously been set to (not necessarily 0).

Rotary Encoder and SEEK LIMITS
MS2000 or RM2000 syntax
Shortcut SI
Format SI [axis] = [1 or -1]…
Units 1/10 microns
Firmware Version Required v8.8e+
Tiger syntax
Shortcut SI
Format SI [axis] = [1 or -1]…
Units 1/10 microns
Type Axis-Specific

If 1, then the stage seeks the upper limit. If -1, then the stage seeks the lower limit.

The stage moves to the hardware limit, backs away 3 mm, then approaches the limit slowly enough to maximize repeatability of the result. The recommended procedure is as follows, with SI and HERE commands using one or more axis arguments:

  • Send SI command.
  • Poll with STATUS command until ‘N’ is received.
  • Send HERE command with desired real world position.

Reply
If there are no errors, a positive reply of “:A” is sent back after issuing the command. If an error occurs during execution it will be reported then.

Example

SI X=1 Y=-1
:A

In this example the command is issued to seem the X axis positive limit and the Y axis negative limit.

SI X? Y?
:A X=0 Y=0

In the example the X and Y axes are being queried for the current setting for the direction to seek the limits.

Auto Homing For Clocked Devices like Sliders
As of firmware 9.2l (for MS2000) and 3.18 (for Tiger) Seek Limit routine performs an additional step for clocked devices. After finding the Limit it moves a set distance (distance is specified as Home Position Command:SETHOME) and zeros itself there. By default, the distance between Upper limit and Slot 1 is saved in Home position , so when Seek Limit is run , the controller is able to move the slider to position 1 by finding the limit and moving a set distance from it.

2016/03/17 00:01

Command:SPEED (S)

MS2000 or RM2000 syntax
Shortcut S
Format SPEED [axis]=[max speed in mm/sec]…
Units mm/sec
Remembered Using SS Z
Tiger syntax
Shortcut S
Format SPEED [axis]=[max speed in mm/sec]…
Units mm/sec
Type Axis-Specific
Remembered Using [addr#]SS Z

Sets the maximum speed at which the stage will move during a commanded move (e.g. using MOVE, MOVEREL, or the home joystick button; speed during joystick moves is separate and set using the JSSPD command). Speed is set in millimeters per second. Maximum speed is = 7.5 mm/s for standard 6.5 mm pitch leadscrews.

→ Read more...

2016/03/17 00:04

Command:SPIN (@)

MS2000 or RM2000 syntax
Shortcut @
Format SPIN [axis]=[-128 to 128]…
Units integer -128 to 128
Tiger syntax
Shortcut @
Format SPIN [axis]=[-128 to 128]…
Units integer -128 to 128
Type Axis-Specific

Tells controller to ‘spin’ the motor of specified axis at a rate expressed as its DAC value, a bit value from -128 to 128. This causes the motor to run in open-loop mode with no position or speed feedback.

→ Read more...

2016/03/17 00:08

Command:STATUS (/)

MS2000 or RM2000 syntax
Shortcut /
Format STATUS
Tiger syntax
Shortcut /
Format STATUS
Type Broadcast command

Inquires regarding the motor status of all axes. Queries the controller whether or not any of the motors are still busy moving following a serial command. Using the shortcut / is the preferred method for rapid polling of the controller for a busy state. The / is handled quickly in the command parser.

→ Read more...

2016/03/17 00:13

Command:STOPBITS (SB)

Shortcut SB
Format STOPBITS X=n
STOPBITS X?
Units integer, 1 or 2
Remembered Using SS Z

Sets the number of stop bits, n, to be used for RS232 serial communication. The default is one 1 stop bit; the other option is two 2 stop bits. Use the SAVESET Z command to retain the new stop bit setting after power off.

2016/03/17 00:16

Command:TTL

TTL Has different syntax and slightly different function if you have a Tiger(TG-1000) or MS2000 and RM2000 controller.

On Tiger
Format [Addr#]TTL [X=IN0_mode] [Y=OUT0_mode] [Z=aux_IO_state] [F=OUT0_polarity] [R=aux_IO_mask] [T=aux_IO_mode]
[Addr#]TTL (firmware v3.16+)
Type Card-Addressed
Remembered Using [Addr#]SS Z

Only partly implemented in TG-1000

The MS2000 controller has a buffered TTL input (IN0) and output (OUT0) port as well as several unbuffered I/O ports. The signals IN0 and OUT0 are found on the board connector SV1 pin1 and 2 respectively. On many controllers, these signals are connected to the IN and OUT BNC connectors on the back of the controller. The IN0_mode and OUT0_mode parameters set with this command determine the character of the I/O pins. It’s a Card-Addressed command.

IN0_mode

0 - turns off TTL IN0 controlled functions; TTL interrupt DISABLED.

1 – TTL IN0 initiates a Move-to-Next-Position of the stored positions in the Ring Buffer pointed to by the buffer_pointer. When the buffer_pointer reaches a value equal to the number of saved positions, it resets to the first position, allowing cyclic repetitions to the saved locations. See RBMODE and LOAD command.

2 - TTL IN0 repeats most recent relative move (See MOVREL) For example, begin a session by issuing the command MOVREL X=0 Y=0 Z=0.5, and each subsequent move to Next Position will cause the Z axis to move 0.05 micron. This function can be used for repetitive relative moves of any axis or combination of axes. You may directly set the dZ value with the ZS command’s X parameter for the specified focus axis but not for others.

3 – TTL IN0 initiates an autofocus operation on systems with autofocus installed.

4 – enables TTL IN0 controlled Z-stacks. (See ZS command).

5 – enables TTL IN0-started position reporting via the serial interface. Information is asynchronously sent out the serial interface every report_time interval, where report_time is set with the RT command. Data returned in the serial stream are the elapsed time in milliseconds since the TTL trigger, followed by the position of each axis enable by the axis_byte. On TRACKING systems, the PMT sum signal is also reported. Reporting is toggled on and off by the TTL input pulse.

6 – TTL interrupt ENABLED; use with TTL triggered position reporting.

7 – TTL commanded ARRAY move to next position.

9 – Used with CRISP focus lock. TTL IN0 HIGH engages lock if the system is in the READY state. TTL IN0 LOW will cause the system to UNLOCK is locked already.

10 - Toggle TTL OUT0. If TTL OUT0 is set either LOW or HIGH, an input pulse on the TTL IN0 will cause the output to toggle to the other state.

11 - SERVOLOCK_TTL mode (must have firmware support; prints SRVLK_TTL in the BU X output). To engage the SERVOLOCK_TTL mode use the LK command which will then automatically change the TTL IN0 mode and normally will restore it afterwards. When the SERVOLOCK_TTL mode is engaged do not change the TTL X setting. For further documentation see the SERVOLOCK_TTL documentation.

12 – Behavior is exactly the same as mode 1 above except the moves are relative rather than absolute.

CAUTION: If you are using TTL mode 12, the values entered into the ring buffer using the LOAD command represent RELATIVE coordinates, not ABSOLUTE coordinates. You must drive the stage to the appropriate starting position before triggering a ring buffer sequence.

20 – Used with TGLED card, All LED channels remain off until a TTL pulse is received on the TTL IN connector. On the Rising edge of the TTL pulse, the LED channels turn ON and remain ON for a fixed duration set by the RT Y command.

21 - Used with TGLED card, TTL Pulses cycle thru channels of the TGLED card one at a time turning them ON for a set time. On the Rising edge of the TTL pulse, only ONE LED channel turns ON for a fixed time. Then on next TTL pulse, the next LED channel turns ON for a fixed time and so on. Starting v3.24, when RB F=3 TGLED card cycles thru all channels without waiting for TTL pulses.

OUT0_mode

0 – TTL OUT0 unconditionally set LOW.

1 – TTL OUT0 unconditionally set HIGH.

2 – generates TTL pulse at end of a commanded move (MOVE, MOVREL, move via ring buffer, or via array module). The pulse duration is set with command RT Y=???.

3 – output TTL OUT0 gated HIGH during axis index 0 (X) constant speed move.

4 – output TTL OUT0 gated HIGH during axis index 1 (Y) constant speed move.

5 – output TTL OUT0 gated HIGH during axis index 2 (Z) constant speed move.

8 – TTL OUT0 timed arrival pre-pulse output. See RT command. Requires PREPULSE firmware module.

9 – TTL OUT0 PWM and MicroServo Output. See the LED or the SECURE command. Requires LED_DIMMER or USERVO firmware module

10 – output TTL OUT0 gated HIGH upon completion of video AUTOFOCUS function. AUTOFOCUS hardware and firmware required.

11 – generates TTL OUT0 pulse at end of commanded move providing CRISP is in ‘F’ state. Waits for CRISP ‘F’ state after move completion to send a pulse. Also enables CRISP status busy poling that will not return 'N' until CRISP is in the In-Focus 'F' state.

12 – TTL OUT0 high when CRISP is ‘F’ state, low otherwise.

20 – TTL OUT0 set during SPIM state machine operation. Requires MM_SPIM firmware module. Until v3.12 was code 10 (changed to avoid MS2000 conflict)

21 – TTL OUT0 set at the end of a ring buffer move or AIJ-initiated move (for laser trigger). Requires MM_TARGET firmware module. Until v3.12 was code 11 (changed to avoid MS2000 conflict).

22 - In this mode, TTL OUT0 is controlled by Single-axis function module. With the SAP command the user can generate a TTL pulse that is synchronized with Single-axis function actuator motion. Available only in firmware version 3.17 and above.

OUT0_polarity

1 – default polarity, -1 inverts the polarity of TTL OUT0.

aux_IO_state

Requires TTL_AUXILIARY firmware module; behavior depends on the firmware build and hardware present. Sets the state of the auxiliary TTL output according to the aux_IO_mask. Input and output as a decimal number representing the binary pattern desired. The following uses have been defined so far:

For MM_SPIM firmware with SPIM TTL card: Bit0 = Side0/Laser0 output, Bit1 = Side1/Laser1 output

aux_IO_mask

Requires TTL_AUXILIARY firmware module; behavior depends on the firmware build and hardware present. Controls how the aux_IO_state bits are used, or how the backplane is used when aux_IO_mode is set to 2. Input and output as a decimal number representing a binary mask. If the corresponding mask bit is set to 1 then the state bit will be reflected at the output, but if the mask bit is 0 then the state bit has no effect. The following uses have been defined so far:

For MM_SPIM firmware: Defaults to 3 = 0b00000011.

aux_IO_mode

Requires TTL_AUXILIARY firmware module; behavior depends on the firmware build and hardware present. The SPIM state machine overrides these setting during its operation.

0 – TTL outputs determined by aux_IO_state/mask.

1 – TTL outputs determined by the LED command (requires MM_LASER_TTL module). The default setting for MM_SPIM firmware.

2 – Simulates a TTL input from the backplane. The backplane value is masked by aux_IO_mask and the binary value is considered. If a 0-1 transition occurs then a TTL input pulse is simulated and action will be taken depending on the setting of IN0_mode. The default setting for TTL_AUXILIARY on piezo firmware.

Without any Argument

In firmware version 3.16 and above , When TTL command is issued without any arguments , like [Card Addr#]TTL , the controller report the state of TTL IN. The controller replies with :A 0 when signal is low. and :A 1 when TTL IN sees a high signal.

On MS2000 and RM2000
Format TTL [X=IN0_mode] [Y=OUT0_mode] [Z=aux_IO_mode] [F=OUT0_polarity]
TTL (firmware v9.2k+)
Remembered Using SS Z
Required Version 8.5+

The MS2000 controller has a buffered TTL input (IN0) and output (OUT0) port as well as several unbuffered I/O ports. The signals IN0 and OUT0 are found on the board connector SV1 pin1 and 2 respectively. On many controllers, these signals are connected to the IN and OUT BNC connectors on the back of the controller. The IN0_mode and OUT0_mode parameters set with this command determine the character of the I/O pins.

IN0_mode

0 - turns off TTL IN0 controlled functions; TTL interrupt DISABLED.

1 – TTL IN0 initiates a Move-to-Next-Position of the stored positions in the Ring Buffer pointed to by the buffer_pointer. When the buffer_pointer reaches a value equal to the number of saved positions, it resets to the first position, allowing cyclic repetitions to the saved locations. See RBMODE and LOAD commands.

2 - TTL IN0 repeats most recent relative move (See MOVREL) For example, begin a session by issuing the command MOVREL X=0 Y=0 Z=0.5, and each subsequent move to Next Position will cause the Z axis to move 0.05 micron. This function can be used for repetitive relative moves of any axis or combination of axes. You may directly set the dZ value with the ZS command’s X parameter.

3 – TTL IN0 initiates an autofocus operation on systems with autofocus installed.

4 – enables TTL IN0 controlled Z-stacks. (See ZS command).

5 – enables TTL IN0-started position reporting via the serial interface. Information is asynchronously sent out the serial interface every report_time interval, where report_time is set with the RT command. Data returned in the serial stream are the elapsed time in milliseconds since the TTL trigger, followed by the position of each axis enable by the axis_byte. On TRACKING systems, the PMT sum signal is also reported. Reporting is toggled on and off by the TTL input pulse.

6 – TTL interrupt ENABLED; use with TTL triggered position reporting.

7 – TTL commanded ARRAY move to next position.

9 – Used with CRISP focus lock. TTL IN0 HIGH engages lock if the system is in the READY state. TTL IN0 LOW will cause the system to UNLOCK if locked already.

10 - Toggle TTL OUT0. If TTL OUT0 is set either LOW or HIGH, an input pulse on the TTL IN0 will cause the output to toggle to the other state.

20 – On TTL IN0 trigger (or on RM command) TTL OUT0 outputs a pulse for a fixed duration set by the RT Y command. TTL Y must be in 0 mode (TTL Y=0) or it might cause an issue. Can be used with a LED illumination, acts like a FLASH when taking images. (added in firmware version 9.2l)

In case of a Dual LED(DLED), All LED channels remain off until a TTL pulse is received on the TTL IN connector. On the Rising edge of the TTL pulse, the LED channels turn ON and remain ON for a fixed duration set by the RT Y command.

21 - Used with Dual LED(DLED), TTL Pulses cycle thru channels of the TGLED card one at a time turning them ON for a set time. On the Rising edge of the TTL pulse, only ONE LED channel turns ON for a fixed time. Then on next TTL pulse, the next LED channel turns ON for a fixed time and so on. Duration LEDs stay on set by the RT Y command

OUT0_mode

0 – TTL OUT0 unconditionally set LOW.

1 – TTL OUT0 unconditionally set HIGH.

2 – generates TTL pulse at end of a commanded move (MOVE, MOVREL, move via ring buffer, or via array module). The pulse duration is set with command RT Y=???.

3 – output TTL OUT0 gated HIGH during axis index 0 (X) constant speed move.

4 – output TTL OUT0 gated HIGH during axis index 1 (Y) constant speed move.

5 – output TTL OUT0 gated HIGH during axis index 2 (Z) constant speed move.

8 – TTL OUT0 timed arrival pre-pulse output. See RT command. Requires PREPULSE firmware module

9 – TTL OUT0 PWM and MicroServo/Solenoid Output. See the LED or the SECURE command. Requires LED_DIMMER or USERVO or SOL_LK firmware module

10 – output TTL OUT0 gated HIGH upon completion of video AUTOFOCUS function. AUTOFOCUS hardware and firmware required.

11 – generates TTL OUT0 pulse at end of commanded move providing CRISP is in ‘F’ state. Waits for CRISP ‘F’ state after move completion to send a pulse.

12 – TTL OUT0 high when CRISP is ‘F’ state, low otherwise

OUT0_polarity

1 – default polarity, -1 inverts the polarity of TTL OUT0.

Without any Argument

In firmware version 9.2k and above , When TTL command is issued without any arguments , like TTL , the controller report the state of TTL IN. The controller replies with :A 0 when signal is low. and :A 1 when TTL IN sees a high signal.

aux_IO_mode

Not used

Command:Unit Multiplier(UM)

MS2000 or RM2000 syntax
Format UM [axis]= ### …
Units integer
Remembered Using SS Z
Tiger syntax
Format UM [axis]= ### …
Units integer
Type Axis-Specific
Remembered Using [addr#]SS Z

Specifies the multiplier for most serial commands such as MOVE and WHERE. Default values are 10000 (/mm), setting the default input scaling to 0.1μm/count. The sign of the Units Multiplier can be used to change the relative direction of motion for commanded moves. However, using the CCA Z command is the recommended procedure for changing the stage direction. The Units Multiplier can be saved with the SS Z command.

→ Read more...

2016/03/17 00:21

Command:UNITS (UN)

Shortcut UN
Format UNITS
Remembered Using SS Z

Toggles between millimeters and inches shown on the LCD display when DIP Switch 2 is down.

→ Read more...

2016/03/17 00:23

Command:UNLOCK (UL)

For CRISP or ZS
Tiger Syntax
Shortcut UL
Format [Addr#]UL [X=LED_Intensity] [Y=Update_Skip] [Z=Rel_LK_knob_spd][F=focus_index]
Type Card-Addressed
Remembered Using [Addr#]SS Z
MS2000 and RM2000 Syntax
Shortcut UL
Format UL [X=LED_Intensity] [Y=Update_Skip] [Z=Rel_LK_knob_spd][F=focus_index]
Remembered Using SS Z

Without arguments, this command unlocks the servo from the focus system and returns control to encoder feedback from the Z-axis drive. The focus error offset is not changed.

The LED_Intensity may be set from 0 to 100 (%) of full power using the X argument. Default is 99.

Update_Skip is used to reduce the update rate of the CRISP system to the motor drive system. Default is zero. Increase Update_Skip to improve stability when using piezo Z-axis drive systems and higher loop gain settings.

Rel_LK_knob_spd (default 2) controls the sensitivity of the control focus knob when the system is locked. This will vary depending on the calibration factor that the system finds, so don’t be alarmed if you find large sensitivity differences with conditions.

To select active Z-focus axis: If the controller can handle more than one Z-axis focus device, you can specify the focus_index to select which one is active for the CRISP, TRACKING or ZS functions. Specify as a 0-indexed number; find the axis index from the letter using Z2B command or else parse the output of the BU X command and figure out what number in order the axis letter is). Save the parameter change (SS Z) and reset the controller.

For TRACKING
Shortcut UL
Format UL [X=focus_enable ] [Y= z_cal_value ] [Z=closeness ] [F=focus_index]
Remembered Using SS Z

Without arguments, this command unlocks the servo from the focus system and returns control to encoder feedback from the Z-axis drive. The focus error offset is not changed.

focus_enable: X=0 autofocus off; X=1 autofocus on.

z_cal_value: is the gain constant for the focus servo.

closeness: is a relative value describing the precision of XY centering before Z focus tracking is activated. closeness should be set to roughly the acceptable xerr2 + yerr2, where xerr and yerr are typical “well tracked” errors numbers seen on the controller LCD display.

To select active Z-focus axis: If the controller can handle more than one Z-axis focus device, you can specify the focus_index to select which one is active for the CRISP, TRACKING or ZS functions. Save the parameter change (SS Z) and reset the controller.

2016/02/24 00:58

Command:VB

This command has a slightly different usage on Tiger then in MS2000 and RM2000.

MS2000 or RM2000 syntax and function
Shortcut VB
Format VB [X=binary_code] [Y=TTL IN1 state (read only)] [Z=read_decimal_places]
Units integer
Remembered Using SS Z
Firmware Required v8.5+

Adds serial communication verbose modes for special functions. The binary_code is the sum of the bit values for the desired functions from the list below. The Y argument allows the TTL IN1 input state to be directly queried via serial command. The number of decimal places for the WHERE command is set by read_decimal_places.

Bit 0 1Send character ‘N’ upon completion of a commanded move.
Bit 1 2Send ‘p’ for joystick quick-press and release, ‘P’ for long-press.
Bit 2 4Send ‘H’ for TTL IN1 low-to-high transition; ‘L’ for high-to-low.
Bit 3 8Changes the reply termination for <CR>+<LF> to just <CR>
Bit 4 16Move and Move Rel will print the new Target Position.
Bit 5 32Axes positions reported upon completion of a commanded move.

Example VB X=7 turns on the first three of the above functions.

Tiger syntax and function
Shortcut VB
Format [addr#]VB [X=binary_code] [Z=read_decimal_places] [F=###]
Units integer
Type Card-Addressed
Remembered Using [addr#]SS Z

The Z argument sets the number of decimal places for the WHERE command. This is card-addressed so that different cards can be set differently. It is saved to non-volatile memory using the SS Z command.

The F argument sets the reply syntax. Setting to 0 (default) is the MS-2000 syntax, and setting to 1 gives the Tiger syntax (see above section for details). The syntax state does not persist when power is turned off.
Reply Note that this command does NOT return :A or other acknowledgement.

The X argument implemented in firmware version 3.17 and above . When set with the Binary bit shown in the table below, performs the corresponding action

Bit 4 16Move and Move Rel will print the new Target Position.Vector command will print the current position
1vb x=16

<LF>
ve x=1 y=-1
:A -0 -0 
<LF>
ve x=2 y=-2
:A 66562 -66567 
<LF>
ve x=0 y=0
:A 156651 -156663 
<LF>

In the above example , XY stage is on Card Addr#1. Because VB X=16 , BIT4 was set. This makes the Vector command reply with the axis's current position.

2016/03/17 18:18

Command:VECTOR (VE)

MS2000 or RM2000 syntax
Shortcut VE
Format VE [axis]=[speed in mm/sec]…
Units mm/sec
Firmware Required v8.5+
Tiger syntax
Shortcut VE
Format VE [axis]=[speed in mm/sec]…
Units mm/sec
Type Axis-Specific

The VECTOR command causes the stage to immediately ramp up to the velocity value specified by the command. The command arguments are expressed in units of mm/sec. The stage will continue indefinitely at the commanded velocity until the controller receives another command. A value of zero for the velocity component will halt motion on that axis. The controller will accelerate the stage to the commanded velocity at the rate specified by the ACCEL and SPEED commands until the commanded velocity is obtained.

Query VE X? [Y?] [Z?] Returns the current speed increment for the servo trajectory generator in units of mm/sec.

Reply :A is returned upon receipt of the command.

Example

ve x=10
:A 
<LF>
ve x?
:A X=9.999151 
<LF>
ve x=0
:A 
<LF>
2016/03/17 18:25

Command:VERSION (V)

MS2000 or RM2000 syntax
Shortcut V
Format VERSION
Tiger syntax
Shortcut V
Format [addr#]VERSION
Type Card-Addressed

Requests controller to report which firmware version it is currently using.

Tiger Example
1V
:A v2.4

Firmware version of card#1

MS2000 example
V
:A Version: USB-8.6a
2016/03/17 18:32

Command:WAIT (WT)

MS2000 or RM2000 syntax
Shortcut WAIT
Format WAIT [axis]=[time in msec]…
Units millisecond
Remembered Using SS Z
Tiger syntax
Shortcut WAIT
Format WAIT [axis]=[time in msec]…
Units millisecond
Type Axis-Specific
Remembered Using [addr#]SS Z

Sets the length of time msec, in milliseconds, the controller will pause at the end of a move. The busy status is not cleared during this pause state, unless the MAINTAIN behavior for the axis is set to code=3. Additionally, a P is displayed on the LCD display when in the Pause state. During the Pause state, the servo loop remains actively attempting to position the axis on target.

For a piezo stage axis, the controller enters the Pause state as soon as the command is received and the voltage applied to the piezo. The controller remains BUSY until the Pause state times out. Typically used to allow for piezo stage settling time.

For Phototargeting or MM_TARGET firmware , this can be used to specify the amount of time between the move initiation (either a ring buffer move or from the AIJ command) and when the laser pulse turns on. Thus it would normally be non-zero for at least one of the micro-mirror axes involved in phototargeting. Default for all axes in MM_TARGET firmware is 5 ms (usual default is 0 ms).

→ Read more...

2016/03/17 18:36

Command:WHERE (W)

MS2000 or RM2000 syntax
Shortcut W
Format WHERE axis [axis] [axis]…
Tiger syntax
Shortcut W
Format WHERE axis [axis] [axis]…
Type Axis-Specific

Returns the current position of the device for the axis specified.

The reporting precision of the WHERE command can be changed with the VB Z command.

→ Read more...

2016/03/17 18:45

Command:WHO

MS2000 or RM2000 syntax
Shortcut N
Format WHO
Firmware Version Tiger v1.6+
Tiger syntax
Shortcut N
Format WHO
Type Comm-default command
Firmware Version Tiger v1.6+

Inquires the controller to reply with its name. Allows computer software to automatically determine what stage instrument is attached at the end of the serial line.

In TG-1000 it prints all the card address, axis characters, build name and compile date, of all cards installed in the system.

MS2000 example
N
:A ASI-MS2000-XYBR-Zs-USB
Tiger example
N
At 30: Comm v1.6 TIGER_COMM Jul 02 2013:17:19:34
At 31: X:XYMotor,Y:XYMotor v2.4 STD_XY Jun 11 2013:10:24:35
At 32: P:MMirror,Q:MMirror,R:MMirror,S:MMirror v2.4 MMIRROR_4CH May 10 2013:16:22:55
2016/03/17 18:49

Command:WRDAC

On Tiger with TGLED
Format [Addr#]WRDAC X=[1 to 100]
Units Percentage between 0 and 100
Type Card-Addressed
Remembered Using [Addr#]SS Z

This command is “recycled” for a slightly different use in TGLED than for other cards. In the context of a TGLED card this command is used to set the maximum around of current for all the LED channels.

The Maximum amount of current a TGLED Rev A card can output on each LED channel is 1.2Amps. When the X argument is set to 75, then maximum current each channel will output is reduced to 75% of 1.2Amps i.e. 0.9Amps.

This command can be used as a quick way to adjust the brightness of all LED channels. Default is 75%, ASI recommends not exceeding this limit.

Example

1WRDAC X=50
:A

Limits the maximum current output on each channel to 50% or 0.6Amps

1WRDAC X? 
X=50 :A

Queries the card for maximum current percentage.

On MS2000 and RM2000
Format WRDAC X=[0 to 10]
Units Voltage, 0 to 10V
Firmware Required 8.4f+

Lets the user set the voltage on header pin SV1-5 on WK2000 board. The voltage can be varied between 0 and 10 Volts, with an accuracy of 0.1V. Maximum Output drive current is 35mA. Input value in volts. Does not work with Piezo units.

Example

WRDAC X=1.1
:A

Voltage on PIN SV1-5 is 1.1Volts

WRDAC X=20
:N-4
WRDAC X=-1
:N-4

Parameter out of range

On Tiger with TGPMT
Format [Addr#]WRDAC X=[0 to 1000] Y=[1 to 1000]
Units integer, between 0 and 1000
Type Card-Addressed
Remembered Using [Addr#]SS Z

This command is “recycled” for a slightly different use on TGPMT card than for other cards . In the context of a TGPMT card this command is used to set the PMT's control voltage or gain. When set to 0 , PMT output signal drops to 0Volts , turning it off. When set to 1000 , 100% of control signal (1 Volts incase of H10722) is applied to the PMT.

X sets the gain for PMT0

Y sets the gain for PMT1

This function does the same function as the Dials on TGPMT cards faceplate.

Example

7 wrdac x? y?
X=500.000000 Y=0.000000 :A

Queries the TGPMT card at Address 7 for PMT gain settings. PMT0 is at 50% gain , PMT1 is at 0% gain and so is off.

7wrdac x=505 
:A

Sets the gain of PMT0 at 50.5% on TGPMT card at address 7

2016/02/23 01:03

Command:Z2B

MS2000 or RM2000 syntax
Format Z2B axis=[new axis letter ascii code]…
Units ASCII code
Remembered Using SS Z
Firmware Required v8.6d+
Tiger syntax
Format Z2B axis=[new axis letter ascii code]…
Units ASCII code
Type Axis-Specific
Remembered Using [addr#]SS Z

Allows the user to change the axis name for a motor axis. The current_axis_letter must be one of the motor axes names listed with the BU X command. The new_axis_letter_ascii_code must be the decimal ASCII code for the desired axis name for letters between upper case A(65) and Z(90). For the change to take effect, the new setting must be saved to flash memory using SS Z, followed by a hardware reset. The new axis name will remain in effect unless default settings are restored to the controller.

If the Z2B value of an axis is queried (e.g. Z2B Y?), the axis’ index on the card is returned (e.g. :A Y=1 for the 2nd axis on the card).

→ Read more...

2016/03/17 19:24

Command:ZERO (Z)

MS2000 or RM2000 syntax
Shortcut Z
Format ZERO
Tiger syntax
Shortcut Z
Format ZERO
Type Broadcast Command

Writes a zero to the position buffer of all axes. Allows the user to set current position as the origin. It’s a Broadcast Command.

For setting the position of a single axis to zero instead, use the HERE command.

→ Read more...

2016/03/17 19:16

Command:ZS

MS2000 or RM2000 syntax
Shortcut ZS
Format ZS [X=dZ] [Y=n] [Z=mode] [F= stack_timeout]
Remembered Using SS Z
Tiger syntax
Shortcut ZS
Format [addr#]ZS [X=dZ] [Y=n] [Z=mode] [F= stack_timeout]
Type Card-Addressed
Remembered Using [addr#]SS Z

Sets parameters for use with TTL triggered Z movement. User must set TTL X=4 for this trigger mode to be active. When a positive TTL edge is detected, the Z-axis is moved by an amount dZ (expressed in 10th microns units). This move distance is repeated for n TTL triggered moves. If mode=1, the stage will step in the opposite direction for n moves, then turn around again, repeating a triangular waveform cycle. If mode=0 the stage will return to the original position after n moves and repeat a saw-tooth waveform cycle.

The stage will move to the starting position upon receiving the first TTL pulse after waiting more than stack_timeout milliseconds (default 500ms) from the previous pulse.

Th axis moved by the TTL is the designated “focus index” (also the axis used for CRISP among other things). Use UNLOCK F to read or set the axis letter corresponding to “focus index”. Note the setting has to be changed, settings saved, and the controller reset or power cycled for the new setting to take effect. If the controller has a piezo but no motorized focus drive then the piezo axis should be set as the “focus index”. If both are present the “focus index” normally default to the piezo.

Backlash : ZS routine also performs the backlash compensation move for each step. For step size smaller than 10 microns, this might result in issues like irregular step sizes. Consider disabling Command:BACKLASH for smaller step sizes.

Stack Timeout : If the TTL frequency is less than 2Hz , then the controller might consider it a stack time out condition. Consider increasing the Stack timeout to accommodate the slower TTL frequency, to avoid any issue.

→ Read more...

2016/03/17 19:37
products/ms2000.txt · Last modified: 2019/04/18 23:33 (external edit)