User Tools

Site Tools


tiger_ms2k_difference

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tiger_ms2k_difference [2021/09/23 17:15] – external edit 127.0.0.1tiger_ms2k_difference [2026/09/01 15:51] (current) – [A Note Regarding Units] fix MOVEREL -> MOVREL brandon
Line 1: Line 1:
-====== TG-1000 and MS-2000’s instruction set differences ======+====== TG-1000 and MS-2000's Instruction Set Differences ======
  
 This section is intended to quickly bring the users up to speed on the major differences in the serial commands between TG-1000 and MS-2000 controller.  This section is intended to quickly bring the users up to speed on the major differences in the serial commands between TG-1000 and MS-2000 controller. 
  
-Where possible the TG-1000 commands were kept close to the MS-2000 controller commands.  The most common commands are identical because they are Axis-Specific commands.  A special [[tech_note_rs232_comm#tiger_reply_syntax|Tiger reply syntax]] was added to Tiger starting in COMM card firmware v1.92.  However the default syntax closely mirrors the MS-2000 syntax.+Where possible the TG-1000 commands were kept close to the MS-2000 controller commands.  The most common commands are identical because they are Axis-Specific commands.  A special [[command_quick_start#reply_syntax|Tiger reply syntax]] was added to Tiger starting in COMM card firmware v1.92.  However the default syntax closely mirrors the MS-2000 syntax.
  
 ===== Categories of Commands ===== ===== Categories of Commands =====
Line 13: Line 13:
 ==== Card-Addressed Commands ==== ==== Card-Addressed Commands ====
  
-We were forced to alter handling of commands which do not contain the letter of a stage axis on Tiger.  In those cases, the user must specify which card the command is intended for, and the COMM card will relay the command appropriately.  For example, in MS-2000 the ''SS Z'' command saves settings into non-volatile memory, but the user may not want all the settings on all the cards to be saved. For the TG-1000 the user has to add the card address in front of the command to make it work. For example, if the card that drives XY axis has the address ''1'', to only save setting on this card user should issue ''1SS Z''.  These commands are called Card-Addressed Commands. How to determine the address of a specific card is described below.+For the Tiger controller we were forced to alter handling of commands which do not contain the letter of a stage axis.  In those cases, the user must specify which card the command is intended for, and the COMM card will relay the command appropriately.  For example, in MS-2000 the ''SS Z'' command saves settings into non-volatile memory, but the user may not want all the settings on all the cards to be saved. For the TG-1000 the user has to prepend the card address to the command to make it work. For example, if the card that drives XY axis has the address ''1'', to only save setting on this card user should issue ''1SS Z'' (or equivalently ''1 SS Z'').  These commands are called Card-Addressed Commands. How to determine the address of a specific card is described below.
  
 Importantly, for any settings selected by Card-Addressed Commands the setting applies to all axes on the card.  For example, the ring buffer delay can be set independently for the XY stage on one card and a piezo stage on a different card.  However, if a card contains more than one independent axis (e.g. a ZF card for two linear stages, or a Micro mirror card for 2 scanners) then the same setting applies to all axes.  Continuing our example, the ring buffer on the ZF card would control both Z and F axes (though one of these axes could be disconnected from the ring buffer) so Z and F could not have separate ring buffer delay times. Importantly, for any settings selected by Card-Addressed Commands the setting applies to all axes on the card.  For example, the ring buffer delay can be set independently for the XY stage on one card and a piezo stage on a different card.  However, if a card contains more than one independent axis (e.g. a ZF card for two linear stages, or a Micro mirror card for 2 scanners) then the same setting applies to all axes.  Continuing our example, the ring buffer on the ZF card would control both Z and F axes (though one of these axes could be disconnected from the ring buffer) so Z and F could not have separate ring buffer delay times.
Line 31: Line 31:
 ===== Special "All-Axis" Letter ===== ===== Special "All-Axis" Letter =====
  
-Beginning with COMM card firmware version 3.10 a special axis letter ''*'' was added to Tiger. When this character is specified in an Axis-specific command then it applies to all the axes in the controller.  For instance, all axes can be moved to zero position using ''M *=0'' (or equivalently ''M *'' because numbers not specified default to 0).   The ''*'' axis letter can also be combined with card addressing to apply the command to all the axes on the same card, e.g. ''3M *=0'' will move all axes on card address ''3'' to their zero position, and ''3! *'' will home all axes on card ''3''.+Beginning with COMM card firmware version 3.10 a special axis letter ''*'' was added to Tiger. When this character is specified in an Axis-specific command then it applies to all the axes in the controller.  For instance, all axes can be moved to zero position using ''M *=0'' (or equivalently ''M *'' because numbers not specified default to 0) and all joystick settings can be cleared with ''J *=0''.   The ''*'' axis letter can also be combined with card addressing to apply the command to all the axes on the same card, e.g. ''3M *=0'' will move all axes on card address ''3'' to their zero position, and ''3! *'' will home all axes on card ''3''.
  
  
Line 61: Line 61:
 ^To run short calibration on the piezo: |''2PZC'' |Card-Addressed| ^To run short calibration on the piezo: |''2PZC'' |Card-Addressed|
  
-===== Table 1 TG-1000 addresses =====+ 
 +===== Addresses beyond 0-9 ===== 
 + 
 +Comm card firmware prior to v3.42 only allows addresses '1' - '9' to be accessed, which is hex 0x31 - 0x39.  Beginning with comm card firmware v3.42 you can use addresses '1' - '9' as well as addresses hex 0x81 - 0x86, which is as many cards as can fit into a single Tiger controller.  (Note that controllers can be daisy-chained if required, and ASI can extend further the accessible range when a customer needs it.) 
 + 
 +It can be tricky to interact with addresses 0x81 and above because the address is not an ASCII characters.  If you can send the appropriate non-ASCII character through your control software, prepending card-addressed commands with that character, then nothing else is needed: the controller will correctly interpret those non-ASCII character as addresses.  However, provision was added in comm card firmware v3.42 to allow easy access to this extended address space sending only ASCII characters: if you enter the back-tick character at the start of a command '`' then the next 2 characters are interpreted as hexadecimal values for the address.  For example, to query the configuration of address '4' = 0x34 you can either issue ''4 CCA X?'' or you can equivalently send ''`34 CCA X?''.  For address 0x81 you can send ''`81 CCA X?''. 
 + 
 +===== Table 1 TG-1000 Addresses =====
  
 ^Addressee ^Usage ^Value                                                                              ^ ^Addressee ^Usage ^Value                                                                              ^
Line 77: Line 84:
 ==== Build Command ==== ==== Build Command ====
  
-In Controller with Tiger Comm version v1.8 and above, the BUILD X command directed at the COMM card (or without any address) can be used to query axis names, axis types and axis address. (When the build command is addressed to a specific card the build information for that card is returned.)+In controllers with Tiger Comm firmware version ''v1.8'' and above, the [[commands:build|BUILD X]] command directed at the COMM card (or without any address) can be used to query axis names, axis types and axis address. (When the build command is addressed to a specific card the build information for that card is returned.)
  
 == Example: == == Example: ==
Line 89: Line 96:
 Axis Props: 0 0 0 0 0 0 0 0</asi> Axis Props: 0 0 0 0 0 0 0 0</asi>
  
-The above system has card address 1 with an XY stage with axes named X and Y. Card number 2 has micro mirror with axes P,Q,R,S. Then card address 3 with filter wheel IDs 0 and 1.+The above system has card address 1 with an XY stage with axes named X and Y. Card number 2 has micro mirror with axes P, Q, R, S. Then card address 3 with filter wheel IDs 0 and 1.
  
 The next line contains the axis type short code. For example, x means xy stage, u means micro mirror and w means filter wheel. A complete listing of axis types with designations is as follows:  The next line contains the axis type short code. For example, x means xy stage, u means micro mirror and w means filter wheel. A complete listing of axis types with designations is as follows: 
Line 122: Line 129:
 == Axis Properties == == Axis Properties ==
  
-|Bit 0: |CRISP auto-focus firmware                         | +|Bit 0: |''CRISP'' autofocus firmware                         | 
-|Bit 1: |RING BUFFER firmware                              | +|Bit 1: |''RING BUFFER'' firmware                              | 
-|Bit 2: |SCAN firmware                                     | +|Bit 2: |''SCAN'' firmware                                     | 
-|Bit 3: |ARRAY firmware or MM_TARGET firmware              | +|Bit 3: |''ARRAY'' firmware or ''MM_TARGET'' firmware              | 
-|Bit 4: |SPIM firmware (v2.81+)                            | +|Bit 4: |''SPIM'' firmware <wrap lo>v2.82</wrap>              | 
-|Bit 5: |SINGLEAXIS and/or MULTIAXIS firmware (v2.81+)     | +|Bit 5: |''SINGLEAXIS'' and/or ''MULTIAXIS'' firmware <wrap lo>v2.82</wrap> | 
-|Bit 6: |LED illumination (v2.87+)                         |+|Bit 6: |''LED'' illumination <wrap lo>v2.88</wrap>            |
 |Bit 7: |Reserved                                          | |Bit 7: |Reserved                                          |
  
Line 154: Line 161:
 ==== A Note Regarding Units ==== ==== A Note Regarding Units ====
  
-The most common commands including ''MOVE'', ''MOVEREL'', ''HERE'', and ''WHERE'' use axis units, which can be changed using the ''UM'' command.  However, some commands such as ''SETUP'', ''SETLOW'', and ''PCROS'' always use units of mm.  By default, axis units where position is given in distance (e.g. for motorized stages and piezo stages) are represented in 0.1um increments, or 10,000 units per millimeter of travel.  For mirror scanner axes, default axis units are 0.001 degrees (uncalibrated), or 1000 units per degree of travel.  When a time is required, the unit is generally milliseconds.  Some commands use integer codes or other input units as described below.+The most common commands including ''MOVE'', ''MOVREL'', ''HERE'', and ''WHERE'' use axis units, which can be changed using the ''UM'' command.  However, some commands such as ''SETUP'', ''SETLOW'', and ''PCROS'' always use units of mm.  By default, axis units where position is given in distance (e.g. for motorized stages and piezo stages) are represented in 0.1um increments, or 10,000 units per millimeter of travel.  For mirror scanner axes, default axis units are 0.001 degrees (uncalibrated), or 1000 units per degree of travel.  When a time is required, the unit is generally milliseconds.  Some commands use integer codes or other input units as described below.
  
  
  
 {{tag>serial commands manual tiger tech_note}} {{tag>serial commands manual tiger tech_note}}
Address: 29391 W Enid Rd. Eugene, OR 97402, USA | Phone: +1 (541) 461-8181
tiger_ms2k_difference.1632431720.txt.gz · Last modified: by 127.0.0.1