^1 SOFTWARE REFERENCE MANUAL
16-AXIS MACRO CPU
^3 16-Axis MACRO CPU
^4 3Ax-603719-xSxx
^5 April 4, 2007
Single Source Machine Control Power // Flexibility // Ease of Use 21314 Lassen Street Chatsworth, CA 91311 // Tel. (818) 998-2095 Fax. (818) 998-7807 // www.deltatau.com
Copyright Information
© 2007 Delta Tau Data Systems, Inc. All rights reserved.
This document is furnished for the customers of Delta Tau Data Systems, Inc. Other uses are unauthorized without written permission of Delta Tau Data Systems, Inc. Information contained in this manual may be updated from time-to-time due to product improvements, etc., and may not conform in every respect to former issues.
To report errors or inconsistencies, call or email:
Delta Tau Data Systems, Inc. Technical Support
Phone: (818) 717-5656
Fax: (818) 998-7807
Email: support@deltatau.com Website: http://www.deltatau.com
Operating Conditions
All Delta Tau Data Systems, Inc. motion controller products, accessories, and amplifiers contain static sensitive components that can be damaged by incorrect handling. When installing or handling Delta Tau Data Systems, Inc. products, avoid contact with highly insulated materials. Only qualified personnel should be allowed to handle this equipment.
In the case of industrial applications, we expect our products to be protected from hazardous or conductive materials and/or environments that could cause harm to the controller by damaging components or causing electrical shorts. When our products are used in an industrial environment, install them into an industrial electrical cabinet or industrial PC to protect them from excessive or corrosive moisture, abnormal ambient temperatures, and conductive materials. If Delta Tau Data Systems, Inc. products are exposed to hazardous or conductive materials and/or environments, we cannot guarantee their operation.
REVISION HISTORY
REV. |
DESCRIPTION |
DATE |
CHG |
APPVD |
|
|
|
|
|
1 |
UPDATED MI4 FAULT DESCRIPTION, P. 2 |
04/04/07 |
CP |
B.PEDERSEN |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 - Axis MACRO CPU Software Reference Manual |
|
|
|
Table of Contents |
|
16-AXIS MACRO STATION MI-VARIABLE REFERENCE............................................................................... |
1 |
||
Global MI-Variables ................................................................................................................................................. |
|
|
1 |
MS{anynode},MI0 |
Station Firmware Version (Read Only)............................................................................. |
1 |
|
MS{anynode},MI1 |
Station Firmware Date (Read Only).................................................................................. |
1 |
|
MS{anynode},MI2 |
Station ID and User Configuration Word ......................................................................... |
1 |
|
MS{anynode},MI3 |
Station Rotary Switch Setting ............................................................................................ |
2 |
|
MS{anynode},MI4 |
Station Status Word (Read Only)....................................................................................... |
2 |
|
MS{anynode},MI5 |
Ring Error Counter ........................................................................................................... |
3 |
|
MS{anynode},MI6 |
Maximum Permitted Ring Errors in One Second .............................................................. |
3 |
|
MS{anynode},MI7 |
(Reserved for future use) ................................................................................................... |
3 |
|
MS{anynode},MI8 |
MACRO Ring Check Period.............................................................................................. |
3 |
|
MS{anynode},MI9 |
MACRO Ring Error Shutdown Count ............................................................................... |
3 |
|
MS{anynode},MI10 |
MACRO Sync Packet Shutdown Count............................................................................ |
4 |
|
MS{anynode},MI11 |
Station Order Number ..................................................................................................... |
4 |
|
MS{anynode},MI12 |
Card Identification .......................................................................................................... |
5 |
|
MS{anynode},MI13 |
Display Enable and Type................................................................................................. |
5 |
|
MS{anynode},MI14 |
MACRO IC Source of Phase Clock ................................................................................. |
5 |
|
MS{anynode},MI15 |
Enable MACRO Plcc....................................................................................................... |
5 |
|
MACRO IC Global Channel Status Setup MI-Variables .......................................................................................... |
5 |
||
MS{anynode},MI16 |
Encoder-Fault Reporting Control ................................................................................... |
5 |
|
MS{anynode},MI17 |
Amplifier Fault Disable Control...................................................................................... |
6 |
|
MS{anynode},MI18 |
Amplifier Fault Polarity .................................................................................................. |
7 |
|
Global I/O Transfer MI-Variables |
............................................................................................................................. |
7 |
|
MS{anynode},MI19 |
I/O Data ................................................................................................Transfer Period |
7 |
|
MS{anynode},MI20 |
Data Transfer ............................................................................................Enable Mask |
7 |
|
MS{anynode},MI21-MI68 Data .....................................................Transfer Source and Destination Address |
8 |
||
MACRO IC I/O Transfer MI-Variables .................................................................................................................... |
9 |
||
MS{anynode},MI69, MI70 I/O .......................................................................-Board 16-Bit Transfer Control |
9 |
||
MS{anynode},MI71 |
I/O-Board ...............................................................................24-Bit Transfer Control |
11 |
|
MS{anynode},MI72-MI89 Output .......................................................................Power-On/Shutdown State |
12 |
||
MS{anynode},MI90 |
Y:MTR .......................................................Servo Channel Disable and MI996 Enable |
12 |
|
MS{anynode},MI91 - MI98 Phase .....................................................................Interrupt 24 Bit Data Copy |
13 |
||
MS{anynode},MI99 |
(Reserved .............................................................................................for Future Use) |
13 |
|
MACRO IC Position Processing MI .......................................................................................................-Variables |
13 |
||
MS{anynode},MI101-MI108 ....................................................................Ongoing Position Source Address |
13 |
||
MS{anynode},MI109 - MI110 .............................................................................. |
(Reserved for Future Use) |
14 |
|
MS{anynode},MI111-MI118 .................................................................Power-Up Position Source Address |
14 |
||
MS{anynode},MI119 |
(Reserved ..........................................................................................for Future Use) |
15 |
|
MS{anynode},MI120-MI151 ...................................................................Encoder Conversion Table Entries |
15 |
||
MS{anynode},MI152 - MI153 ................................................................................ |
Phase - Clock Latched I/O |
21 |
|
MS{anynode},MI154 - MI160 .............................................................................. |
(Reserved for Future Use) |
22 |
|
MS{anynode},MI161-MI168 ................................................................................ |
MLDT Frequency Control |
22 |
|
MACRO IC I/O Transfer MI-Variables .................................................................................................................. |
23 |
||
MS{anynode},MI169, MI170 ..................................................................I/O-Board 72-Bit Transfer Control |
23 |
||
MS{anynode},MI171, MI172, MI173 ...................................................I/O-Board 144-Bit Transfer Control |
24 |
||
MS{anynode},MI174 – MI175 ...................................................................................... |
(12 Bit A/D Transfer |
26 |
|
MACRO IC Node & Servo Channel ...................................................................................Address MI-Variables |
26 |
||
MS{anynode},MI176 |
MACRO .............................................................................................IC Base Address |
26 |
|
MS{anynode},MI177 |
MACRO ..................................................................................IC Address for Node 14 |
26 |
|
MS{anynode},MI178 |
MACRO ..................................................................................IC Address for Node 15 |
26 |
|
MS{anynode},MI179 |
MACRO/SERVO ...........................................................................IC #1 Base Address |
26 |
|
MS{anynode},MI180 |
MACRO/SERVO ...........................................................................IC #2 Base Address |
27 |
|
MS{anynode},MI181 – MI188 ......................................................MACRO/SERVO Channels 1 - 8 Address |
27 |
4 |
Table of Contents |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI189 |
MACRO/Encoder IC #3 Base Address ......................................................................... |
27 |
||
MS{anynode},MI190 |
MACRO/Encoder IC #4 Base Address ......................................................................... |
27 |
||
MS{anynode},MI191 – MI196 Encoder Channels 9 – 14 Base Address ........................................................ |
27 |
|||
MS{anynode}, MI197 (Reserved for Future use) ............................................................................................ |
27 |
|||
MACRO IC I/O Transfer MI-Variables .................................................................................................................. |
28 |
|||
MS{anynode},MI198 |
Direct Read/Write Format and Address ....................................................................... |
28 |
||
MS{anynode},MI199 |
Direct Read/Write Variable.......................................................................................... |
30 |
||
Global MACRO, SERVO IC, I/O Identification and Status MI-Variables............................................................. |
30 |
|||
MS{anynode},MI200 |
MACRO/SERVO ICs Detected & Saved....................................................................... |
30 |
||
MS{anynode}, M201 – MI202 |
(Reserved for Future Use).............................................................................. |
31 |
||
MS{anynode}, MI203 |
Phase Period ............................................................................................................... |
31 |
||
MS{anynode}, MI204 |
Phase Execution Time ................................................................................................. |
31 |
||
MS{anynode}, MI205 |
Background Cycle Time............................................................................................... |
32 |
||
MS{anynode}, MI206 Maximum Background Cycle Time.............................................................................. |
32 |
|||
MS{anynode}, MI207 Identification break down............................................................................................ |
32 |
|||
MS{anynode}, MI208 |
User Ram Start ............................................................................................................ |
32 |
||
MS{anynode}, MI209 |
CPU Identification....................................................................................................... |
32 |
||
MS{anynode}, M210 – MI225 Servo IC Identification Variables................................................................... |
33 |
|||
MS{anynode}, M226 – MI249 |
(Reserved for Future Use).............................................................................. |
33 |
||
MS{anynode}, M250 – MI265 I/O Card Identification Variables .................................................................. |
33 |
|||
MS{anynode},MI300 - MI899 |
(Reserved for future use) ................................................................................ |
33 |
||
MACRO/SERVO IC 4-Axis Servo IC MI-variables............................................................................................... |
33 |
|||
MS{anynode},MI900 |
PWM 1-4 Frequency Control ....................................................................................... |
33 |
||
MS{anynode},MI903 |
Hardware Clock Control Channels 1-4........................................................................ |
34 |
||
MS{anynode},MI904 |
PWM 1-4 Deadtime / PFM 1-4 Pulse Width Control................................................... |
35 |
||
MS{anynode},MI905 |
DAC 1-4 Strobe Word .................................................................................................. |
36 |
||
MS{anynode},MI906 |
PWM 5-8 Frequency Control ...................................................................................... |
36 |
||
MS{anynode},MI907 |
Hardware Clock Control Channels 5-8........................................................................ |
37 |
||
MS{anynode},MI908 |
PWM 5-8 Deadtime / PFM 5-8 Pulse Width Control................................................... |
38 |
||
MS{anynode},MI909 |
DAC 5-8 Strobe Word .................................................................................................. |
39 |
||
MACRO/SERVO IC Node-Specific Gate Array MI-variables............................................................................... |
39 |
|||
MS{node},MI910 |
Encoder/Timer n Decode Control ...................................................................................... |
39 |
||
MS{node},MI911 |
Position Compare n Channel Select................................................................................... |
40 |
||
MS{node},MI912 |
Encoder n Capture Control................................................................................................ |
41 |
||
MS{node},MI913 |
Capture n Flag Select Control ........................................................................................... |
41 |
||
MS{node},MI914 |
Encoder n Gated Index Select ............................................................................................ |
42 |
||
MS{node},MI915 |
Encoder n Index Gate State................................................................................................ |
42 |
||
MS{node},MI916 |
Output n Mode Select ......................................................................................................... |
42 |
||
MS{node},MI917 |
Output n Invert Control...................................................................................................... |
43 |
||
MS{node},MI918 |
Output n PFM Direction Signal Invert Control ................................................................. |
43 |
||
MS{node},MI919 |
Reserved for Future Use .................................................................................................... |
43 |
||
MS{node},MI920 |
Absolute Power-On Position (Read Only) ......................................................................... |
43 |
||
MS{node},MI921 |
Flag Capture Position (Read Only) ................................................................................... |
44 |
||
MS{node},MI922 |
ADC A Input Value (Read Only) ........................................................................................ |
44 |
||
MS{node},MI923 |
Compare Auto-Increment Value......................................................................................... |
44 |
||
MS{node},MI924 |
ADC B Input Value (Read Only) ........................................................................................ |
44 |
||
MS{node},MI925 |
Compare A Position Value................................................................................................. |
44 |
||
MS{node},MI926 |
Compare B Position Value................................................................................................. |
44 |
||
MS{node},MI927 |
Encoder Loss Status Bit...................................................................................................... |
45 |
||
MS{node},MI928 |
Compare-State Write Enable ............................................................................................. |
45 |
||
MS{node},MI929 |
Compare-Output Initial State............................................................................................. |
45 |
||
MS{node},MI930 |
Absolute Power-On Position (Read Only) ......................................................................... |
45 |
||
MS{node},MI931-MI937 (Reserved for Future use)....................................................................................... |
46 |
|||
MS{node},MI938 |
Servo IC Status Word (Read Only)..................................................................................... |
46 |
||
MS{node},MI939 |
Servo IC Control Word (Read Only).................................................................................. |
46 |
||
MACRO/SERVO IC 4-Axis Servo IC MI-variables............................................................................................... |
46 |
Table of Contents |
5 |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI940 |
ADC1-4 Strobe Word ................................................................................................... |
46 |
|||
MS{anynode},MI941 |
ADC5-8 Strobe Word ................................................................................................... |
46 |
|||
MACRO IC MI-variables........................................................................................................................................ |
|
|
46 |
||
MS{anynode},MI942 |
ADC Strobe Word Channel 1* & 2* (Not used)........................................................... |
46 |
|||
MS{anynode},MI943 |
Phase and Servo Direction ........................................................................................... |
47 |
|||
MS{anynode},MI944-MI949 |
(Reserved for future use) .................................................................................. |
47 |
|||
MACRO IC Setup MI-variables.............................................................................................................................. |
|
47 |
|||
MS{anynode},MI970-MI973 |
(Reserved for Future Use) ................................................................................ |
47 |
|||
MS{anynode},MI1974 |
Station Display Status (Read Only) ............................................................................ |
47 |
|||
MS{anynode},MI975 |
MACRO IC 0 I/O Node Enable .................................................................................... |
47 |
|||
MS{anynode},MI976 |
MACRO IC 0 Motor Node Disable............................................................................... |
48 |
|||
MS{anynode},MI977 |
Motor Nodes Reporting Ring Break ............................................................................. |
48 |
|||
MS{anynode},MI978-MI986 |
(Reserved for future use) .................................................................................. |
49 |
|||
MACRO IC A/D Converter Demultiplex Control................................................................................................... |
49 |
||||
MS{anynode},MI987 |
A/D Input Enable.......................................................................................................... |
49 |
|||
MS{anynode},MI988 |
A/D Unipolar/Bipolar Control ..................................................................................... |
49 |
|||
MS{anynode},MI989 |
A/D Source Address...................................................................................................... |
49 |
|||
MACRO IC MI-Variables....................................................................................................................................... |
|
|
50 |
||
MS{anynode},MI992 |
MaxPhase Frequency Control...................................................................................... |
50 |
|||
MS{anynode},MI993 |
Hardware Clock Control Handwheel Channels........................................................... |
50 |
|||
MS{anynode},MI994 |
PWM Deadtime / PFM Pulse Width Control for Handwheel..................................... |
52 |
|||
MS{anynode},MI995 |
MACRO Ring Configuration/Status ............................................................................. |
53 |
|||
MS{anynode},MI996 |
MACRO Node Activate Control ................................................................................... |
53 |
|||
MS{anynode},MI997 |
Phase Clock Frequency Control................................................................................... |
55 |
|||
MS{anynode},MI998 |
Servo Clock Frequency Control ................................................................................... |
55 |
|||
MS{anynode},MI999 |
Handwheel DAC Strobe Word (Not used) .................................................................... |
56 |
|||
16-AXIS MACRO CPU STATION MM AND MP-VARIABLES ........................................................................ |
57 |
||||
16-AXIS MACRO CPU STATION MACPLCCS .................................................................................................. |
59 |
||||
Requirements........................................................................................................................................................... |
|
|
|
59 |
|
Arithmetic Data Types ............................................................................................................................................ |
|
|
59 |
||
MACRO MI Integer Variables (n = 0 – 1099) ........................................................................................................ |
59 |
||||
MACRO MM and MP Integer Variables (n = 0 – 511) .......................................................................................... |
59 |
||||
MACROPlcc Ln Integer Variables (n = 0 – 511).................................................................................................... |
59 |
||||
Direct Memory Addressing for Integer Ln & Ln[] Variable Definitions............................................................ |
59 |
||||
Standard MACRO Program Commands ................................................................................................................. |
59 |
||||
Special MACRO Program Commands.................................................................................................................... |
60 |
||||
Valid Math, Assignment and Conditional Operators .............................................................................................. |
60 |
||||
Valid Expressions and Arrays ................................................................................................................................. |
|
60 |
|||
Ln Arrays Definition Examples............................................................................................................................... |
|
60 |
|||
Example Program.................................................................................................................................................... |
|
|
|
60 |
|
MACRO PLCC Code Memory ............................................................................................................................... |
|
60 |
|||
MAC PLCC Related ASCII Commands ................................................................................................................. |
61 |
||||
16-AXIS MACRO CPU STATION SERIAL COMMANDS................................................................................. |
63 |
||||
$$$ |
Station Reset ............................................................................................................................................. |
|
|
63 |
|
$$$*** |
Station Re-initialize ............................................................................................................................... |
|
63 |
||
CHN |
Report Channel Number ........................................................................................................................... |
|
63 |
||
CID |
Report Card ID Number............................................................................................................................ |
|
63 |
||
CLRF |
Clear Station Faults................................................................................................................................ |
|
63 |
||
DATE |
Report Firmware Date ........................................................................................................................... |
|
63 |
||
DISABLE PLCC or CNTRL D |
Disables PLCC ................................................................................................. |
63 |
|||
ENABLE PLCC |
Enables PLCC.......................................................................................................................... |
63 |
|||
MI{constant} |
Report Station MI-Variable Value............................................................................................ |
63 |
|||
MI{constant}={constant} |
Set Station MI-Variable Value .................................................................................. |
64 |
|||
MM{constant} |
Report Station MM-Variable Value ......................................................................................... |
64 |
6 |
Table of Contents |
16-Axis MACRO CPU Software Reference Manual
MM{constant}={constant} |
Set Station MM-Variable Value.............................................................................. |
64 |
||
MP{constant} |
Report Station MP-Variable Value........................................................................................... |
64 |
||
MP{constant}={constant} |
Set Station MP-Variable Value ................................................................................ |
64 |
||
MM{constant}-> Report Station MM-Variable Definition................................................................................. |
64 |
|||
MM{constant}->{X/Y:offset,width,format} Set Station MM-Variable Definition ............................................ |
64 |
|||
R{address} |
Read Station Address ................................................................................................................... |
64 |
||
SAVE |
Save Station MI-variables...................................................................................................................... |
64 |
||
SID |
Reports Serial Identification Number........................................................................................................ |
65 |
||
VERS |
Report Firmware Version ...................................................................................................................... |
65 |
||
VID |
Report Vendor ID Number........................................................................................................................ |
65 |
||
W{address},{value} Write Value to Station Address ......................................................................................... |
65 |
|||
TURBO PMAC TYPE 1 16-AXIS MACRO CPU STATION COMMANDS...................................................... |
67 |
|||
On-Line Commands ................................................................................................................................................ |
|
67 |
||
MS Command |
..................................................................................................................................................... |
|
67 |
|
MS Variable Read............................................................................................................................................... |
|
68 |
||
MS Variable Write .............................................................................................................................................. |
|
68 |
||
MS Variable Read Copy ..................................................................................................................................... |
|
69 |
||
MS Variable Write Copy..................................................................................................................................... |
|
69 |
||
Turbo PMAC PLC Commands for Type 1 16-Axis MACRO Stations................................................................... |
70 |
|||
MS Variable Read Copy ..................................................................................................................................... |
|
70 |
||
MS Variable Write Copy..................................................................................................................................... |
|
70 |
||
16-AXIS MACRO CPU STATION MEMORY AND I/O MAP ........................................................................... |
73 |
|||
Global Servo Calculation Registers......................................................................................................................... |
73 |
|||
Encoder Conversion (Interpolation) Table.............................................................................................................. |
73 |
|||
Display Output Buffer............................................................................................................................................. |
|
73 |
||
ASCII I/O Buffer..................................................................................................................................................... |
|
73 |
||
MM and MP Variables Table |
.................................................................................................................................. |
74 |
||
Open Memory ......................................................................................................................................................... |
|
|
74 |
|
DSPGATE1 Registers ............................................................................................................................................. |
|
74 |
||
MACRO UBUS Port I/O Registers......................................................................................................................... |
78 |
|||
DSPGATE2 Registers ............................................................................................................................................. |
|
79 |
||
DSPGATE2 Channel 1* and Channel 2*................................................................................................................ |
83 |
|||
MACRO CPU Node Addresses .............................................................................................................................. |
86 |
Table of Contents |
7 |
16-Axis MACRO CPU Software Reference Manual
16-AXIS MACRO STATION MI-VARIABLE REFERENCE
The 16-Axis MACRO Station is set up through its own set of initialization I-variables, which are distinct from the I-variables on PMAC. Usually, they are referenced as MI-variables (e.g. MI900) to distinguish them from the PMAC’s own I-variables, although they can be referenced just as I-variables.
These MI-variables can be accessed from the Turbo PMAC2 Ultralite through the on-line
MS{node#},MI{variable#} read and MS{node#},MI{variable#}={constant} write commands, or the MSR{node#},MI{variable#},{PMAC variable} read-copy and MSW{node#},MI{variable#},{PMAC variable} write-copy commands (either on-line or background PLC), where {node#} specifies the MACRO node number (0 to 15), {variable#} specifies the number of the Station MI-variable (0 - 1999), {constant} represents the numerical value to be written to the Station MI-variable, or {PMAC variable} specifies the value to be copied to or from the Station MI-variable.
For most Station MI-variables, the {node#} specifier can take the number of any active node on the station (usually the lowest-numbered active node). These variables have MS{anynode} in the header of their descriptions below.
However, there are several node-specific MI-variables. These variables are in the range MI910 to MI939. For these variables, the node specifier must contain the specific node number for the MACRO node they affect. These variables have MS{node} in the header of their descriptions below.
Global MI-Variables
MS{anynode},MI0 |
Station Firmware Version (Read Only) |
Range: 1.200 - 9.999 Units: Revision numbers
Example:
MS0,MI0
1.200
MS{anynode},MI1 |
Station Firmware Date (Read Only) |
Range: 01/01/00 – 12/31/99 Units: MM/DD/YY
This variable, when queried, reports the date of implementation of the firmware on the 16-Axis MACRO Station. The date is reported in the North American style of month/day/year with two decimal digits for each.
The PMAC command MSDATE, which polls this value, turns the year into a 4-digit value before reporting the value to the host computer.
MS{anynode},MI2 |
Station ID and User Configuration Word |
Range: $000000 - $FFFFFF
Units: none Default: 0
This variable permits the user to write a station identification number to the 16-Axis MACRO Station. Typically, when the software setup of a Station is complete, a unique value is written to this MI-variable in the station, and saved with the other MI-variables. On power-up/reset, the controller can query MI2 as a quick test to see if the Station has been set up properly for the application. If it does not report the expected value, the controller can download and save the setup values.
16-Axis MACRO Station MI-Variable Reference |
1 |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI3 |
Station Rotary Switch Setting |
Range: $00 - $FF
Units: none
This variable, when queried, reports the setting of the two rotary hex switches on the 16-Axis MACRO Station. The first hex digit reports the setting of SW1; the second reports the setting of SW2.
Note:
It is possible to write a value to this variable, but this should not be done.
MS{anynode},MI4 |
Station Status Word (Read Only) |
Range: $000000 - $FFFFFF
Units: Bits
This variable, when queried, reports the value of the current status word bits for the 16-Axis MACRO Station. The value reported should be broken into bits. Each bit reports the presence or absence of a particular fault on the Station. If the bit is 0, the fault has not occurred since Station faults were last cleared. If the bit is 1, the fault has occurred since Station faults were last cleared.
BITn Fault Description
0CPU – Fault (No MACRO IC #1 detected)
1Ring Error - Temporary
2Ring Break
3Station Fault - Station Shutdown
4Ring Fault - Any permanent Ring fault
5Spare
6Amplifier Fault
7Ring Break Received
8Spare
9Spare
10Spare
11Spare
12Ring Active
13Spare
14Detected a MACRO or SERVO IC configuration change or SW1 change from last save.
15Detected UBUS SERVO IC #7 Attached to MACRO IC #0 & 1 (2 channels each)
16Detected UBUS SERVO IC #6 Attached to MACRO IC #1
17Detected UBUS SERVO IC #5 Attached to MACRO IC #0
18Detected UBUS SERVO IC #4 Attached to MACRO IC #1
19Detected UBUS SERVO IC #3 Attached to MACRO IC #1
20Detected UBUS SERVO IC #2 Attached to MACRO IC #0
21Detected UBUS SERVO IC #1 Attached to MACRO IC #0
22Detected CPU MACRO IC #1 ($C0C0)
23Detected CPU MACRO IC #0 ($C080)
Any of the fault bits that the MS$$${anynode}
are set can be cleared with the MSCLRF{anynode} (clear fault) command, or (Station reset) command.
2 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI5 |
Ring Error Counter |
|
Range: |
$000000 - $FFFFFF |
|
Units: |
Error Count |
|
This variable, when queried, reports the number of ring communications errors detected by the 16-Axis MACRO Station since the most recent power-up or reset.
Note:
It is possible to write a value to this variable, but this should not be done if you are using MI6
The ring error counter value can be cleared to zero using the or MS$$${anynode} commands.
MS{anynode},MI6 |
Maximum Permitted Ring Errors in One Second |
Range: $0000000 - $FFFFFFF Units: Errors per second
Default:
This variable sets the maximum number of ring errors that can be detected by the 16-Axis MACRO Station in a one second period without causing it to shut down for ring failure.
MS{anynode},MI7 |
(Reserved for future use) |
|
Range: |
0 |
|
Units: |
none |
|
Default: |
0 |
|
MS{anynode},MI8 |
MACRO Ring Check Period |
|
Range: |
0 - 255 |
|
Units: |
Station phase cycles |
|
Default: |
8 |
|
MI8 determines the period, in phase cycles, for the 16-Axis MACRO Station to evaluate whether there has been a MACRO ring failure or not. Every phase cycle, the Station checks the ring communications status. In MI8 phase cycles (or MACRO ring cycles), the Station must receive at least MI10 “sync packets” and detect fewer than MI9 ring communications errors, to conclude that the ring is operating correctly. Otherwise, it will conclude that the ring is not operating properly, set its servo command output values to zero, set its amplifier enable outputs to the “disable” state, and force all of its digital outputs to their “shutdown” state as defined by I72-I89, and report a ring fault.
If MI8 is set to 0 at power-on/reset, the 16-Axis MACRO Station will automatically set it to 8.
MS{anynode},MI9 |
MACRO Ring Error Shutdown Count |
Range: 0 - 255 Units: none Default: 4
MI9 determines the number of MACRO communications errors detected that will cause a shutdown fault of the 16-Axis MACRO Station. If the Station detects MI9 or greater MACRO communications errors in MI8 phase (MACRO ring) cycles, it will shut down on a MACRO communications fault, turning off all outputs.
The Station can detect one ring communications error per phase cycle. Setting MI9 greater than MI8 means that the Station will never shut down for ring communications error.
16-Axis MACRO Station MI-Variable Reference |
3 |
16-Axis MACRO CPU Software Reference Manual
The Station can detect four types of communications errors: byte violation errors, packet checksum errors, packet overrun errors, and packet under run errors. If MI9 errors have occurred in the MI8 check period, and at least half of these errors are byte “violation” errors, the Station will conclude that there is a ring break immediately upstream of it (if there are no ring input communications to the Station, there will be continual byte violation errors). In this case, not only will it set its servo command output values to zero, set its amplifier enable outputs to the “disable” state, and force all of its digital outputs to their “shutdown” state as defined by I72-I89, but it will also turn itself into a master so it can report to other devices downstream on the ring.
If MI9 is set to 0 at power-on/reset, the 16-Axis MACRO Station will automatically set it to 4.
MS{anynode},MI10 |
MACRO Sync Packet Shutdown Count |
|
Range: |
0 – 65,535 |
|
Units: |
none |
|
Default: |
4 |
|
MI10 determines the number of MACRO ring “sync packets” that must be received during a check period for the Station to consider the ring to be working properly. If the Station detects fewer than MI10 sync packets in MI8 phase (MACRO ring) cycles, it will shut down on a MACRO communications fault, setting its servo command output values to zero, setting its amplifier enable outputs to the “disable” state, and forcing all of its digital outputs to their shutdown state as defined by I72-I89.
The node number (0-15) of the sync packet is determined by bits 16-19 of Station variable MI996. On the 16-Axis MACRO Station, this is always node 15 ($F), because this node is always active for MACRO Type 1 auxiliary communications.
The Station checks each phase cycle to see if a sync packet has been received or not. Setting MI10 to 0 means the Station will never shut down for lack of sync packets. Setting MI10 greater than MI8 means that the Station will always shut down for lack of sync packets.
If MI10 is set to 0 at power-on/reset, the 16-Axis MACRO Station will automatically set it to 4.
MS{anynode},MI11 |
Station Order Number |
|
Range: |
0 – 254 |
|
Units: |
none |
|
Default: |
0 |
|
MI11 contains the station-order number of the 16-Axis MACRO Station on the ring. This permits it to respond to auxiliary MACROSTASCII<n=Station Order Number> commands from a Turbo PMAC ring controller, regardless of the 16-Axis MACRO Station’s rotary-switch settings.
The station ordering scheme permits the ring controller to isolate each master or slave station on the ring in sequence and communicate with it, without knowing in advance how the ring is configured or whether there are any conflicts in the regular addressing scheme. This is very useful for the initial setup and debugging of the ring configuration.
Normally, station order numbers of devices on the ring are assigned in numerical order, with the station downstream of the ring controller getting station-order number 1. This does not have to be the case, however.
Unordered stations have the station-order number 0. When the ring controller executes a MACROSTASCII255 command, the first unordered station in the ring will respond.
MI11 can also be set with the ASCII command STN={constant}. The value of MI11 can also be queried with the ASCII command STN.
4 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI12 |
Card Identification |
|
Range: |
0 – $FFFFFF |
|
Units: |
none |
|
Default: |
$936747 (603719) |
This returns the card part number. The same as the CID ASCII command.
MS{anynode},MI13 |
Display Enable and Type |
|
Range: |
0 – 3 |
|
Units: |
none |
|
Default: |
0 |
|
0 = No Display output
1 = LCD Display Output
3 = Vacuum Display Output
MS{anynode},MI14 |
MACRO IC Source of Phase Clock |
|
Range: |
0 – 1 |
|
Units: |
none |
|
Default: |
1 |
|
Default MACRO #1 is the default source of the Phase clock. Setting MI14 = 0, sets MACRO IC #0 as the source of the Phase clock. Normally the second MACRO IC #1 receives its node information after MACRO IC #0, so it should be the source of the phase clock. This insures that both MACRO ICs receive the ring node data before a phase interrupt is generated.
MS{anynode},MI15 |
Enable MACRO Plcc |
Range: 0 - 1
Units: none
Default: 0
MI15 enables and disables the PLCCs running in the 16-Axis MACRO CPU.
MACRO IC Global Channel Status Setup MI-Variables
Each MACRO IC (0 and 1) has its own set of these variables. Therefore, they are accessed through their MACRO IC. For example, MS0,MI16 accesses MACRO IC 0’s MI16 and MS16,MI16 accesses MACRO IC 1’s MI16. MACRO IC 1’s variables can be accessed can be accessed through MACRO IC 0 by adding 1000 to the MI variable. For example, MS0,MI1016 accesses MACRO IC 1’s MI16
MS{anynode},MI16 |
Encoder-Fault Reporting Control |
Range: 0 - 1 Units: none Default: 0
MI16 permits the user to control which type of encoder error is reported back to PMAC in the channel status flag word for each servo interface channel.
If MI16 is set to 0 (default), then the encoder count-error status bit (bit 8 in the channel hardware status word) for each encoder channel is copied into bit 8 of the matching node’s status flag word for transmission back to the PMAC. An encoder count error is reported when both A and B encoder signals have a transition in the same SCLK hardware sampling cycle.
16-Axis MACRO Station MI-Variable Reference |
5 |
16-Axis MACRO CPU Software Reference Manual
If MI16 is set to 1, then the ASIC’s own encoder-loss status bit (bit 7 in the channel hardware status word) for each encoder channel is copied into bit 8 of the matching node’s status flag word for transmission back to the PMAC. Note that this reporting function is unrelated to the automatic encoderloss shutdown function using external circuitry that can be enabled with MI7 and reported in MI4.
In order for this encoder-loss detection to work properly, several conditions must apply:
• A B version or newer of the DSPGATE1/2 Servo/MACRO IC must be used (true on boards built since Spring 1998).
• Differential encoders must be used.
• The A+, A-, B+, and B- encoder signals must be wired into the T, U, V, and W supplemental flag inputs, respectively, as well as into the regular encoder lines.
• The socketed resistor SIP packs for the encoder channels must be reversed from their factory default configuration. These SIP packs are installed at the factory so that pin 1 of the pack – marked with a dot – is installed in pin 1 of the socket – marked with a bold white outline and a square solder pin on the board. For this encoder-loss to work, the SIP-pack for each encoder must be reversed so that it is at the opposite end of the socket. The SIP packs are:
|
Board |
Encoder 1 |
Encoder 2 |
Encoder 3 |
Encoder 4 |
|
|
|
|
|
|
|
ACC-24E2 |
RP22 |
RP24 |
RP22* |
RP24* |
|
ACC-24E2A |
RP22 |
RP24 |
RP22* |
RP24* |
|
ACC-24E2S |
RP19 |
RP21 |
RP27 |
RP29 |
|
*Resistor packs |
on Option 1 top board of 2-board assembly |
|
||
• MI16 must be set to 1. |
|
|
|
|
If the T, U, V, and W input flags are used for different purposes, such as Hall commutation sensors, or sub-count information from an analog encoder interpolator, the state of the encoder-loss status bit would appear random and arbitrary.
The state of the encoder-loss hardware status bit for a channel can be polled with MI927 for the node mapped to the channel. If it has been set, it can be cleared by writing a 0 value to MI927.
Note:
As long as the socketed resistor pack for an encoder is reversed from the factory default configuration, the 16-Axis MACRO Station will be able to detect differential encoder loss and shut down on it, even without wiring the encoder signals into T, U, V, and W. However, unless the signals are wired into these flag lines and MI16 is set to 1, the 16-Axis MACRO Station will not be able to notify PMAC exactly which encoder sustained the loss.
MS{anynode},MI17 |
Amplifier Fault Disable Control |
Range: $00 - $FF
Units: none
Default: $00 (amplifier function enabled for all axes)
This variable controls whether the amplifier input to the machine interface channel mapped to each servo node by SW1 is used as one of the conditions that creates a node fault to be sent back to the PMAC over the MACRO ring.
The variable consists of eight bits; each bit controls the disabling of the amplifier fault input for one of the nodes on the Station. A 0 in the bit specifies that the amplifier fault input is to be used (enabled); a 1 in the bit specifies that the amplifier fault input is not to be used (disabled). The corresponding bit of MI18 determines the polarity of the input if it is enabled.
6 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
The following table shows the relationship between the bits of MI17 and the servo nodes on the Station:
MI17 Bit # |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
Node # |
13 |
12 |
9 |
8 |
5 |
4 |
1 |
0 |
MS{anynode},MI18 |
Amplifier Fault Polarity |
|
Range: |
$00 - $FF |
|
Units: |
none |
|
Default: $00 (low-true fault for all nodes)
This variable controls how the 16-Axis MACRO Station interprets the polarity of the amplifier fault inputs for each servo node. The variable consists of eight bits; each bit controls the polarity for one of the servo nodes on the Station. A 0 in a bit specifies a low-true fault (low voltage input means fault); a 1 in a bit specifies a high-true fault (high voltage input means fault). A bit of MI18 is only used if the corresponding bit of MI17 is set to 0, enabling the amplifier fault function for that node.
The following table shows the relationship between the bits of MI18 and the servo nodes on the Station:
|
MI18 Bit # |
|
7 |
|
6 |
5 |
4 |
|
3 |
2 |
1 |
0 |
|
|
|
Node # |
|
|
13 |
|
12 |
9 |
8 |
|
5 |
4 |
1 |
0 |
|
Global I/O Transfer MI-Variables |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|||||||
MS{anynode},MI19 |
|
I/O Data Transfer Period |
|
|
|
|
|
|||||||
Range: |
0 - 255 |
|
|
|
|
|
|
|
|
|
|
|
|
Units: Phase Clock Cycles
Default: 0
MI19 controls the data transfer period on a 16-Axis MACRO Station between the MACRO node interface registers and the I/O registers, as specified by station MI-variables MI20 through MI71, and MI169 through MI172. If MI19 is set to 0, this data transfer is disabled. If MI19 is greater than 0, its value sets the period in Phase clock cycles (the same as MACRO communications cycles) at which the transfer is done.
MS{anynode},MI20 |
Data Transfer Enable Mask |
Range: $000000000000 - $FFFFFFFFFFFF
Units: Bits Default: 0
MI20 controls which of 48 possible data transfer operations are performed at the data transfer period set by MI19. MI20 is a 48-bit value; each bit controls whether the data transfer specified by one of the variables MI21 through MI68 is performed. The relationship of MI20 bits to MI21-MI68 transfers is explained in the following table.
16-Axis MACRO Station MI-Variable Reference |
7 |
16-Axis MACRO CPU Software Reference Manual
MI20 Bit # |
Bit |
Transfer- |
|
Value |
Control |
|
|
MI-Variable |
0 |
$1 |
MI21 |
1 |
$2 |
MI22 |
2 |
$4 |
MI23 |
3 |
$8 |
MI24 |
4 |
$10 |
MI25 |
5 |
$20 |
MI26 |
6 |
$40 |
MI27 |
7 |
$80 |
MI28 |
8 |
$100 |
MI29 |
9 |
$200 |
MI30 |
10 |
$400 |
MI31 |
11 |
$800 |
MI32 |
12 |
$1000 |
MI33 |
13 |
$2000 |
MI34 |
14 |
$4000 |
MI35 |
15 |
$8000 |
MI36 |
16 |
$10000 |
MI37 |
17 |
$20000 |
MI38 |
18 |
$40000 |
MI39 |
19 |
$80000 |
MI40 |
20 |
$100000 |
MI41 |
21 |
$200000 |
MI42 |
22 |
$400000 |
MI43 |
23 |
$800000 |
MI44 |
MI20 Bit # |
Bit Value |
Transfer- |
|
|
Control |
|
|
MI-Variable |
24 |
$1000000 |
MI45 |
25 |
$2000000 |
MI46 |
26 |
$4000000 |
MI47 |
27 |
$8000000 |
MI48 |
28 |
$10000000 |
MI49 |
29 |
$20000000 |
MI50 |
30 |
$40000000 |
MI51 |
31 |
$80000000 |
MI52 |
32 |
$100000000 |
MI53 |
33 |
$200000000 |
MI54 |
34 |
$400000000 |
MI55 |
35 |
$800000000 |
MI56 |
36 |
$1000000000 |
MI57 |
37 |
$2000000000 |
MI58 |
38 |
$4000000000 |
MI59 |
39 |
$8000000000 |
MI60 |
40 |
$10000000000 |
MI61 |
41 |
$20000000000 |
MI62 |
42 |
$40000000000 |
MI63 |
43 |
$80000000000 |
MI64 |
44 |
$100000000000 |
MI65 |
45 |
$200000000000 |
MI66 |
46 |
$400000000000 |
MI67 |
47 |
$800000000000 |
MI68 |
MS{anynode},MI21-MI68 Data Transfer Source and Destination Address
Range: $000000000000 - $FFFFFFFFFFFF
Units: Double 16-Axis MACRO Station Addresses
Default: 0
These MI-variables each specify a data transfer (copying) operation that will occur on the 16-Axis MACRO Station at a rate specified by Station Variable MI19, and enabled by Station variable MI20.
Each variable specifies the address from which the data will be copied (read), and the address to which the data will be copied (written). These variables are 48-bit values, usually specified as 12 hexadecimal digits.
The first 24 bits (6 hex digits) specify the address of the register on the 16-Axis MACRO Station from which the data is to be copied; the second 24 bits (six hex digits) specify the address on the 16-Axis MACRO Station to which the data is to be copied. In each set of six hex digits, the last four hex digits specify the actual address. The first two digits (eight bits) specify what portion of the address is to be used.
The following diagram shows what each digit represents:
Hex Digit # |
1 |
|
2 |
3 |
4 |
5 |
|
6 |
7 |
|
8 |
9 |
10 |
11 |
|
12 |
Contents |
From |
|
|
From |
Register |
Address |
|
To |
|
To Register Address |
|
|||||
|
Register |
|
|
|
|
|
|
Register |
|
|
|
|
|
|
||
|
Format |
|
|
|
|
|
|
Format |
|
|
|
|
|
|
||
|
Code |
|
|
|
|
|
|
Code |
|
|
|
|
|
|
8 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
The following table shows the 2-digit hex format codes and the portions of the address that each one selects.
Code |
X or Y |
Bit Width |
Bit Range |
Notes |
$40 |
Y |
8 |
0-7 |
|
$48 |
Y |
8 |
8-15 |
|
$50 |
Y |
8 |
16-23 |
|
$54 |
Y |
12 |
0-11 |
Lower 12-bit ADC registers |
$60 |
Y |
12 |
12-23 |
Upper 12-bit ADC registers |
$64 |
Y |
16 |
0-15 |
|
$6C |
Y |
16 |
8-23 |
16-bit MACRO Servo Node Registers |
$78 |
Y |
24 |
0-23 |
24-bit MACRO Servo Node Registers |
$7E |
NA |
NA |
NA |
Use the MM variable definition for the |
|
|
|
|
decode of the variable and address and the |
|
|
|
|
address being the MM variable number. |
$B0 |
X |
8 |
0-7 |
|
$B8 |
X |
8 |
8-15 |
|
$C0 |
X |
8 |
16-23 |
|
$C4 |
X |
12 |
0-11 |
|
$D0 |
X |
12 |
12-23 |
|
$D4 |
X |
16 |
0-15 |
|
$DC |
X |
16 |
8-23 |
16-bit MACRO I/O Node Registers |
$E8 |
X |
24 |
0-23 |
24-bit MACRO I/O Node Registers |
The memory and I/O map at the back of this Software Reference manual provides a detailed list of registers that can be copied using these MI-variables.
Note:
For copying data between digital I/O cards with byte-wide data paths (ACC-9E, 10E, 11E, 12E, 14E, 65E, 66E, 67E and 68E) and MACRO nodes, it is generally better to use MI69 – MI71, and MI169 – MI172.
Example:
MI21=$780200E8C0A0
copies 24-bit data from Station address Y:$0200 to X:$C0A0
MI21=$7E00027E0003
copies MM2 into MM3 ( MM3 = MM2)
MACRO IC I/O Transfer MI-Variables
Each MACRO IC (0 and 1) has its own set of these variables. Therefore, they are accessed through their MACRO IC. For example, MS0,MI69 accesses MACRO IC 0’s MI69 and MS16,MI69 accesses MACRO IC 1’s MI69. MACRO IC 1’s variables can be accessed can be accessed through MACRO IC 0 by adding 1000 to the MI variable. For example, MS0,MI1069 accesses MACRO IC 1’s MI69.
MS{anynode},MI69, MI70 I/O-Board 16-Bit Transfer Control
Range: $000000000000 - $FFFFFFFFFFFF Units: Extended addresses
Default: 0
MI69 and MI70 specify the registers used in 16-bit I/O transfers between MACRO node interface registers and I/O registers on the 9E, 10E, 11E, 12E, 14E, 65E, 66E, 67E, and ACC-68E I/O boards on a 16-Axis MACRO Station. They are used only if MI19 is greater than 0.
16-Axis MACRO Station MI-Variable Reference |
9 |
16-Axis MACRO CPU Software Reference Manual
MI69 and MI70 are 48-bit variables represented as 12 hexadecimal digits. The first six digits specify the number and address of 48-bit (3 x 16) real-time MACRO-node register sets to be used. The second six digits specify the number and address of 16-bit I/O sets on an UMAC IO board to be used. The individual digits are specified as follows:
Digit # |
Possible Values |
Description |
1 |
0, 1, 2, 3 |
Number of MACRO I/O nodes to use (0 disables); this |
|
|
should also match the number of 48-bit I/O sets you |
|
|
intend to use (see Digit 7) |
2 |
0 |
(Reserved for future use) |
3-6 |
$C0A1 (Node 2), $C0A5 (Node 3), |
MACRO Station X Address of MACRO I/O node first |
|
$C0A9 (Node 6), $C0AD (Node 7), |
of three 16-bit registers |
|
$C0B1 (Node 10), $C0B5 (Node 11) |
|
7 |
0, 1, 2, 3 |
Number of 16-bit I/O sets to use (1x16, 2x16, 3x16; 0 |
|
|
disables) |
8 |
1 |
Set to 1 for ACC-14E, ACC-65E, ACC-66E, ACC-67E |
|
|
consecutive address read (Base, +$1000, +$2000) |
9-12 |
$8800, $8840 |
MACRO Station Y Base Address of UMAC IO Card |
|
$8880, $88C0 |
|
|
|
|
When this function is active, the 16-Axis MACRO Station will copy values from the MACRO command (input) node registers to the I/O board addresses; it will copy values from the I/O board addresses to the MACRO feedback (output) node registers. Writing a ‘0’ to a bit of the I/O board enables it as an input, letting the output pull high. Writing a ‘1’ to a bit of the I/O board enables it as an output and pulls the output low.
The following table shows the mapping of I/O points on the I/O backplane boards to the MACRO node registers:
Board # at |
E6x Rows |
Byte on |
I/O Point |
Matching MACRO X Register |
Set |
Connected |
Data Bus |
#s on |
|
Address |
|
|
Board |
|
1st |
1 & 2 |
Low |
0 –15 |
Specified MACRO X Address + 0 |
1st |
1 & 2 |
Low |
16 – 31 |
Specified MACRO X Address + 1 |
1st |
1 & 2 |
Low |
32 - 47 |
Specified MACRO X Address + 2 |
2nd |
2 & 3* |
Middle |
0 –15 |
Specified MACRO X Address + 4 |
2nd |
2 & 3* |
Middle |
16 – 31 |
Specified MACRO X Address + 5 |
2nd |
2 & 3* |
Middle |
32 - 47 |
Specified MACRO X Address + 6 |
3rd |
4 & 5 |
High |
0 –15 |
Specified MACRO X Address + 8 |
3rd |
4 & 5 |
High |
16 – 31 |
Specified MACRO X Address + 9 |
3rd |
4 & 5 |
High |
32 - 47 |
Specified MACRO X Address + 10 |
* Rows 3 & 4 connected creates same setting
Examples:
MI69=$30C0A1308800 transfers three sets of 48-bit I/O between an I/O board set at $8800 and MACRO Nodes 2 ($C0A1-$C0A3), 3 ($C0A5-$C0A7), and 6 ($C0A9-$C0AB).
MI70=$10C0B1308840 transfers one set of 48-bit I/O between an I/O board set at $8840 and MACRO Node 10 ($C0B1-$C0B3).
10 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI71 |
I/O-Board 24-Bit Transfer Control |
Range: $000000000000 - $FFFFFFFFFFFF Units: Extended addresses
Default: 0
MI71 specifies the registers used in 24-bit I/O transfers between MACRO I/O node interface registers and I/O registers on the 9E, 10E, 11E, 12E, 14E, 65E, 66E, 67E, and 68E I/O boards on a 16-Axis MACRO Station. It is only used if MI19 is greater than 0.
MI71 is a 48-bit variable represented as 12 hexadecimal digits. The first six digits specify the number and address of 48-bit real-time MACRO-node register sets to be used. The second six digits specify the number and address of 48-bit I/O sets on an UMAC IO board to be used. The individual digits are specified as follows:
Digit # |
Possible Values |
Description |
1 |
0, 1, 2, 3 |
Number of MACRO I/O nodes to use times 2 (0 |
|
|
disables); this should also match the number of 48-bit |
|
|
I/O sets you intend to use (see Digit 7) |
2 |
0 |
(Reserved for future use) |
3-6 |
$C0A0 (Node 2), $C0A4 (Node 3), |
MACRO Station X Address of MACRO I/O node first |
|
$C0A8 (Node 6), $C0AC (Node 7), |
of three 16-bit registers |
|
$C0B0 (Node 10), $C0B4 (Node |
|
|
11) |
|
7 |
0, 1, 2 |
Number of 24-bit I/O sets to use (1x24, 2x24; 0 |
|
|
disables) |
8 |
1 |
Set to 1 for ACC-14E, ACC-65E, ACC-66E, ACC-67E |
|
|
consecutive address read (Base, +$1000, +$2000) |
9-12 |
$8800, $8840 |
MACRO Station Y Base Address of UMAC IO card |
|
$8880, $88C0 |
|
|
|
|
When this function is active, the 16-Axis MACRO Station will copy values from the MACRO command (input) node registers to the I/O board addresses; it will copy values from the I/O board addresses to the MACRO feedback (output) node registers. Writing a ‘0’ to a bit of the I/O board enables it as an input, letting the output pull high. Writing a ‘1’ to a bit of the I/O board enables it as an output and pulls the output low.
The following table shows the mapping of I/O points on the I/O backplane boards to the MACRO node registers:
Board # at |
E6x Rows |
Byte on |
I/O Point |
Matching MACRO X Register |
Set |
Connected |
Data Bus |
#s on |
|
Address |
|
|
Board |
|
1st |
1 & 2 |
Low |
0 –23 |
Specified MACRO X Address + 0 |
1st |
1 & 2 |
Low |
24 – 47 |
Specified MACRO X Address + 4 |
2nd |
2 & 3* |
Middle |
0 –23 |
Specified MACRO X Address + 8 |
2nd |
2 & 3* |
Middle |
24 – 47 |
Specified MACRO X Address + 12 |
3rd |
4 & 5 |
High |
0 –23 |
Specified MACRO X Address + 16 |
3rd |
4 & 5 |
High |
24 – 47 |
Specified MACRO X Address + 20 |
* Rows 3 and 4 connected creates same setting
16-Axis MACRO Station MI-Variable Reference |
11 |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI72-MI89 Output Power-On/Shutdown State
Range: $000000 - $FFFFFF Units: Individual bit values
Default: $000000
MI72 through MI89 are used to determine the states of the digital outputs for 16-Axis MACRO Station I/O boards at power-on and on controlled station shutdown due to a ring error condition.
Each of these MI-variables is a 24-bit value controlling 24 consecutively numbered I/O points on a MACRO I/O board. Each bit controls one I/O point. The least significant bit of the MI-variable controls the lowest-numbered I/O point; the most significant bit controls the highest-numbered I/O point.
A value of 0 in a bit specifies that the corresponding output is to be turned off at power-on or shutdown; a value of 1 in a bit specifies that the corresponding output is to be turned on at power-on or shutdown. If an I/O point has been set up as an input, the value of the bit is not important.
The following table shows which I/O points are controlled by each of these MI-variables
|
Variable |
Board Addressed |
I/O Points |
ACC-3E Option |
Present on |
|
|
|
|
|
by Variable |
Controlled |
Required |
ACC-4E? |
|
|
MI72 |
|
MI69 |
I/O00 – I/O23 |
Option A |
Yes |
|
|
MI73 |
|
MI69 |
I/O24 – I/O47 |
Option A |
Yes |
|
|
MI74 |
|
MI69 |
I/O48 – I/O71 |
Option B |
No |
|
|
MI75 |
|
MI69 |
I/O72 – I/O95 |
Option B |
No |
|
|
MI76 |
|
MI69 |
I/O96 – I/O119 |
Option C |
No |
|
|
MI77 |
|
MI69 |
I/O120 – I/O143 |
Option C |
No |
|
|
MI78 |
|
MI70 |
I/O00 – I/O23 |
Option A |
Yes |
|
|
MI79 |
|
MI70 |
I/O24 – I/O47 |
Option A |
Yes |
|
|
MI80 |
|
MI70 |
I/O48 – I/O71 |
Option B |
No |
|
|
MI81 |
|
MI70 |
I/O72 – I/O95 |
Option B |
No |
|
|
MI82 |
|
MI70 |
I/O96 – I/O119 |
Option C |
No |
|
|
MI83 |
|
MI70 |
I/O120 – I/O143 |
Option C |
No |
|
|
MI84 |
|
MI71 |
I/O00 – I/O23 |
Option A |
Yes |
|
|
MI85 |
|
MI71 |
I/O24 – I/O47 |
Option A |
Yes |
|
|
MI86 |
|
MI71 |
I/O48 – I/O71 |
Option B |
No |
|
|
MI87 |
|
MI71 |
I/O72 – I/O95 |
Option B |
No |
|
|
MI88 |
|
MI71 |
I/O96 – I/O119 |
Option C |
No |
|
|
MI89 |
|
MI71 |
I/O120 – I/O143 |
Option C |
No |
|
|
|
|
|||||
MS{anynode},MI90 |
Y:MTR Servo Channel Disable and MI996 Enable |
|
Range: $00 - $3333
Units: None
Default: $0000
MI996 = MI996 | (MI90 & $3333)
The servo channel nodes that are enabled in MI996 by MI90 are disabled as servo transfer channels.
Example:
MI90 = $3000 will disable servo channel transfers on nodes 12 and 13 and sets nodes 12 and 13 on MI996. This allows the use of these nodes by MI91 – MI98 for data transfer.
12 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI91 - MI98 |
|
|
|
Phase Interrupt 24 Bit Data Copy |
|||||||||||||||
Range: |
$00000000 - $FFFFFFFF |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Units: |
Individual bits |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hex Digit # |
1 |
|
2 |
3 |
|
4 |
5 |
|
6 |
7 |
|
8 |
9 |
10 |
11 |
12 |
|
|
|
Contents |
From |
$00 |
From |
Register |
Address |
|
To $00 = |
To Register Address |
|
||||||||
|
|
|
= Y: 24bit |
|
|
|
|
|
|
Y: 24bit |
|
|
|
|
|
|
|||
|
|
|
$80 = X: |
|
|
|
|
|
|
$80 = X: |
|
|
|
|
|
||||
|
|
|
24bit |
|
|
|
|
|
|
|
24bit |
|
|
|
|
|
|
MS{anynode},MI99 |
(Reserved for Future Use) |
|
Range: |
0 |
|
Units: |
|
|
Default: |
0 |
|
MACRO IC Position Processing MI-Variables
Each MACRO IC (0 and 1) has its own set of these variables. Therefore, they are accessed through their MACRO IC. For example, MS0,MI101 accesses MACRO IC 0’s MI101 and MS16,MI101 accesses MACRO IC 1’s MI101. MACRO IC 1’s variables can be accessed can be accessed through MACRO IC 0 by adding 1000 to the MI variable. For example, MS0,MI1101 accesses MACRO IC 1’s MI101.
MS{anynode},MI101-MI108 Ongoing Position Source Address
Range: |
$0000 - $FFFF |
|
|
Units: |
16-Axis MACRO Station “X” Addresses |
||
Default MACRO IC 0: |
|
|
|
|
MI101 (1st motor node: Node 0): |
$0010 |
{1st line of encoder conversion table} |
|
MI102 (2nd motor node: Node 1): |
$0011 |
{2nd line of encoder conversion table} |
|
MI103 (3rd motor node: Node 4): |
$0012 |
{3rd line of encoder conversion table} |
|
MI104 (4th motor node: Node 5): |
$0013 |
{4th line of encoder conversion table} |
|
MI105 (5th motor node: Node 8): |
$0014 |
{5th line of encoder conversion table} |
|
MI106 (6th motor node: Node 9): |
$0015 |
{6th line of encoder conversion table} |
|
MI107 (7th motor node: Node 12): |
$0016 |
{7th line of encoder conversion table} |
|
MI108 (8th motor node: Node 13): |
$0017 |
{8th line of encoder conversion table} |
Default MACRO IC 1: |
|
|
|
|
MI101 (1st motor node: Node 0): |
$0090 |
{1st line of encoder conversion table} |
|
MI102 (2nd motor node: Node 1): |
$0091 |
{2nd line of encoder conversion table} |
|
MI103 (3rd motor node: Node 4): |
$0092 |
{3rd line of encoder conversion table} |
|
MI104 (4th motor node: Node 5): |
$0093 |
{4th line of encoder conversion table} |
|
MI105 (5th motor node: Node 8): |
$0094 |
{5th line of encoder conversion table} |
|
MI106 (6th motor node: Node 9): |
$0095 |
{6th line of encoder conversion table} |
|
MI107 (7th motor node: Node 12): |
$0096 |
{7th line of encoder conversion table} |
|
MI108 (8th motor node: Node 13): |
$0097 |
{8th line of encoder conversion table} |
MI101 through MI108 (MI10x) determine what registers are used for feedback for the eight possible motor nodes (MI10x controls the xth motor node, which usually corresponds to Motor x on PMAC) on a 16-Axis MACRO Station.
For each active motor node, the value in the specified register is copied into the 24-bit position feedback MACRO register. Typically, the addresses specified are those from the 16-Axis MACRO Station’s encoder conversion table, at Station registers X:$0010 to X:$002F, corresponding to Station MI-variables MI120 to MI151, respectively.
16-Axis MACRO Station MI-Variable Reference |
13 |
16-Axis MACRO CPU Software Reference Manual
MS{anynode},MI109 - MI110 |
(Reserved for Future Use) |
MS{anynode},MI111-MI118 Power-Up Position Source Address
Range: $000000 - $FFFFFF
Units: Extended 16-Axis MACRO Station Addresses
Default: 0
MI111 (1st motor node: Node 0) MI112 (2nd motor node: Node 1) MI113 (3rd motor node: Node 4) MI114 (4th motor node: Node 5) MI115 (5th motor node: Node 8) MI116 (6th motor node: Node 9) MI117 (7th motor node: Node 12) MI118 (8th motor node: Node 13)
MI111 through MI118 (MI11x) specify whether, where, and how absolute position is to be read on the 16-Axis MACRO Station for a motor node (MI11x controls the xth motor node, which usually corresponds to Motor x on PMAC) and sent back to the PMAC or PMAC2.
If MI11x is set to 0, no power-on/reset absolute position value will be returned to PMAC. If MI11x is set to a value greater than 0, then when the PMAC requests the absolute position because its Ix10 and/or Ix81 values are set to obtain absolute position through MACRO (sending an auxiliary MS{node},MI920 or MS{node},MI930 command), the 16-Axis MACRO Station will use MI11x to determine how to read the absolute position, and report that position back to PMAC as an auxiliary response.
MI11x consists of two parts. The low 16 bits (last four hexadecimal digits) specify the address on the 16axis MACRO Station from which the absolute position information is read. The high eight bits (first two hexadecimal digits) tell the 16-axis MACRO Station how to interpret the data at that address (the method.
The following table shows the possible values for MI11x, organized by the first two digits:
MI11n Bits |
Type of Feedback |
Notes |
16-23 for |
|
|
Unsigned |
|
|
(Signed) |
|
|
$00-$07 |
Resolver-to-Digital Converter |
Used for ACC-8D Opt 7 connected to CPU board |
($80-$87) |
|
JTHW connector; address is multiplexer port |
|
|
address ($00 - $FF) |
$08-$18 |
Single-Y-Word Parallel (8 to 24 |
Used for MDLT feedback; |
($88-$98) |
bits) |
Value in B16-21 is number of bits to read |
$17-$2A |
Double-Y-Word Parallel (25 to |
Value in B16-21 is number of bits; most |
($97-$AA) |
42 bits) |
significant bits are at {address + 1} |
$2B ($AB) |
Double-Byte Parallel (16 bits) in |
Used for ACC-3E parallel feedback; |
|
low bytes of 24-bit words |
Most significant byte is at {address + 1} |
$2C ($AC) |
Double-Byte Parallel (16 bits) in |
Used for ACC-3E parallel feedback; |
|
middle bytes of 24-bit words |
Most significant byte is at {address + 1} |
$2D ($AD) |
Double-Byte Parallel (16 bits) in |
Used for ACC-3E parallel feedback; |
|
middle bytes of 24-bit words |
Most significant byte is at {address + 1} |
$2E ($AE) |
Triple-Byte Parallel (24 bits) in |
Used for ACC-3E parallel feedback; |
|
low bytes of 24-bit words |
Middle byte is at {address + 1}; |
|
|
Most significant byte is at {address + 2} |
$2F ($AF) |
Triple-Byte Parallel (24 bits) in |
Used for ACC-3E parallel feedback; |
|
middle bytes of 24-bit words |
Middle byte is at {address + 1}; |
|
|
Most significant byte is at {address + 2} |
14 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
$30 ($B0) |
Triple-Byte Parallel (24 bits) in |
Used for ACC-3E parallel feedback; |
|
|
|
middle bytes of 24-bit words |
Middle byte is at {address + 1}; |
|
|
|
Most significant byte is at {address + 2} |
$31 ($B1) |
16-Bit Parallel in high 16 bits of |
Used for ACC-28B A/D converter feedback |
|
|
|
24 bit word |
|
$32 |
($B2) |
Double 13-Bit Parallel |
Used for Sanyo Absolute Encoder Interface |
$33 |
($B3) |
12-Bit Parallel in high 12 bits of |
Used for ACC-1E-B2 or ACC-6E A/D converter |
|
|
24-bit word |
feedback |
$48-$56 |
Single-X-Word Parallel (8 to 24 |
Value in B16-23 is number of bits to read |
|
($C8-$D6) |
bits) |
|
|
$57-$6A |
Double-X-Word Parallel (25 to |
Value in B16-23 is number of bits; most |
|
($D7-$EA) |
42 bits) |
significant bits are at {address + 1} |
|
$71 |
($F1) |
Yaskawa Absolute Encoder |
Used for ACC-8D Opt 9 connected to CPU board |
|
|
Converter thru Multiplexer Port |
JTHW port; address is multiplexer port address |
|
|
|
($00 - $FF) |
$72 |
($F2) |
Yaskawa Absolute Encoder |
Used for ACC-8D Opt 9 connected to CPU board |
|
|
Converter thru RS-232 interface |
serial port. |
If Bit 23 of MI11x is set to 1 (providing the value for Bits 16-23 shown in parentheses), then the position value read is sign extended to produce a signed position value. If Bit 23 is set to 0, no sign extension is performed, producing an unsigned positive position value. Bit 23 of PMAC’s Ix10 for the motor using this MACRO node must be the same as Bit 23 of the Station’s MI11x.
MS{anynode},MI119 |
(Reserved for Future Use) |
MS{anynode},MI120-MI151 Encoder Conversion Table Entries
Range: $000000 - $FFFFFF
Units: Extended 16-Axis MACRO Station Addresses Default: (dependent on SW1 setting)
MI120 through MI151 form the 32-setup lines of the 16-axis MACRO Station’s Encoder Conversion Table (ECT). The Encoder Conversion Table on the Station is similar in concept to that of the PMAC or PMAC2 itself; it is identical in structure to the Encoder Conversion Table of the Turbo PMAC. The 16axis MACRO Station’s table is executed every ring cycle to prepare the feedback data to be sent back to the PMAC over the MACRO ring, where it will likely be passed through the PMAC’s own table.
The ECT consists of a series of entries with each entry processing one feedback value. An entry in the ECT can have one, two, or three lines, therefore one, two, or three of these 24-bit MI-variables. Each MIvariable occupies a fixed register in the 16-axis MACRO Station’s memory map. The register addresses are important, because the results of the ECT are accessed by address.
Table Addresses: The following table shows the Station Y-address for each of the MI-variables in the table. The processed feedback value for an entry resides in the X-register of the same address as the last line of the entry. Variable MI10x for the xth motor node on the Station should contain the address of this X-register for the feedback it wants to send back to PMAC over the MACRO ring.
16-Axis MACRO Station MI-Variable Reference |
15 |
16-Axis MACRO CPU Software Reference Manual
|
MI-Var. |
|
Address |
MI-Var. |
Address |
MI-Var. |
Address |
MI-Var. |
Address |
|
MI120 |
|
$0010 |
MI128 |
$0018 |
MI136 |
$0020 |
MI144 |
$0028 |
|
MI121 |
|
$0011 |
MI129 |
$0019 |
MI137 |
$0021 |
MI145 |
$0029 |
|
MI122 |
|
$0012 |
MI130 |
$001A |
MI138 |
$0022 |
MI146 |
$002A |
|
MI123 |
|
$0013 |
MI131 |
$001B |
MI139 |
$0023 |
MI147 |
$002B |
|
MI124 |
|
$0014 |
MI132 |
$001C |
MI140 |
$0024 |
MI148 |
$002C |
|
MI125 |
|
$0015 |
MI133 |
$001D |
MI141 |
$0025 |
MI149 |
$002D |
|
MI126 |
|
$0016 |
MI134 |
$001E |
MI142 |
$0026 |
MI150 |
$002E |
|
MI127 |
|
$0017 |
MI135 |
$001F |
MI143 |
$0027 |
MI151 |
$002F |
MACRO IC 1 |
|
|
|
|
|
|
|
MI-Var. |
Address |
MI-Var. |
Address |
MI-Var. |
Address |
MI-Var. |
Address |
MI120 |
$0090 |
MI128 |
$0098 |
MI136 |
$00A0 |
MI144 |
$00A8 |
MI121 |
$0091 |
MI129 |
$0099 |
MI137 |
$00A1 |
MI145 |
$00A9 |
MI122 |
$0092 |
MI130 |
$009A |
MI138 |
$00A2 |
MI146 |
$00AA |
MI123 |
$0093 |
MI131 |
$009B |
MI139 |
$00A3 |
MI147 |
$00AB |
MI124 |
$0094 |
MI132 |
$009C |
MI140 |
$00A4 |
MI148 |
$00AC |
MI125 |
$0095 |
MI133 |
$009D |
MI141 |
$00A5 |
MI149 |
$00AD |
MI126 |
$0096 |
MI134 |
$009E |
MI142 |
$00A6 |
MI150 |
$00AE |
MI127 |
$0097 |
MI135 |
$009F |
MI143 |
$00A7 |
MI151 |
$00AF |
Entry First Line: The first line (MI-variable) in each entry consists of a source address in the low 16 bits, which contains the Station address of the raw data to be processed, and a method value in the high 8 bits, which specifies how this data is to be processed.
Entry Additional Lines: Depending on the method, 1 or 2 additional lines (MI-variables) may be required in the entry to provide further instructions on processing. If the first line (MI-variable) in the entry is $000000, this signifies the end of the active table, regardless of what subsequent entries in the table (higher numbered MI-variables) contain.
Method |
# of |
Process Defined |
1st Additional Line |
2nd Additional Line |
|
lines |
|
|
|
$0x |
1 |
1/T Extension of Incremental |
- |
- |
|
|
Encoder |
|
|
$1x |
1 |
ACC-28 style A/D converter |
- |
- |
|
|
(high 16 bits, no rollover) |
|
|
$2x |
2 |
Parallel Y-word data, no filtering |
Bits-Used Mask |
- |
$3x |
3 |
Parallel Y-word data, with |
Bits-Used Mask |
Max Change per Cycle |
|
|
filtering |
|
|
$4x |
2 |
Time Base scaled digital |
Time Base Scale Factor |
- |
|
|
differentiation |
|
|
$5x |
2 |
Integrated ACC-28 style A/D |
Input Bias |
- |
|
|
converter |
|
|
$6x |
2 |
Parallel X-word data, no filtering |
Bits-Used Mask |
- |
$7x |
3 |
Parallel X-word data, with |
Bits-Used Mask |
Max Change per Cycle |
|
|
filtering |
|
|
$8x |
1 |
Parallel Extension of Incremental |
- |
- |
|
|
Encoder |
|
|
$9x |
2 |
Triggered Time Base, frozen |
Time Base Scale Factor |
- |
$Ax |
2 |
Triggered Time Base, running |
Time Base Scale Factor |
- |
$Bx |
2 |
Triggered Time Base, armed |
Time Base Scale Factor |
- |
$Cx |
1 |
Incremental Encoder, no |
- |
- |
|
|
extension |
|
|
16 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
$Dx |
3 |
Exponential filter of parallel data |
Max Change per Cycle |
Filter Gain (Inverse |
|
|
|
|
Time Constant) |
$Ex |
1 |
Sum or difference of entries |
- |
- |
$Fx |
3 |
High-resolution Interpolator |
Address of 1st A/D |
A/D Bias Term |
|
|
|
converter |
|
Digital Incremental Encoder Entries ($0x, $Cx): These two conversion table methods utilize the incremental encoder registers in the DSPGATE ASICs on the Station. Each method provides a processed result with the units of (1/32) count – the low five bits are fractional data.
With the $0x method, the fractional data is computed by dividing the Time Since Last Count register by the Time Between Last Two Counts register. This technique is known as 1/T extension, and is the most commonly used method. It can be used with a digital incremental encoder connected directly to the Station
With the $Cx method, the fractional data is always set to zero, which means there is no extension of the incremental encoder count. This setting is used mainly to verify the effect of one of the 1/T extension, or the parallel extension of an analog encoder, explained below.
The ‘x’ in the second digit is always 0 in both of these methods.
With either of these conversion methods, the source address in the low 16 bits is that of the starting register of the machine interface channel. The addresses of the machine interface channels that can be used, and the ECT entry MI-variables that correspond to them, are shown in the following tables. The ‘m’ is the conversion method, representing ‘0’ (Incremental Encoder-1/T interpolation extension) or ‘C’ (Incremental Encoder-no extension).
Entries for Backplane Axis Boards (ACC-24E2x)
Machine |
16-Axis |
Conversion |
Machine |
16-Axis |
Conversion |
Interface |
MACRO |
Table Entry |
Interface |
MACRO |
Table Entry |
Channel # |
Station Base |
|
Channel # |
Station Base |
|
|
Address |
|
|
Address |
|
1 |
$8000 |
$m08000 |
9 |
$9000 |
$m09000 |
2 |
$8008 |
$m08008 |
10 |
$9008 |
$m09008 |
3 |
$8010 |
$m08010 |
11 |
$9010 |
$m09010 |
4 |
$8018 |
$m08018 |
12 |
$9018 |
$m09018 |
5 |
$8040 |
$m08040 |
13 |
$9040 |
$m09040 |
6 |
$8048 |
$m08048 |
14 |
$9048 |
$m09048 |
7 |
$8050 |
$m08050 |
15 |
$9050 |
$m09050 |
8 |
$8058 |
$m08058 |
16 |
$9058 |
$m09058 |
These are single-line entries in the table, so the next line (MI-Variable) is the start of the next entry.
Analog Incremental Encoder Entries ($8x, $Fx): These two entries process data from analog sinewave encoders through a Delta Tau interpolator, providing a high number of position states per line using fractional count data.
Low Resolution: With the $8x method, the fractional data is computed by reading the five inputs at bits 19-23 of the specified address (USER, W, V, U, and T flag inputs, respectively). This technique is known as parallel extension and can be used with an analog incremental encoder processed through accessories for the older Macro Stack Technology. This entry will not be utilized very often since the 16Axis Macro Station is used in backplane mode only.
16-Axis MACRO Station MI-Variable Reference |
17 |
16-Axis MACRO CPU Software Reference Manual
High Resolution: With the $Fx method, the table computes the fractional information using the A/D- converter data from an ACC-51E high-resolution encoder interpolator, producing a value with 4096 states per line. The entry must read both an encoder channel for the whole number of lines of the encoder, and a pair of A/D converters to determine the location within the line, mathematically combining the values to produce a single position value.
Encoder Channel Address: The first line of the three-line entry contains $F in the first hex digit and the base address of the encoder channel to be read in the last four digits (bits 0 to 15). The following table shows the possible entries for an ACC-51E in the station.
Entry First Lines for ACC-51E Backplane Interpolator Boards
ACC-51E # |
Channel 1 |
Channel 2 |
Channel 3 |
Channel 4 |
1st |
$F08000 |
$F08008 |
$F08010 |
$F08018 |
2nd |
$F08040 |
$F08048 |
$F08050 |
$F08058 |
3rd |
$F09000 |
$F09008 |
$F09010 |
$F09018 |
4th |
$F09040 |
$F09048 |
$F09050 |
$F09058 |
5th |
$F0A000 |
$F0A008 |
$F0A010 |
$F0A018 |
6th |
$F0A040 |
$F0A048 |
$F0A050 |
$F0A058 |
7th |
$F0B000 |
$F0B008 |
$F0B010 |
$F0B018 |
8th |
$F0B040 |
$F0B048 |
$F0B050 |
$F0B058 |
A/D Converter Address: The second line of the entry contains the base address of the first A/D converter to be read in the last four digits (bits 0 to 15). The second A/D converter will be read at the next higher address. The following table shows the possible settings when the ACC-51E is used.
Entry Second Lines for ACC-51E Backplane Interpolator Boards
ACC-51E # |
Channel 1 |
Channel 2 |
Channel 3 |
Channel 4 |
1st |
$008005 |
$00800D |
$008015 |
$00801D |
2nd |
$008045 |
$00804D |
$008055 |
$00805D |
3rd |
$009005 |
$00900D |
$009015 |
$00901D |
4th |
$009045 |
$00904D |
$009055 |
$00905D |
5th |
$00A005 |
$00A00D |
$00A015 |
$00A01D |
6th |
$00A045 |
$00A04D |
$00A055 |
$00A05D |
7th |
$00B005 |
$00B00D |
$00B015 |
$00B01D |
8th |
$00B045 |
$00B04D |
$00B055 |
$00B05D |
A/D Bias Term: The third line of the entry contains the bias in the A/D converter values. This line should contain the value that the A/D converters report when they should ideally report zero. The 16Axis MACRO Station subtracts this value from both A/D readings before calculating the arctangent. Many users will leave this value at 0, but it is particularly useful to remove the offsets of single-ended analog encoder signals.
This line is scaled so that the maximum A/D converter reading provides the full value of the 24-bit register (+/-223). Generally, it is set by reading the A/D converter values directly as 24-bit values, computing the average value over a cycle or cycles, and entering this value here.
Conversion Result: The result of the conversion is placed in the X-register of the third line of the entry. Careful attention must be paid to the scaling of this 24-bit result. The least significant bit (Bit 0) of the result represents 1/4096 of a line of the sine/cosine encoder.
18 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
When this data is passed to a PMAC, and it reads this data for servo use with Ix03, Ix04, Ix05, or Ix93, it expects to find data in units of 1/32 of a count. Therefore, PMAC software regards this format as producing 128 counts per line. (The fact that the hardware counter used produces 4 counts per line is not relevant to the actual use of this format; this fact would only be used when reading the actual hardware counter for debugging purposes.)
Example:
This format is used to interpolate a linear scale with a 40-micron pitch (40µm/line), producing a resolution of about 10 nanometers (40,000/4096), used as position feedback for a motor. PMAC considers a count to be 1/128 of a line, yielding a count length of 40/128 = 0.3125 µm. To set user units of millimeters for the axis, the axis scale factor would be:
AxisScaleFactor = |
1mm |
* |
1000µm |
* |
count |
= 3200 |
|
counts |
|
UserUnit |
mm |
0.3125µm |
UserUnit |
||||||
|
|
|
|
ACC-28 Style A/D Entries ($1x, $5x): The A/D feedback entries read from the high 16-bits of the specified address and shift the data right three bits so that the least significant bit of the processed result in bit 5. Unlike the parallel feedback methods, this method will not roll over and extend the result.
This data typically comes from an ACC-28E backplane A/D board.
The $1x method processes the information directly, essentially a copying with shift. The $5x integrates the input value as it copies and shifts it. That is, it reads the input value, shifts it right three bits, adds the bias term in the second line, and adds this value to the previous processed result.
If the second digit ‘x’ of the entry is ‘0’, the 16-bit source value is treated as a signed quantity; if it is ‘8’, the 16-bit value is treated as an unsigned quantity. Presently, the only A/D accessory of this format that can interface to the 16-axis MACRO Station is the ACC-28E, which provides an unsigned value, so $18 and $58 should be used.
The following table shows the entries for ACC-28E backplane converter board ADCs. The ‘m’ represents the conversion method, either ‘1’ or ‘5’.
Entries for ACC-28E ADCs
ACC-28E |
Entry for ADC1 |
Entry for ADC2 |
Entry for ADC3 |
Entry for ADC4 |
Base Address |
|
|
|
|
$8800 |
$m88800 |
$m88801 |
$m88802 |
$m88803 |
$9800 |
$m89800 |
$m89801 |
$m89802 |
$m89803 |
$A800 |
$m8A800 |
$m8A801 |
$m8A802 |
$m8A803 |
$B800 |
$m8B800 |
$m8B801 |
$m8B802 |
$m8B803 |
$8840 |
$m88840 |
$m88841 |
$m88842 |
$m88843 |
$9840 |
$m89840 |
$m89841 |
$m89842 |
$m89843 |
$A840 |
$m8A840 |
$m8A841 |
$m8A842 |
$m8A843 |
$B840 |
$m8B840 |
$m8B841 |
$m8B842 |
$m8B843 |
$8880 |
$m88880 |
$m88881 |
$m88882 |
$m88883 |
$9880 |
$m89880 |
$m89881 |
$m89882 |
$m89883 |
$A880 |
$m8A880 |
$m8A881 |
$m8A882 |
$m8A883 |
$B880 |
$m8B880 |
$m8B881 |
$m8B882 |
$m8B883 |
$88C0 |
$m888C0 |
$m888C1 |
$m888C2 |
$m888C3 |
$98C0 |
$m898C0 |
$m898C1 |
$m898C2 |
$m898C3 |
$A8C0 |
$m8A8C0 |
$m8A8C1 |
$m8A8C2 |
$m8A8C3 |
$B8C0 |
$m8B8C0 |
$m8B8C1 |
$m8B8C2 |
$m8B8C3 |
16-Axis MACRO Station MI-Variable Reference |
19 |
16-Axis MACRO CPU Software Reference Manual
Parallel Feedback Entries ($2x, $3x, $6x, $7x): The parallel feedback entries read a word from the address specified in the low 16 bits of the first entry. The four methods in this class are:
•$2x: Y-word parallel, no filtering (2-line entry)
•$3x: Y-word parallel, with filtering (3-line entry)
•$6x: X-word parallel, no filtering (2-line entry)
•$7x: X-word parallel, with filtering (3-line entry)
The second digit in the first line of the entry, represented above by ‘x’, specifies how the parallel data at the specified address is to be processed. Currently there are 5 valid values of ‘x’:
•x=0: Shift data so that the least significant bit of the source register as specified in the “bits used” mask word is placed in bit 5 of the processed result.
•x=4: Read the least significant byte from the low byte of the specified address; read the middle byte from the low byte of the (specified address + 1); read the most significant byte from the low byte of the (specified address + 2). This is used for feedback brought in through the ACC-14E 48-I/O board.
•x=5: Read the least significant byte from the middle byte of the specified address; read the middle byte from the middle byte of the (specified address + 1); read the most significant byte from the middle byte of the (specified address + 2). This is used for feedback brought in through the ACC14E 48-I/O board.
•x=6: Read the least significant byte from the high byte of the specified address; read the middle byte from the high byte of the (specified address + 1); read the most significant byte from the high byte of the (specified address + 2). This is used for feedback brought in through the ACC-14E 48-I/O board.
•x=8: Process the data from the source register without any shifting, so the least significant bit of the source register as specified in the “bits used” mask word is place in bit 0 of the processed result.
Time Base Entries ($4x): A time-base entry performs a scaled digital differentiation of the value in the source register. It is a two-line entry. The first line contains a ‘4’ in the first hex digit and the address of the source register in the last four hex digits. Usually, the source register is the result register of an incremental encoder entry higher in the table (addresses $0020 to $003F).
The second line in the entry is the time-base scale factor. The result value equals 2 * Time-Base-Scale- Factor * (New Source Value - Old Source Value). When this entry is used to synchronize a motion program to a master encoder, creating an electronic cam function, this scale factor should be set equal to 217 / Real-Time-Input-Frequency, where the RTIF is expressed in counts per millisecond. The program is then written if the master encoder is always putting out this RTIF.
Triggered Time Base Entries ($9x, $Ax, $Bx): A triggered time-base entry is like a regular time-base entry, except that it is easy to freeze the time base, then start it exactly on receipt of a trigger that captures the starting master position or time.
The source register for triggered time base must be the starting (X) address for one of the machine interface channels on the Station.
20 |
16-Axis MACRO Station MI-Variable Reference |
16-Axis MACRO CPU Software Reference Manual
The following table shows the addresses for each channel on the ACC-24E2x backplane axis boards, and the corresponding ECT entry. The ‘m’ represents the method, either ‘9’, ‘A’, or ‘B’.
Machine |
16-Axis |
Conversion |
Machine |
16-Axis |
Conversion |
Interface |
MACRO |
Table Entry |
Interface |
MACRO |
Table Entry |
Channel # |
Station Base |
|
Channel # |
Station Base |
|
|
Address |
|
|
Address |
|
1 |
$8000 |
$m08000 |
9 |
$9000 |
$m09000 |
2 |
$8008 |
$m08008 |
10 |
$9008 |
$m09008 |
3 |
$8010 |
$m08010 |
11 |
$9010 |
$m09010 |
4 |
$8018 |
$m08018 |
12 |
$9018 |
$m09018 |
5 |
$8040 |
$m08040 |
13 |
$9040 |
$m09040 |
6 |
$8048 |
$m08048 |
14 |
$9048 |
$m09048 |
7 |
$8050 |
$m08050 |
15 |
$9050 |
$m09050 |
8 |
$8058 |
$m08058 |
16 |
$9058 |
$m09058 |
In use, the method byte is changed as needed by setting of the MI-variable. It is set to $90 (e.g. MI129=$908808) before the calculations of the triggered move are started, to freeze the time base. It is set to $B0 (e.g. MI129=$B08808) after the calculations of the triggered move are finished, to “arm” the time base for the trigger. When the Table sees the trigger (the capture trigger for the machine interface channel as defined by MI912 and MI913 for the channel), it automatically sets the method byte to $A0 for running time base.
The second line in the entry is the time-base scale factor. The result value equals 2 * Time-Base-Scale- Factor * (New Source Value - Old Source Value). When this entry is used to synchronize a motion program to a master encoder, creating an electronic cam function, this scale factor should be set equal to 217 / Real-Time-Input-Frequency, where the RTIF is expressed in counts per millisecond. The program is then written assuming that the master encoder is always putting out this RTIF.
Addition/Subtraction of Entries ($E0, $E8): The $Ex entry is used to add or subtract two other entries in the Table. If the method byte is $E0, the two specified entries are added. If the method byte is $E8, the second entry is subtracted from the first.
Bits 0-7 of the entry specify the address offset from this entry to the first entry to be used, as a signed 8- bit quantity. Bits 8-15 of the entry specify the offset from this entry to the second entry to be used. For example, MI131 is to be used to subtract the result values with MI121 from that of MI120, the offset to the first entry is -11 ($F5), and the offset to the second entry is -10 ($F6). Therefore MI131=$E8F6F5.
MS{anynode},MI152 - MI153 |
Phase-Clock Latched I/O |
Range: $000000000000 - $FFFFFFFFFFFF
Units: Extended 16-Axis MACRO Station Y Addresses Default: $000000000000
MI152 and MI153 permit the use of inputs latched by the phase clock on Station I/O boards. This function is used to get reliable parallel-data feedback on the 16-Axis MACRO Station. It is useful mainly on ACC-14E backplane boards.
Note:
Jumper E2 on the ACC-14E backplane board must connect pins 2 and 3 to permit this function.
16-Axis MACRO Station MI-Variable Reference |
21 |
16-Axis MACRO CPU Software Reference Manual
MI152 and MI153 are 48-bit values represented by 12 hexadecimal digits. These digits have the following functions:
Digits |
Function and Setting |
1 & 2 |
3rd I/O ASIC Latch Control (Maps into high bytes; ACC-9E, 10E, 11E, 12E |
|
with E6x connecting rows 4 & 5) |
|
=$C0 for latched inputs |
|
=$00 for transparent inputs or ASIC not present |
3 & 4 |
2nd I/O ASIC Latch Control (Maps into middle bytes ACC-9E, 10E, 11E, 12E |
|
with E6x connecting rows 2 & 3) |
|
=$C0 for latched inputs |
|
=$00 for transparent inputs or ASIC not present |
5 & 6 |
2nd I/O ASIC Latch Control (Maps into low bytes; ACC-9E, 10E, 11E, 12E |
|
with E6x connecting rows 1 & 2) |
|
=$C0 for latched inputs |
|
=$00 for transparent inputs or ASIC not present |
7 |
Number of bytes (1 to 6) on each ASIC (starting with lowest byte) to latch |
8 |
(Reserved for future use; set to 0) |
9 - 12 |
Base address of I/O Board |
|
=$8800 (ACC-9E, 10E, 11E, 12E board w/ E1 ON, ACC-14E) |
|
=$8840 (ACC-9E, 10E, 11E, 12E board w/ E2 ON, ACC-14E) |
|
=$8880 (ACC-9E, 10E, 11E, 12E board w/ ON, ACC-14E) |
|
=$88c0 (ACC-9E, 10E, 11E, 12E board w/ E4 ON, ACC-14E) |
Examples:
MS0,MI153=$0000C0308840 |
; Latches inputs on 1st ASIC, 1st 3 bytes, of an |
|
|
|
; ACC-14E board with base address $8840 |
|
|
|
MS{anynode},MI154 - MI160 |
(Reserved for Future Use) |
|
|
|
|
MS{anynode},MI161-MI168 |
MLDT Frequency Control |
|
Range: |
$000000 - $FFFFFF |
|
Units: |
PFMCLK cycles |
|
Default: |
0 |
|
|
MI161 (1st motor node: Node 0) |
MI162 (2nd motor node: Node 1) MI163 (3rd motor node: Node 4) MI164 (4th motor node: Node 5) MI165 (5th motor node: Node 8) MI166 (6th motor node: Node 9) MI167 (7th motor node: Node 12) MI168 (8th motor node: Node 13)
MI161 through MI168 (MI16x) on the 16-Axis MACRO Station permit the ‘C’ output channel associated with the MACRO motor node (MI16x controls the xth motor node, which usually corresponds to Motor x on PMAC) to put out a specified output frequency, starting immediately on power-on/reset, for the purposes of creating an excitation signal for an MLDT sensor.
If MI16x is set to 0, this function is not enabled, and the ‘C’ output channel can be used for servo control functions such as PFM stepper control or direct PWM servo control.
22 |
16-Axis MACRO Station MI-Variable Reference |