API Developers Guide 8520-pm003 - En-P
API Developers Guide 8520-pm003 - En-P
AllenBradley
9/Series OCI
API
(85209API)
Developer's
Guide
Chapter 1
Open Control Interface (OCI) Overview
OCI Data Server Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Your DDE Compliant Application Program . . . . . . . . . . . . . . . . . . . 1-2
DDE Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
The OCI Data Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
OCI Data Server Read Data Requests . . . . . . . . . . . . . . . . . . . . 1-4
OCI Data Server Write Data Requests . . . . . . . . . . . . . . . . . . . . 1-4
OCI Data Server Command Requests . . . . . . . . . . . . . . . . . . . . 1-5
OCI Data Server Return and Error Codes . . . . . . . . . . . . . . . . . . 1-5
Status of Commands and POKE Data Items . . . . . . . . . . . . . . 1-6
Errors on Automatic Items . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Errors on Manual Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
RSLinx OEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Your Development Tool (Visual Basic) . . . . . . . . . . . . . . . . . . . . 1-7
Special API Development Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
RSLinx JBOX and RSData.OCX . . . . . . . . . . . . . . . . . . . . . . . . 1-7
OCI Basic Display Set Source Code Routines . . . . . . . . . . . . . . . 1-8
Chapter 2
DDE Data Server Examples
DDE Conversation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
DDE Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Topic Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Item Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Using Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Reading Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Writing Data (POKE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
DDE Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Using Microsoft Excel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4
Chapter 3
OCI Basic Display Set (BDS)
Basic Display Set Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Installing the Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Installing RSData Custom OCX . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Source Code Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
Basic Display Set Source Code Overview . . . . . . . . . . . . . . . . . . . 3-5
Basic Display Set Screen Construction . . . . . . . . . . . . . . . . . . . . . 3-6
Basic Display Set Basic Modules . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7
Using MASTERM.FRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Template to Create a Display Form . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Making a Copy of MASTER.FRM . . . . . . . . . . . . . . . . . . . . . . . . 3-8
MASTER.FRM Recommended Subroutines . . . . . . . . . . . . . . . . 3-10
Managing Errors on your Form . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
OCI Data Server Overview This chapter contains an overview of the OCI system and how it uses
Windows DDE and RSLinx software to establish
communications between the OCI data server and the 9/Series or
9/PC CNCs.
Once the OCI data server and RSLinx software for 9/Series CNCs
have been configured and launched, your DDE–compliant
application (for example the OCI Basic Display Set) can read and
write data and execute commands on networked CNCs.
Your DDE-compliant applications can access the data from the OCI
data server by establishing a DDE link to the Server through the
application’s link function. The basic display set uses the
RSJunctionBoxt utility for AdvancedDDE communications.
RSJunctionBox is optional for your own application based upon your
applications performance requirements.
The OCI data server uses RSLinx software to access the processor(s)
through Windows TCP/IP Ethernet tools. This access does not apply
for the 9/PC.
Your DDE compliant 9/Series Basic Your DDE compliant 9/Series Basic
Application Display Set Application Display Set
RSJunctionBox RSJunctionBox
9/Series OCI OCI CNC part Program OCI Data OCI CNC Part Program
Data Server File Handler Server File Handler
RSLinx abcnccom.dll
9/PC Support
Ethernet Service
9/Series 9/PC
Processor(s) PCI Drivers)
PCI Bus
9/PC
Processor
The Basic Display Set included with the OCI package is an example
of a DDE compliant application program. The basic display set is a
compiled visual basic program and is discussed later in this manual.
The visual basic source code for these default screens is available as
an option through your Allen-Bradley sales office.
DDE Overview
The implementation of DDE uses a data server (called the OCI data
server) to send and receive data from the CNC. This data server
provides a DDE interface so other DDE compliant Windows
applications can access data as though the CNC information was
from a local DDE device.
ABOCISERVER
For the Allen-Bradley OCI data server, a topic is an ethernet alias for
a specific 9/Series CNC. Refer to your OCI Installation Guide for
details on establishing 9/Series ethernet topic names. This alias is
identified in the OCIDSCFG.INI file as the TopicId.
For 9/PC CNCs, the topic name is used to identify a 9/PC (located in
the host computer) to facilitate communication between the 9/PC
CNC executive and various client applications and services running
on a PC. TopicId for the 9/PC CNC is set in the Configuration
Manager.
The OCI Data Server Once installed and executing, the OCI data server is used to converse
between a 9/Series CNC (using RSLinx) or 9/PC CNC and your
application program (using DDE). Refer to your OCI Installation
Manual or 9/PC Installation and Integration Manual for details on
OCI installation and configuration.
The OCI data server provides a DDE interface for your application
program from a specific CNC. The service name for the OCI data
server is:
ABOCISERVER
Your OCI application can request data from the CNC. Read requests
can be automatic or manual. Automatic items are added and
maintained on a watchlist at the control. Manual items are placed on
the watchlist just long enough to report the current value of the item.
Refer to page 4–1 for details on reading data items.
Poke requests are only honored by the CNC when they are made
from the data servers controlling OCI station. Refer to the API data
item chapter in this manual for details on requesting control.
CNCs that are off-line or powered down will not respond to the
requests that the OCI data server is sending them. The OCI data
server will retry a read, write, or command transaction if the
processor is on-line but currently busy. If the OCI data server detects
a severe error, such as no response from the processor, the OCI data
server will stop trying to communicate to the device. After a time
specified in the 9/Series data server’s INI file for the 9/Series CNCs
and in the Configuration Manager for 9/PC CNCs, the OCI data
server will again try to contact the processor. If it fails again, the OCI
data server will repeat the process until the failure no longer exists.
A copy of RSLinx OEM comes with each OCI system you purchase
from Allen–Bradley. RSLinx is not included with the development
tool. For each OCI station that you create or ship you must purchase
an additional RSLinx license for that station. Contact your Rockwell
Automation sales representative for additional RSLinx licenses.
Your Development Tool Many development tools are available to enhance your machine
(Visual Basic) interface as well as document machine statistics, etc. This manual is
written assuming the use of Microsoft’s Visual Basic development
tool.
Special API Development When we developed the basic display set we took advantage of
Tools several special development tools to simplify development and
improve performance of our application.
Included with the basic display set package is the JBOX.DLL which
is required to allow this custom control to function. You must
include this DLL with any OCI software you ship that uses the basic
display set.
JBoxDestroyInactiveParts
When an item is requested of the OCI data server using the RSdata
JBox control it is added to the watchlist on the specified control.
Because of the nature of more typical JBox applications when the
request for this data from the application no longer exists JBox does
not normally terminate the request for this item. Since watchlist
space on the CNC is limited even a small application will quickly
run out of watchlist space. To prevent this scenario we used an
undocumented attribute of JBox called JBoxDestroyInactiveParts.
This attribute will remove any inactive automatic links from the data
server which than removes it from the CNC watchlist.
JBoxDestroyInactiveParts (True)
Important: This function call must be made only after the first
RSData link data item is placed as an Automatic Item in
the watch list.
The OCI basic display set source code contains many useful
subroutines that will make data retrieval, command requests, and
data formatting simpler. Refer to page 3–1 for details on this source
code and its subroutines. Printing functions and debugging routines
are also available in this source code.
DDE Server
“ABOCISERVER”
This is the server name registered in Windows when you launch the
9/Series or 9/PC OCI data server.
Topic Name
“CNC_1”
The rest of this chapter assumes this is the alias you are using. Refer
to your 9/Series OCI Installation Manual for details on configuring
the INI file for 9/Series OCI or the Configuration Manager in the
9/PC Installation and Integration Manual for configuring the 9/PC.
Item Name
The item name for the 9/Series or 9/PC data server can be either a
data item (refer to chapter 3 or appendix A) or a command (refer to
chapter 4 or appendix B). For example:
AVAILABLE_MEMORY
Using Visual Basic Several different VB objects can be used to create DDE links to a
DDE server. Refer to your VB instruction manual for these items.
For the following example we created a text box on the VB form and
named that text box ”X_RAW”. This text box then stores the data
returned from the data server (X_RAW.Text). It is important to
remember that if the command fails or is invalid for some reason the
string “Server Error [code]” for the connection will also be returned
as the text value for this text box. Your code should test the value of
your DDE objects to identify and handle errors appropriately.
Reading Data
In Microsoft Visual Basic the Service and Topic are included in the
same property separated by a pipe character and enclosed in quotes.
This example simply gets the raw value of the axis 1 position (no
decimal point). Later you’ll need to format this data as determined
by your system configuration before passing it on to users.
Once these four lines of code are executed, the value (X_raw.Text)
will automatically be updated by the 9/Series or 9/PC whenever the
data changes. This is accomplished by the 9/Series or 9/PC adding
this data item to a watch list stored on the 9/Series or 9/PC. When a
piece of data changes that’s included on the watchlist the 9/Series or
9/PC automatically passes the new value to the OCI data server
which then passes it on to the appropriate application (in our case
Visual Basic).
Note that since we are using a PAL/Logic flag in this example the
control’s PAL/Logic program still has the ability to overwrite items
sent to the control. PAL/Logic always wins when conflicting writes
occur to a flag since they are written immediately before the
PAL/Logic scan. In this case unless your PAL program is written to
repeatedly write a zero to $ESTOP every scan or to write a
True–or–False to your Logic program, it shouldn’t be a problem but
you should keep it in mind when writing to PAL/Logic variables
through the OCI DDE interface.
DDE Commands
Using Microsoft Excel MS Excel is also capable of performing DDE conversations with the
OCI data server. This can prove a useful tool to collect data for
statistical analysis of your machine process. The following example
shows a cell in Excel that is used to store the accumulated tool life
though any valid OCI DDE could be substituted for the item name.
The syntax for a DDE call in Excel is all placed as an equation in the
desired cell. The equation defines the DDE Application, Topic, and
data item. The equation syntax is as follows:
=Application|Topic!’ItemName’
=ABOCISERVER|CNC_1!’TM_ACCUMULATED_LIFE,3’
Basic Display Set The Basic Display Set is the standard OCI application software that
Overview comes with your OCI system. This Windows–based application
program is the standard operator interface to your CNC. It is
designed to run in Windows NT and communicates with the OCI
DDE data server.
Installing the Source Code The Basic Display Set was developed using Microsoft Visual Basic
Pro development tool. You should be familiar with Visual Basic
Pro, Windows programming, and the concepts behind dynamic data
exchange (DDE).
The source code for the Basic Display Set comes on 3.5–inch floppy
disks labeled “Basic Display Set Source Code”. Use the following
procedure to import this source code to your Visual Basic
Application:
1. Insert the first disk of the Basic Display Set source code into your
disk drive.
2. Select the “Run” option from the Start menu.
3. Enter in the Run dialog:
A:SETUP
where A: is the name of the drive containing disk one of the Basic
Display Set source code.
4. Follow the setup instructions as prompted on the screen.
Important: During the setup process you will be prompted for a
destination directory for this source code. It is
important that you choose the same directory that was
used to load the Basic Display Set executable. The
Basic Display Set executable installation contains data
files (not included with the source code) that are
necessary to build a working OCI system. The default
setup directory for both the Basic Display Set
executable and source code is C:\ABOCI or c:\ab9PC
depending on the system the Basic Display Set was
developed for (9/Series or 9/PC).
When the setup utility is complete the Visual Basic Pro project file
ABOCI.VBP is installed in the source code directory. Before you
can open this project in Visual Basic, you must first install the
custom OCX called RSData. This custom OCX is an improved DDE
tool used extensively in the Basic Display Set source code.
Installing RSData Custom RSData is a Microsoft OLE custom control (OCX) created by
OCX Rockwell Software. The RSData control is designed to be used with
any Dynamic Data Exchange Server and provides enhanced
performance when used with applications that conform to
AdvanceDDE protocol. This custom OCX is used extensively in
the Basic Display Set source code.
Source Code Directory The Basic Display Set pulls data from a variety of subdirectories
Structure created during the setup of both the Basic Display Set executable and
source code. This directory structure must be maintained to properly
compile the source code. These subdirectories of the source code are
as follows:
Data Files
Basic Display Set Source The Basic Display Set was developed using Microsoft’s Visual Basic
Code Overview Pro development tool. Assuming you have already installed the OCI
source code, open the OCI project (ABOCI.VBP) using Microsoft’s
Visual Basic Pro. You should see a project window similar to the
following:
This project window gives you access to the display forms and code
used to compile the Basic Display Set screens. Each form typically
represents a specific 9/Series or 9/PC screen.
Basic Display Set Screen The majority of the 9/Series or 9/PC Basic Display Set screens are
Construction laid out using a combination of overlaying forms. The forms used to
build a typical 9/Series or 9/PC screen include:
System Information
Display Form
Softkey Area
Basic Display Set In addition to the standard forms several basic modules can be found
Basic Modules in the ABOCI.VBP. The function of these basic modules is:
Using MASTERM.FRM Also include with the Basic Display Set source code are three forms
Template to Create a used as templates to create the majority of the other display forms in
Display Form this Visual Basic project. These forms are found with the rest of the
Basic Display Set forms in the FRM sub–directory of your Basic
Display Set source code. We call these “master” forms. They are:
Since the master forms are a good place to start for creating any
additional screens in the Basic Display Set, it is probably a good idea
to use a copy of these forms instead of editing them directly. This
will always give you a clean starting point for any additional forms
you need to create.
When you develop your new screen we recommend you use the
following subroutines to properly integrate your form into the Basic
Display Set.
Exit Sub
Program Error:
WriteErrors string , Err, debug, errorFile
Resume Next
End Sub
Where:
debug – is the string you want to pass on to help debug the error
condition. We recommend you use the name of the form and its
sub name.
Using the Softkey Editor Also included with this source code is the softkey editor utility. Use
Utility this utility whenever you need to add, remove, rename, or replace a
softkey in the Basic Display Set softkey structure. Though possible,
it is not recommended that you attempt to edit the softkey structure
without using this utility. You must have installed the Basic Display
Set source code before you will be allowed to use the softkey editor.
This procedure assumes you already have Visual Basic active with
the source file ABOCI.VBP open. To use the softkey editor utility:
1. Access the search utilities from the “Setup” menu in the Basic
Display Set. The “Setup” menu is only available when the source
code is loaded in the same directory as the Basic Display Set and
the variable SETUPMenu is set to True. Set this variable by
either:
• Manually change the variable in source code
(SETUPMenu is found in Global.Bas InitGlobals) or
• Manually change the variable FINAL_EXE to False
2. From the Visual Basic Run menu select “START”. The source
code should load and begin running. You should have the OCI
workstation connected to an OCI compatible CNC and the OCI
data server active or have your 9/PC running via the 9/PC
Configuration Manager. If the Basic Display Set can not find the
default CNC you have selected you will be prompted to select
another CNC to connect.
You should see the power turn–on screen. Pressing [Enter]
should display the program position display.
3. From the executing screen Setup menu, select “Softkeys”.
The basic displays should show the softkey edit tools after
loading the text files for all valid languages. The softkey edit
tools are shown in the following figure.
K/S Button
Initially this button is set to K, which indicates the pointer field
beneath the softkeys is showing the softkey key numbers. Pressing
this button again changes it to S, which indicates the pointer field
shows the screen number.
To edit the text for any softkey click on the appropriate “Edit Softkey
Text” button (button shown just to the right of the softkey text you
wish to change). An “Enter Text” window opens up showing the
current text for that softkey in all languages available on that system.
Softkey text can not contain more then 12 characters including any
spaces. The first six characters entered go on the first line of the
softkey, use spaces to move any text to the second line.
Must be in Key
Edit Mode (K)
Softkey Row Pointers (fields 1 thru 7)
Creating/Editing a Softkey
Must be in Key
Edit Mode (K)
Create New Softkey Pointer (buttons 1 thru 6)
2. If you haven’t already entered text for this new softkey you are
prompted for text for the softkey in the available languages.
Key – select “KEY” if you are entering a softkey only that will
not call another row of softkeys. Note this key can still call a new
screen.
Row – select “ROW” if you are entering a softkey that is to call a
new (or existing) row of softkeys.
4. After deciding if you are entering a key or row you are prompted
to add a screen number. If this softkey is to call a new form you
should select “Yes”.
Inserting a New Screen Screens for the Basic Display Set are called by softkey events.
When you add a new softkey using the softkey editor (Create New
Softkey Pointer) you are prompted to add a screen number as shown
above.
When you select yes to add the softkey screen number the source
code adds a screen pointer to the softkey structure. Note the screen
pointer added is always the same number as the softkey pointer (see
page 3–17 for details on screen pointers).
To edit, view, or change the screen pointer for a softkey, view the
screen pointer by clicking on the K button to toggle it to S (screen
mode). Change the pointer manually as discussed in the next
section.
Must be in Screen
Edit Mode (S)
After you have completed the necessary changes to the softkey tree
and screen pointers added you must save and exit the softkey editor.
Exit the softkey editor by selecting “Softkey Tree” under the “Setup”
menu.
Once you have added the necessary softkey and screen pointers you
must make modifications to your source code to call the proper
screens. Screens are called using two subroutines of the Basic
Display Set:
SetSPDPointer
You should not need to edit this file unless there are special
conditions you wish to apply to determine when and what screen is
loaded when a softkey is pressed. For example you may want to
add a condition that prohibits access to a servo configuration screen
when running a program.
The Case Else statement at the end of this routine sets the variable
ScreenNumber = PD (PD_PTR).ScreenNum. The variable
ScreenNum is the screen number pointer assigned in the softkey tree
(see page 3–17) so by default this routine loads the assigned screen
number to the variable ScreenNumber whenever the softkey is
pressed. PD_PTR numbers are assigned in the file
PD_NUMS.BAS.
LoadScreenForm
This subroutine ,found in the file Softkey.BAS, is used to load the
final form. This routine uses the “ScreenNumber” variable assigned
in SetSPDPointer to determine what screen should be loaded. A
series of Case statements are used to define two variables which load
the appropriate form, CurrentForm (a form), and CurrentFormName
(a string).
Using the Text Find Utility To improve flexibility of our source code, screen text and prompts
are not directly entered on any screens. Instead they are entered in
different language text files and each screen calls the required piece
of text from the appropriate file by a pointer when needed.
Unfortunately this can make it difficult to identify exactly what text
is to be displayed on what screen when writing code since only a file
pointer is available on the screen.
The Basic Display Set source code has a search utility which allows
you to change text or prompts on any of the standard 9/Series screens
as well as identify the text pointer numbers.
Prompt Search – If you select “Prompt” search from the setup menu
you will be searching for prompts (such as MDI: or CHANGE
VALUE:). Prompts are text strings used to request an operator input
of some type.
Text Search – If you select “Text” search from the setup menu you
will be searching for text used to build the standard screens (such as
ACTIVE PROGRAM or MEMORY).
After you have selected your search type the softkeys are removed
from the screen and replaced with the following search dialog:
Press the “EDIT” button to change the text for an already found
pointer number. Press the “NEW” button to add a new text pointer
with a new text string to the language files.
After you have completed the necessary changes to the text and
prompt files you must save and exit the utility.
Using the Print Utilities The Basic Display Set provides a print utility to help you document
your application. This utility writes the requested data to a file for
printing or use in a spread sheet. The following items can be printed
to a file:
When you select the desired print option the Basic Display Set
creates, or overwrites if the file already exists, a data file containing
the text, corresponding pointer number, and other relevant
information. File naming convention is as follows:
File Extension
Softkey
Language File Name Error MSG Prompts Text SPD_Ptr's
Tree
English English .err .pmp .sft .stx .spd
German Deutsch
French Francais
Italian Italian
Spanish Espanol
A file is created only for the currently active language on the Basic
Display Set. Use the {SWITCH LANG} softkey to change the Basic
Display Sets displayed language and create different language print
files.
Since the pointer file PD_PTR’s is identical for all languages the
print PD_Ptr’s selection always creates the file PD_ptr.pd.
The error text file shown in the next figure lists the error message
text strings and their respective error pointer numbers.
The following screen shows the PD_Ptr.pd file. The same file is
generated for all languages. The file header contains a key
identifying the pointers. These pointers are defined in SK_NUMS,
PR_NUMS, and SR_NUMS and found in the (language).SPD
printouts. Each pointer is separated with a comma and spaces.
Testing and The Basic Display Set has built in testing and debugging utilities that
Debugging Utilities can simplify diagnosing problems with your modifications. There
are two different utilities provided:
Debugging Utility
This utility writes program errors, data linking errors, and data poke
errors to their respective files. When this utility is enabled it creates
the following files:
Data Item Format Each OCI data item is presented in the following format:
Data Type The data type for a OCI data item determines how the data is
returned from the control to the OCI. You define variables according
to this data type. Requesting the wrong data type for a data item to
the control can return invalid data or an error. Valid data types
include:
Read/Write R indicates the data is read only (passed from CNC to OCI). W
indicates the data is write only (passed from the OCI to the CNC).
R/W indicates the data is both read and write. Errors are generated if
you attempt to write data to a read only OCI data item.
Write privileges for commands and API data items are reserved for
the controlling OCI station. You must first successfully issue the
REQUEST_CONTROL command before write requests will be
accepted by the OCI station. Refer to the command chapter for
details on issuing the REQUEST_CONTROL command.
Array Indexes Some OCI data items are accessed as arrays. The format for the
majority of these arrays can be broken down into just a few array
indexes. The array index is called out with each data item. The
following presents the format for the most common arrayed data.
This is not an inclusive list. Other less frequently used array indexes
are used and described with the data items or commands that use
them.
Many of the data items are two dimensional arrays and would thus
have two array indexes associated with them. For example the data
item TOOL_LENGTH_WEAR_OFFSETS is a two dimensional
array using the indexes OFFSET_NUM and AXIS_NUM to define
its boundaries. Making the following data request of the server:
TOOL_LENGTH_WEAR_OFFSETS,2,3
requests the tool length wear offset number 2 for axis number 3.
AXIS_NUM
AXIS_NAME,2
returns the text string axis name for the second axis. Calling the data
item:
AXIS_NAME,2–4
calls the text string for the axis names 2, 3, and 4. The values are
separated by a | (or tab) character.
SPINDLE_NUM
SPIN_SPD_VALUE,2
returns the LREAL value representing the active spindle speed for
spindle number 2.
SPIN_SPD_VALUE,2–3
returns the LREAL values representing the active spindle speed for
spindle number 2 and 3. The returned values are separated by a |
(tab) character.
NUM_CNC_DIRECTORIES
For example the data item NUM_FILES, which returns the number
of part programs that exist in a specific directory, uses this array
index to determine which directory you are requesting information.
NUM_FILES,2
SERVO_MODULES
SERVO_FW_REVISION,2
SERVO_NUM
For example the data item SERVO_NAME, which returns the name
of the servo as configured in AMP, uses this array index to determine
which servo you are referencing.
SERVO_NAME,6
returns the SINT value representing the axis name of the number six
axis configured in AMP.
M_MODAL_GROUP
M_CODE_STATUS,4
returns:
If this Group 4
Returned Value
Mcode is Active:
M00 0
M01 1
M02 2
M30 30
G_MODAL_GROUP
G_CODE_STATUS,4
returns:
If this group 4
Returned Value
Gcode is Active:
G22 220
G22.1 221
G23 230
G23.1 231
SETUP_BUFFERS
ACTIVE_PART_PROGRAM_BLOCKS,2
NUM_PP_FILES
O123456
DRVSHAFT
RRIGHT47
FILE_NAME,1,3
OFFSET_NUM
TOOL_NUM
Control Type The “Control Type” attribute indicates the application(s) for which a
particular data item can be used: either:
• Mill,
• Lathe
• Grinder 1
Important: 1
Grinder type control is not available for Release 1 of
the 9/PC.
The entire dual processing system is not available for Release 1 of
the 9/PC CNC. The single processing system is available on both the
9/Series and the 9/PC CNC. Some data items are not available on
the dual processing system or are not available on the single
processing system. These are indicated as:
(dual-process only) or
(single-process only)
Link Type Your OCI application program must choose the link type to be used
based on your specific data needs. When you create an OCI
application program, you must choose the link type that meets your
needs. If your OCI application program requests a:
RSLinx
●
1
DDE Application
●
3
●
2 ●
1 The DDE Application requests the current data value for an
item contained in the OCI Server.
9/Series
CNC ●
2 The Server reads the current value from the processor
containing the item data point through RSLinx.
●
3 The Server sends the current value of the item to the DDE
2 Application.
9/PC ●
2 ●
1 The DDE Application requests the current data value for an
item contained in the OCI Server.
CNC
●
22 The Server reads the current value from the 9/PC
processor containing the item data point.
●
3 The Server sends the current value of the item to the DDE
2 Application.
RSLinx
●
1
DDE Application
●
3
9/Series
●
2 ●
1 The DDE application requests an automatic data item
from the OCI server. The data server requests the
control add the data item to the 9/Series watch list.
CNC
●
2 The CNC adds the data item to the watch list
and sends the current value of the data item
back to the OCI server.
●
3
The 9/Series sends the value to the OCI data server
whenever the item value changes. The OCI server then
passes the new value on to the DDE Application. The
9/Series continues to update the OCI data server every
time the value of the data item changes as long as the
item remains in the 9/Series watchlist.
9/PC
●
2 ●
1 The DDE application requests an automatic data item
from the OCI server. The data server requests the
control add the data item to the 9/PC watch list.
CNC
●
2 The CNC adds the data item to the watch list
and sends the current value of the data item
back to the OCI server.
●
3
The 9/PC sends the value to the OCI data server
whenever the item value changes. The OCI server then
passes the new value on to the DDE Application. The
9/PC continues to update the OCI data server every
time the value of the data item changes as long as the
item remains in the 9/PC watchlist.
Once your DDE application makes a DDE request to the OCI data
server, the data item is added to a watchlist maintained by the CNC.
New items are added and old items are removed from the watch list
as requested by the OCI data server. Once the CNC has a watch list
it monitors the specified items in the list for changes. When a
change occurs to a piece of data, the processor (after waiting a
configurable number of coarse iterations) sends the OCI data server
the new information.
If multiple OCI data servers are running on the network, there can be
multiple watch lists on any one control. The 9/Series control is
capable of maintaining multiple watch lists (up to 4 different OCI
stations) and will return data as needed to the appropriate OCI
station. The 9/PC can maintain watchlists for only one data server.
As more items are added to the watch list, more processing time is
required from the processor. We recommend keeping the watchlist
as small as possible to prevent performance degradation and out of
room on watchlist errors. Though most OCI applications make a
negligible change in performance you should not unnecessarily load
the system up with requests for data until that data item is actually
needed. The maximum combined number of data items that any
processor can maintain on all watch lists is based on what data items
are in the watch list as well as remaining control memory.
●
2
9/Series
CNC ●
1 The DDE Application sends a value to the
OCI Server for a data item.
●
2 The Server sends the new value to the
processor containing the data item via RSLinx.
●
2
9/PC
CNC
●
1 The DDE Application sends a value to the
OCI Server for a data item.
●
2 The Server sends the new value to the
processor containing the data item.
Background/Foreground All data items are monitored in the controls background unless
otherwise indicated in the text describing the data item. Foreground
and Background speed is related to the system scan time. The
system scan time for the control is set in AMP. You can set the
system scan time in increments of 2 ms from 6 to 30 ms.
Foreground tasks occur during each system scan time. Data items
are hard coded in the processor as foreground or background. Only
the following data items are foreground items:
• ESTOP_STATE
• Select PAL/Logic system flags (ones that are foreground only)
The rate at which the CNC tests and reports data changes for OCI
watchlists is configured in AMP. Refer to your AMP Reference
Manual for details.
Important: Release 1 of the 9/PC can support only one data server.
Selecting the Process for The 9/Series provides a dual process option which allows the use of
Dual Process Controls the 9/Series to control multiple processes. Many API data items and
commands present different data based on the process you are
looking at. Refer to appendix A and B to identify if your API data
item or command is available in two different process.
NUM_AXES.1
NUM_AXES.2
The default for all per process commands and API items is always
process 1 so the API item:
NUM_AXES
AXIS_NAME.2,2–3
Logical vs Physical Axes All data items for axes are presented in the OCI API in “logical”
order with the exception of some AMP parameters which are defined
in physical axis terms. For example the data item
“DRILLING_AXIS_LOGICAL_BIT_PATTERN” is an example of a
axis data returned as a logical bit pattern.
Logical axis refers to the order that the axis are presented in the
process. For single process controls this is not much of an issue with
the exception of spindles and virtual axes which are always stored as
the last axes in the process.
Physical axis refers to the order in which the axes are created using
the ODS AMP tool and are independent of the process the axes are
assigned to.
Physical Axis
Process Logical Axis Logical Axis
Number (order
Assigned Process 1 Process 2
AMPed)
Axis 1 X Process 1 1
Axis 2 Y Process 1 2
Axis 3 Z Process 1 3
Axis 4 U Shared 4 1
Axis 5 A Process 2 2
Axis 6 B Process 2 3
Axis 7 C Process 1 5
If looking at process 1 data item:
“DRILLING_AXIS_LOGICAL_BIT_PATTERN.1” axis data would
be returned in the bit pattern as X, Y, Z, U, C in the first five bits.
AMP Parameter
Data Items
@parameter_num
Data Type LREAL
Read/Write Read/Write (patch AMP only) Read (others)
Array Index none
Control Type Lathe/Mill/Grinder1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Follow the @ symbol with the AMP parameter number you want to
edit. Refer to your AMP reference manual for details on AMP
parameters and their respective QuickEdit numbers.
Before you can make write to AMP parameters you must first
execute a MODIFYING_AMP command request. When your
changes are complete execute an UPDATE_AMP command to close
the AMP file. After completing AMP changes with this data item
you must cycle power to the control for the change occur.
Exceptions to this are online AMP parameters that can be set real
time (such as servo motor integral and proportional gain values).
Online AMP parameters are provided as separate API data items,
found under their corresponding topic, later in this chapter or
appendix A.
AMP_PARAMETER_DATA_TYPE patchAMP_num
Data Type USINT
Read/Write Read
Array Index patchAMP_num
Control Type Lathe/Mill/Grinder1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This data item is used to identify the data type (format) for AMP
parameters that can be accessed using the patch AMP feature. The
patchAMP_num argument is the number of the patch AMP
parameter to identify, not the quick edit number or parameter number
(see AMP_PARAMETER_NUMBER). The
AMP_PARAMETER_DATA_TYPE item returns an enumeration
identifying the data type as follows:
Enumeration Result:
0 Short
1 Unsigned Short
2 Long
3 Unsigned Long
4 Quad
5 Unsigned Quad
6 Float
7 Double
8 Unsigned Character
9 ASCII Character
For example:
AMP_PARAMETER_DATA_TYPE,1
returns the data type enumeration for patch AMP parameter number
1. Use AMP_PARAMETER_NUMBER to identify the actual AMP
parameter associated with patch AMP parameter number 1.
AMP_PARAMETER_NUMBER patchAMP_num
Data Type UINT
Read/Write Read
Array Index patchAMP_num
Control Type Lathe/Mill/Grinder1
1 Grinder Control Type is not available for Release 1 of 9/PC.
AMP_PARAMETER_NUMBER, 1
returns the value 11 indicating that AMP parameter with the quick
edit number of 11 is the first patch AMP parameter.
NUM_PATCHABLE_AMP_PARAMETERS
Data Type UINT
Read/Write Read
Array Index patchAMP_num
Control Type Lathe/Mill/Grinder1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Axis Calibration
Data Items
AXISCAL_ABS_POS, point_num, axis_num
Data Type LREAL
Read/Write Read only
Array Index point_number, axis_number
Control Type Lathe/Mill/Grinder1
1 Grinder Control Type is not available for Release 1 of 9/PC.
axis_num – this index identifies the logical axis number for which
you are requesting axis calibration data. Axis numbers are
determined by your AMP configuration. You can only make
requests for one axis at a time. Use the axis number in this request.
Axis names are not valid.
AXISCAL_ABS_POS,1–34, 1
axis_num – this index identifies the logical axis number for which
you are requesting axis calibration data. Axis numbers are
determined by your AMP configuration. You can only make
requests for one axis at a time. Use the axis number in this request.
Axis names are not valid.
AXISCAL_MEAS_DEV_AMOUNT,5–6, 2
AXISCAL_POINTS_USED, axis_num
Data Type UINT
Read/Write Read only
Array Index axis_number
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
axis_num – this index identifies the logical axis number for which
you are requesting the number of axis calibration points. Axis
numbers are determined by your AMP configuration. You can
address multiple axes with one command. An error is returned if a
request is made to an invalid axis name. Use the axis number in this
request. Axis names are not valid.
AXISCAL_POINTS_USED,1–4
AXISCAL_POINTS_FREE
Data Type UINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
AXISCAL_STATUS
Data Type INT (bit pattern)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
AXISCAL_STATUS
could return the integer 4 which would indicate only axis three has
axis calibration enabled (00000000100).
Communication Port Important: The data items in this section apply to 9/Series controls
Data Items only.
PORT_BAUD_RATE, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
This item is used to read/write the communication baud rate for the
specified port. The index port_id identifies the port as follows:
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_BAUD_RATE, 1
PORT_PROTOCOL, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_PROTOCOL, 1
Not all devices support all of these protocol options. Refer to your
hardware specification manual valid protocol types.
PORT_TYPE, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
This item is used to read/write the type of port for port B (note port
A is always RS–232). The index port_id identifies the port as
follows:
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_TYPE, 2
PORT_COMMUNICATION_FORMAT, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_COMMUNICATION_FORMAT, 2
PORT_PARITY, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
This item is used to read/write the parity used for the specified
communication port. The index port_id identifies the port as
follows:
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_PARITY, 2
PORT_STOP_BITS, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
This item is used to read/write the number of stop bits used for the
specified communication port. The index port_id identifies the port
as follows:
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_STOP_BITS, 2
PORT_DATA_BITS, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
This item is used to read/write the number of data bits used for the
specified communication port. The index port_id identifies the port
as follows:
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_STOP_BITS, 2
PORT_AUTO_FILENAME, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_AUTO_FILENAME, 2
enables the auto filename feature for port B. The N/A enumeration
is only available for tape devices that do not support this feature.
PORT_STOP_AT_PROGRAM_END, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_STOP_AT_PROGRAM_END, 2
PORT_REWIND_ON_MO2_M30, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_REWIND_ON_M02_M30, 2
PORT_REWIND_ON_M99, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_REWIND_ON_M99, 2
PORT_PERCENT_SELECTION, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_PERCENT_SELECTION, 2
PORT_PROGRAM_NAME, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_PROGRAM_NAME, 2
PORT_TIMEOUT_VALUE, port_id
Data Type INT (enumerated)
Read/Write Read/Write
Array Index port_id
Control Type Lathe/Mill/Grinder
This item is used to read/write the timeout value used for the
specified communication port. The index port_id identifies the port
as follows:
1 – port A
2 – port B
The port_id index must always be used with this data item. You can
not use this index to access more than one port per request. Data for
this item is enumerated as follows:
PORT_TIMEOUT_VALUE, 1
RX_CHAR_PORTA(rx_char_size)
Data Type USINT
Read/Write Read only
Array Index see RS232 charts
Control Type Lathe/Mill/Grinder
RX_CHAR_PORTB(rx_char_size)
Data Type USINT
Read/Write Read only
Array Index see RS232 charts
Control Type Lathe/Mill/Grinder
HARDWARE_STATUS_PORTA
Data Type USINT (bit pattern)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder
This
Indicates:
Bit:
0 CTS
1 RTS
2 (not used)
3 (not used)
HARDWARE_STATUS_PORTB
Data Type USINT (bit pattern)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder
This
Indicates:
Bit:
0 CTS
1 RTS
2 DSR
3 DTR
LEVEL_2_STATUS_PORTA
Data Type USINT (bit pattern)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder
This This
Indicates: Indicates:
Bit: Bit:
0 dc1 (receive) 4 dc1 (transmit)
1 dc2 (receive) 5 dc2 (transmit)
2 dc3 (receive) 6 dc3 (transmit)
3 dc4 (receive) 7 dc4 (transmit)
LEVEL_2_STATUS_PORTB
Data Type USINT (bit pattern)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder
This This
Indicates: Indicates:
Bit: Bit:
0 dc1 (receive) 4 dc1 (transmit)
1 dc2 (receive) 5 dc2 (transmit)
2 dc3 (receive) 6 dc3 (transmit)
3 dc4 (receive) 7 dc4 (transmit)
UART_MAX_BAUD_MODE
Data Type USINT
Read/Write Read/Write
Array Index none
Control Type Lathe/Mill/Grinder
Use this data item to select the maximum configured baud rate for all
devices connected to the UART port. Refer to your users manual for
details on why this baud rate needs to be selected. Setting a value of
176 selects a max baud rate of 19.2 kbaud. Setting a value to this
item at 48 selects a max baud rate of 38.4 kbaud. Values other than
176 or 48 are ignored.
The sign bit for this word is toggled after each error condition
(except 3000) to allow the PC to identify a transition in this value in
the event multiple commands execute on the CNC quickly. To
identify the actual error you must strip the most significant bit from
this items value. Strip this sign bit by anding the value returned by
this item with 32767 (7FFF). The resulting value can be used in
appendix C to identify the error. The following table shows the
value of Command_Error after a request has been made to the CNC
to execute three different commands, the first of which is a bad
command request, the second and third executes successfully:
LINE_1_MESSAGE_DATA, error_integer
Data Type UDINT
Read/Write Read only
Array Index error_integer
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to pass the active line 1 error message from the
CNC. Refer to your operation and programming manual for details
on line one active error messages. If messages of the same priority
are active this item will change between the different messages. If a
lower priority message is active it will not be passed into this item
until the higher priority message is cleared.
LINE_1_MESSAGE_DATA,2
This data item is an enumeration that identifies the use of the
information in the third word. It is enumerated as follows:
LINE_1_MESSAGE_DATA,3
This data item returns an integer that is dependent on the value of
LINE_1_MESSAGE_DATA,2. The value of
LINE_1_MESSAGE_DATA,3 is interpreted as follows:
Exclusive Number – (word two value is 1). Word 3 returns the index
of the error message in the message base. Refer to your 9/Series PAL
Reference Manual or 9/PC Logic Interface Reference Manual
(System Error Detection chapter) for details on this error number
indexes.
LINE_1_MESSAGE_DATA,1 = 48
LINE_1_MESSAGE_DATA,2 = 3
LINE_1_MESSAGE_DATA,3 = 5
EXCESS SKEW ON XZ
or if:
LINE_1_MESSAGE_DATA,1 = 55
LINE_1_MESSAGE_DATA,2 = 1
LINE_1_MESSAGE_DATA,3 = 16
MESSAGE_BASE-LAST-INDEX, range_num
Data Type UDINT
Read/Write Read only
Array Index range_num
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
The message bases for system error messages are divided into three
categories, Common Message Base (Range 1 – 200), Single Process
Control Specific Message Base (Range 201–300) and Dual Process
Control Specific Message Base (301–400). The
MESSAGE_BASE_LAST_INDEX API returns the values of the last
index in each of the message base sections mentioned above. The
range_num may be used to obtain the last index for a particular
section. For example, MESSAGE_BASE_LAST_INDEX,1 returns
the last index of the Common Message Base.
ACTIVE_PAL_MESSAGES, line_num
Data Type String
Read/Write Read only
Array Index line_num
Control Type Lathe/Mill/Grinder
This item is used to pass any active PAL/Logic messages to the OCI
station. PAL/Logic messages are created by your logic program.
ACTIVE_PAL_MESSAGES,13
Returns the text string for the active PAL/Logic message that should
be displayed on line 13 as defined in your PAL/Logic application.
For each line returned the first 40 characters contain the ASCII
characters that make up the message. The next 40 characters contain
a control character for each of the 40 message text characters. Each
of these control characters is made up of three attributes assigned to
different bits of the word. These control characters identify how
each character of the message should be displayed as follows:
CODE_INVERSE 0x40
CODE_NORMAL 0x00
CODE_BLINK_ON 0x80
CODE_BLINK_OFF 0x00
CHR_BLACK 0x10
CHR_RED 0x11
CHR_GREEN 0x12
CHR_YELLOW 0x13
CHR_BLUE 0x14
CHR_MAGENTA 0x15
CHR_CYAN 0x16
CHR_WHITE 0x17
Use this data item to identify the copyright date for the 9/Series or
9/PC CNC firmware. Data is returned as a text string with the
format:
(mm/dd/yy)
where:
mm – month
dd – day
yy – year
DATE
Data Type String1
Read/Write Read/Write
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Use this data item is used to set/read the current date from the
control. Format for this text string is:
mm/dd/yy
where:
mm – month
dd – day
yy – year
When writing this data item you must use all eight characters of this
text string. Leading zeros must be included (01/02/96)
TIME
Data Type String1
Read/Write Read/Write
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Use this data item is used to set/read the current time from the
control. Format for this text string is:
hr:mm:ss
where:
hr – hour (in 24 hour clock)
mm – minute
ss – second
When writing this data item you must use all eight characters of this
text string. Leading zeros must be included (22:03:00)
PROCESS_CHANGE_REQUEST
Data Type INT
Read/Write Read/Write
Array Index none
Control Type Lathe/Mill
On dual process systems use this data item to request the control
change the currently active process. Seting the value of
PROCESS_CHANGE_REQUEST to one will request a process
change. The control resets the value to zero when the process
change is completed. Use the PAL/Logic flag $SPROCI to identify
the currently actve process.
Important: Dual process systems are not available for the 9/PC.
PRODUCT_ID
Data Type UINT (enumerated)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Use this data item to identify the CNC hardware platform connected
to your OCI station. The value returned for this product ID is
enumerated as follows:
Enumeration Result:
9 9/260 Lathe/Mill
10 9/260 Grinder 1
11 9/290 Lathe/Mill
12 9/290 Grinder 1
15 9/260 Multi Process
17 9/290 MultiProcess
22 9/PC Lathe/Mill
1 Grinder Control Type is not available for the 9/PC.
Important: Dual process systems are not available for the 9/PC.
FW_REVISION
Data Type DINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
For example for firmware revision 11.00 you would be returned the
decimal integer 720896048 or in HEX
2AF8–0030
The lower 16 bits is the internal revision
The upper 16 bits is the major revision 11000 (11.00)
PROCESS_NAMES
Data Type String
Read/Write Read only
Array Index none
Control Type Lathe/Mill (dual process only)
The PROCESS_NAMES data item identifies AMP process name for
dual process systems. The system installer configures a process
name in AMP for each process controlled by the CNC. This item
returns the process name as a text string for the requested process.
PROCESS_NAMES.1
would return the text string used to identify the process 1 name.
SERVO_FW_REVISION, num_module
Data Type DINT
Read/Write Read only
Array Index num_module
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
For example for firmware revision 11.00 you would be returned the
decimal integer 720896048 or in HEX
2AF8–0030
The lower 16 bits is the internal revision
The upper 16 bits is the major revision 11000 (11.00)
You can access this data item for each servo module individually
using the num_module index. This index corresponds to the position
of the servo module in the chassis. Not including the num_module
index results in the data being returned for all servo modules in the
system (separated by the (TAB) character).
Servo Modules 3 1 2
Offset Data
ACTIVE_TOOL_GEOM_NUM
Data Type UINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Note that an active offset number does not necessarily indicate the
offset is physically implemented on the machine. It only indicates
the number of the offset that may or may not be active depending on
the programmed operating mode of the control and the AMP
configuration on how the offset is activated. Refer to the offset
chapter of your operation and programming manual for details.
ACTIVE_TOOL_LENGTH_AXIS_LOGICAL_BIT_PATTERN
Data Type UDINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to determine what axes are currently selected as the
tool length axes in the process. It returns a bit pattern of the logical
axes in the process. If a zero is reported to the logical axis number
that axis is not currently a tool length axis. A one indicates the
logical axis is a tool length axis. For example:
ACTIVE_TOOL_LENGTH_AXIS_LOGICAL_BIT_PATTERN.1
Could return the bit pattern 00000100. This would indicate that the
third axis defined in that process is selected as the tool length axis.
ACTIVE_TOOL_WEAR_NUM
Data Type UINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Note that an active offset number does not necessarily indicate the
offset is physically implemented on the machine. It only indicates
the number of the offset that may or may not be active depending on
the programmed operating mode of the control and the AMP
configuration on how the offset is activated. Refer to the offset
chapter of your operation and programming manual for details.
ACTIVE_TOOL_RADIUS_NUM
Data Type UINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Note that an active offset number does not necessarily indicate the
offset is currently active. It only indicates the number of the offset
that may or may not be active depending on the programmed
operating mode of the control and the AMP configuration on how
the offset is activated. Refer to the offset chapter of your operation
and programming manual for details.
AMPED_TOOL_LENGTH_AXIS_LOGICAL_BIT_PATTERN
Data Type UDINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to determine what axes are AMPed as the tool
length axes in the process. It returns a bit pattern of the logical axes
in the process. If a zero is reported to the logical axis number that
axis is not AMPed as a tool length axis. A one indicates the logical
axis is configured to be the default tool length axis. For example:
AMPED_TOOL_LENGTH_AXIS_LOGICAL_BIT_PATTERN.1
Could return the bit pattern 00000100. This would indicate that the
third axis is AMPed to be the default tool length axis.
DRILLING_AXIS_LOGICAL_BIT_PATTERN
Data Type UDINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to determine what axes are currently selected as the
drilling axes in the process. The drilling axis is the axis used for
drilling operations for fixed drilling cycles. It returns a bit pattern of
the logical axes in the process. If a zero is reported to the logical
axis number that axis is not currently the active drilling axis. A one
indicates the logical axis is a active drilling axis. For example:
DRILLING_AXIS_LOGICAL_BIT_PATTERN.1
Could return the bit pattern 00000100. This would indicate that the
third axis is selected as the drilling axis for fixed cycles.
Operating Mode
ACTIVE_UNITS
Data Type UINT (enumerated)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Enumeration Result:
2118 Inch Mode
2119 Metric Mode
AXIS_RAD_DIA_MODE
Data Type DINT (bit pattern)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
On Mill controls all axes are always in radius mode (all bits of this
word remain zero). Only one axis can be in diameter mode on a
Lathe. Grinders can have multiple axes in diameter mode.
ACTIVE_SCALE_INDICATOR
Data Type DINT (bit pattern)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Variables set by the OCI occur at the beginning of a PAL scan. The
PAL ladder runs and acts on these changes by writing to the variable
tables. This means if your OCI sets an output to true at the
beginning of a PAL scan, PAL can change the output point back to
false during the PAL scan thus overriding the OCI request to set the
output to true.
%HDIO1
There can be timing issues related to I/O variables that are altered
through the PAL logic, for example if your OCI station changes a
PAL variable that is later changed in the foreground scan the last
device (PAL logic or the OCI station) that changes the data will be
used.
You can access all PAL user defined global variables assuming they
have been defined properly in PAL (local PAL variables can not be
accessed). All read and writes are subject to the PAL logic which
always has the authority to override any OCI settings.
Format for this data item is ! followed by the name of the global
variable:
!ARDF
There can be timing issues related to I/O variables that are altered
through the PAL, for example if your OCI station changes a PAL
variable that is later changed in the foreground scan the last device
(PAL logic or the OCI station) that changes the data will be used.
$ System Flags
Data Type Defined by PAL
Read/Write Read/Write (PAL protected)
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
You can access all PAL/Logic system flags provided they are
available on your 9/Series executive type (e.g. some grinder system
flags are not available on a lathe/mill). All read and writes are
subject to the logic which always has the authority to override any
OCI settings.
Variables set by the OCI occur at the beginning of a PAL scan. The
PAL/Logic ladder runs and acts on these changes by writing to the
variable tables. This means if your OCI sets an output to true at the
beginning of a PAL/Logic scan, PAL/Logic can change the output
point back to false during the PAL/Logic scan thus overriding the
OCI request to set the output to true.
Format for this data item is $ followed by the name of the system
variable:
$ESTOPI
PAL_REVISION
Data Type DINT
Read/Write Read
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This double word provides the revision of the PAL symbols file.
This is not related to your compile date or download date for the
PAL image. It is an internal revision of the symbols used by your
PAL application. This is typically only used by Allen-Bradley
service representatives. The upper 16 bits indicate the major
revision, the lower 16 bits indicate the minor revision.
Important: This data item does not apply to the 9/PC CNC.
When reading/writing local data items the local item is only valid for
the main/subprogram or paramacro program currently executing.
Refer to the paramacro chapter of your operation and programming
manual for details on local values.
Note the main and protected directories share the same RAM disk
space. This item will not return information about the PC’s hard
disk. It is only valid for the CNC’s RAM disk.
SELECTED_PART_PROGRAM_DIR
Data Type UINT (enumerated)
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Use the FILE_NAME data item to receive the file name string from
a specific directory for a specific file. The directory_spec index is
enumerated as follows:
The file_num index identifies the specific file in the directory. This
index is the position of the file in the directory, the first file being file
1. Files are placed in the directory in alpha/numeric order. You can
ask for multiple filenames from the same directory if desired. For
example:
FILE_NAME,1,1–6
NUM_FILES, cnc_directory_id
Data Type UINT
Read/Write Read only
Array Index cnc_directory_id
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
1 – main directory.
2 – protected directory.
Excluding the index for this item provides the total number of part
programs in both the main and protected directories.
The file_num index identifies the specific file in the directory. This
index is the position of the file in the directory, the first file being file
1. Files are placed in the directory in alpha/numeric order.
The index for this data item is the number of the setup blocks. The
active block (the one that’s about to execute) is in setup buffer 1. To
request the active part program block you would link:
ACTIVE_PART_PROGRAM_BLOCKS,1
You must include the index with this data item. You can not return
more than one block per DDE request.
Symbol: Identifies:
! MDI Block
* Current executing block
@ Block execution complete
Space
This data item identifies the abscissa axis for the external part
rotation plane. Refer to your operation and programming manual for
details on external part rotation.
EXT_ROT_SECOND_AXIS
Data Type String
Read/Write Read/Write
Array Index none
Control Type Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This data item identifies the ordinate axis for the external part
rotation plane. Refer to your operation and programming manual for
details on external part rotation.
G_CODE_STATUS, g_code_group
Data Type UINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
G_CODE_STATUS,2
returns a value of 170 indicating that G code group 2s active G code
is G17. You can not use this data item to identify non–modal (group
0) G codes. Leaving off the argument will return all of the active
modal G codes.
This item is used to determine what axes are currently present in the
process. It returns a bit pattern of the logical axes in the process. If
a zero is reported to the logical axis number that axis is not pressent
in the current configuration. A one indicates the logical axis is in the
plane. For example:
AXIS_PRESENT_LOGICAL_BIT_PATTERN.1
Could return the bit pattern 00000111. This would indicate that the
first, second, and third axes are present in process one.
PLANE_AXIS_INDICES, plane_axes
Data Type INT[array]
Read/Write Read only
Array Index plane_axis
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to determine the axes in the currently active plane.
This item returns the axis number of the logical axes in the process.
If a zero is reported to the logical axis number that axis is not in the
currently active plane. Dual axes will return a set bit for all axes in
the dual group if the group is in the process. For example:
PLANE_AXES_INDICES.2, 1
ROLLOVER_AXIS_LOGICAL_BIT_PATTERN
Data Type UDINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
ROLLOVER_AXIS_LOGICAL_BIT_PATTERN.1
Could return the bit pattern 00000100. This would indicate that the
third axis in the process is configured as a rollover axis.
ROTARY_AXIS_LOGICAL_BIT_PATTERN
Data Type UDINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
ROTARY_AXIS_LOGICAL_BIT_PATTERN.1
Could return the bit pattern 00000100. This would indicate that the
third axis in the process is configured as a rotary axis.
VIRTUAL_NAMES, disp_mode
Data Type Integer
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to identify the name used for the virtual axis in
G16.1 and G16.2 modes. This virtual axis is typically only available
when in one of these modes. This is an an array of 4 integers. The
argument selects the integers as follows:
Not including the disp_mode argument returns all four integers. The
axis name is returned as its ASCII character value. Axis names for
virtual axes are defined in AMP. This item returns all zeros if not in
G16.1 or G16.2 modes.
This data item only returns the name for virtual axes in the four
different display modes. If you also require the actual location of the
axis use the items AXIS_POSITION_ABS,
AXIS_POSITION_DTG, AXIS_POSITION_PRG, and
AXIS_POSITION_TAR with arguments for the axis number after
the last configured real logical axis number.
SKEW_SLAVE_ABSOLUTE_POSITION, skew_set
Data Type LREAL (array)
Read/Write Read only
Array Index skew_set
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Use this data item to identify the absolute position of the skew slave
axis for a skew axis pair. The control supports two sets of skew axe
so the dimension of the skew_set array is two. For example:
SKEW_SLAVE_ABSOLUTE_POSITION, 1
would return the axis position of the skew slave axis for skew set 1.
Multiprocess systems still have a maximum of two skew axis total.
VIRTUAL_FORMATS, disp_mode
Data Type INT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to identify the display format for a virtual axis
(16.1 and G16.2 modes). This item returns the number of digits to
the right of the decimal point for the virtual axis position items
(AXIS_POSITION_ABS, AXIS_POSITION_DTG,
AXIS_POSITION_PRG, and AXIS_POSITION_TAR). This is an
an array of 4 integers. The argument disp_mode selects the integers
as follows:
Use this data item to identify the controlling spindle. The controlling
spindle is selected on the control with an G12.1 to G12.3 (G12.3 for
9/PC). This data item returns an integer value:
1 Indicates Spindle 1 controlling
2 Indicates Spindle 2 controlling
3 Indicates Spindle 3 controlling
NUM_SPINDLES
Data Type UINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
SPINDLE_DAC_COMMAND, spindle_num
Data Type INT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Use this data item to retrieve the current DAC output command for
any given spindle. The spindle_num index is the number of the
spindle to monitor as configured in AMP (1 – 3 for 9/Series or 1–2
for 9/PC). This item is only valid for spindles using an analog
output. A value of ± 4096 is equal to the max output of ±10Volts. A
returned value of zero is zero volts.
SPINDLE_MOTOR_TYPE, spindle_num
Data Type UINT (enumerated)
Read/Write Read only
Array Index spindle_num
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Enumeration Result
0 None
1 Position or Analog Spindle
2 Position/Velocity
4 Digital or Digital Spindle
8 SERCOS
SPINDLE_SPEED_VALUE, Spindle_Num
Data Type LREAL
Read/Write Read only
Array Index SPINDLE_NUM
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
Use this data item to identify the spindle speed in RPM. This item
can be used as an array whose dimension is equal to the number of
spindles on the 9/Series being polled. For example:
SPINDLE_SPEED_VALUE, 2
will return the spindle speed in RPM for the second spindle on the
control.
S_WORD
Data Type LREAL
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This data item returns the last programmed S word. This is not
necessarily the active spindle RPM, only the value of the last
programmed S word for the spindle. The spindle that the S word is
applied to is dependent on the active controlling spindle when the S
word was programmed (G12.1 to G12.3 on the 9/Series or G12.1 to
G12.2 on the 9/PC).
NUM_PROCESSES
Data Type UINT
Read/Write Read only
Array Index none
Control Type Lathe/Mill/Grinder1
1 Grinder Control Type is not available for Release 1 of 9/PC.
VELOCITY_GAINS_FROM_TABLE, axis_num
Data Type INT
Read/Write Read/Write
Array Index none
Control Type Lathe/Mill/Grinder 1
1 Grinder Control Type is not available for Release 1 of 9/PC.
This item is used to determine if standard motor table values are used
for digital systems. Standard motor tables select motor gains,
maximum RPM, etc. from a fixed table based on the motor type
selected. The axis_num argument for this command identifies which
logical axis number to modify. Data for this item is enumerated as
follows:
VELOCITY_GAINS_FROM_TABLE(1)
Tells the control to ignore the standard motor table values and use
the gains as entered by the user configuration for axis 1.
Use this data item to identify to what interference zone group the
axis is assigned. This is an array of n entries (1 entry per logical axis
in the process). Retrun values are:
CNC Command Overview The OCI data server provides a number of CNC commands that can
be passed from your application to the CNC. These commands are
used to request the CNC to perform some action or activity, for
example delete a part program from the CNC file directory or
backup AMP to flash memory.
The Basic Display Set checks some return codes and translates them
into error messages. See chapter 3 for details on the Basic Display
Set.
Selecting the Process For dual process systems, follow the command name with a .1 or .2
to indicate the process number. No process number by default makes
a request for process 1. Single process systems can also use .1 as a
valid command request. Use the table in appendix B to determine if
a command is available as dual process. For example:
[STOP_QUICK_CHECK.1]
would attempt to stop quick check on process 1.
OCI Command Syntax Most development tools accept DDE commands in a standard
format. You must specify to the server:
Where:
argument – is the data to pass to the CNC with the command. For
example axis_num is an argument which is used to pass the number
of the axis back to the control with the command string. If multiple
arguments are used with the command, they are separated by a
comma.
[INSERT_AXISCAL_POINT(1)]
Important: If you are using the source code for the Basic Display
Set, a command subroutine is available that simplifies
the format and execution of CNC commands. Use the
routine CNCCommand passing it arguments of the
Command String.
The following sections give the syntax and discuss the use of many
of the OCI DDE commands. They are categorized by feature and
alphabetized in each category.
Feature: Page:
AMP Commands 5-3
Axis Calibration 5-8
Communications 5-14
Miscellaneous 5-21
Offsets 5-24
PAL Commands 5-33
Paramacro Commands 5-35
Part Program Commands 5-38
Part Program Execution 5-51
Tool Management/Random Tool 5-53
For example:
[BACKUP_AMP]
writes into flash memory the AMP file currently residing in the
control’s RAM. Use the command RESTORE_AMP to retrieve the
AMP file currently in flash.
Use this command to open patch AMP. You must send this
command before the control will allow you access to patch AMP
parameters. The control must be in E-STOP before this command is
issued.
For example:
[MODIFYING_AMP]
writes into RAM the AMP file currently stored in FLASH memory.
It is necessary to cycle power on the control when AMP is restored.
Use the command BACKUP_AMP to store an AMP file into flash.
For example:
[TRANSFER_AMP_FROM_PORTA]
Use this command to restore into RAM the AMP file currently in
flash memory. This command will overwrite the AMP currently
residing in RAM. Refer to your AMP reference manual for details
on when and why AMP should be restored from flash.
For example:
[RESTORE_AMP]
For example:
[TRANSFER_AMP_FROM_PORTB]
For example:
[TRANSFER_AMP_TO_PORTA]
For example:
[TRANSFER_AMP_TO_PORTB]
For example:
[TRANSFER_HOMECAL_TO_PORTA]
For example:
[TRANSFER_HOMECAL_TO_PORTB]
Use this command to send the current reversal error data to a printer
or other device connected to the control’s port A. This will print the
reversal error compensation data currently in RAM. This may or
may not be the same data stored in the control’s flash memory.
For example:
[TRANSFER_REVERSAL_ERROR_TO_PORTA]
prints the reversal error data to the device connected to the control’s
port A. You can only use this command to output reversal error data
to a printer.
Use this command to send the current reversal error data to a printer
or other device connected to the control’s port B. This will print the
reversal error compensation data currently in RAM. This may or
may not be the same data stored in the control’s flash memory.
For example:
[TRANSFER_REVERSAL_ERROR_TO_PORTB]
prints the reversal error data to the device connected to the control’s
port B. You can only use this command to output reversal error data
to a printer.
Use this command to save patch AMP changes you have made since
the MODIFY_AMP command was issued. When this command is
executed the control saves the edits to patch AMP and closes the
AMP image. You must cycle power on the control after successfully
executing the UPDATE_AMP command.
For example:
[UPDATE_AMP]
updates the AMP file image on the control. It does not update AMP
in flash memory.
For example:
[BACKUP_AXISCAL]
writes into flash memory the axis calibration data currently residing
in the control’s RAM. Use the command RESTORE_AXISCAL to
retrieve axis calibration data from flash.
Use this command to delete all axis calibration points from the axis
calibration table. After execution of this command the control will
clear any data previously entered in the axis calibration table (all
processes).
For example:
[DELETE_ALL_AXISCAL_POINTS]
For example:
[DELETE_AXISCAL_POINT(1,6)]
deletes the sixth calibration point for the first axis in the process
configured in AMP.
For example:
[ENTER_AXISCAL_MODIFY_MODE]
opens the axis calibration table for editing and allows access to the
axis calibration data.
When this command is executed the axis calibration tables are closed
for editing. You must issue this command when your edits to the
axis calibration table are complete. This command will close the
axis calibration data tables.
For example:
[EXIT_AXISCAL_MODIFY_MODE]
closes the axis calibration table. Note this command does not send
the axis calibration table to backup memory.
Use this command to initialize the axis calibration table after you
have opened it for editing. Typically the table is only initialized the
first time it is opened for editing. This command determines how
axis calibration points are entered.
For example:
[INITIALIZE_AXISCAL_TABLE(1,0,1)]
initializes the axis calibration table for the first logical axis setting,
referencing all points from the same machine zero point and
indicating the first point is the most negative point on that axis.
INSERT_AXISCAL_POINT (axis_number)
For example:
[INSERT_AXISCAL_POINT(2)]
For example:
[REPLACE_AXISCAL_VALUE(1,10,10.321)]
replaces the 10th axis calibration point measurement value for the
first logical axis with the value of 10.321.
Use this command to restore into RAM the axis calibration data
currently in flash memory. This command will overwrite any axis
calibration data currently residing in RAM. Refer to your AMP
reference manual for details on when and why axis calibration
should be restored from flash.
For example:
[RESTORE_AXISCAL]
would write into RAM the axis calibration data currently stored in
backup memory. Use the command BACKUP_AXISCAL to store
axis calibration into backup.
STOP_AXISCAL (axis_number)
[STOP_AXISCAL(1)]
For example:
[TRANSFER_AXISCAL_FROM_PORTA]
would read the axis calibration data from the device connected to the
control’s port A. This command will overwrite the axis calibration
data currently in the control’s RAM. This will not affect axis
calibration data stored in the control’s backup memory.
For example:
[TRANSFER_AXISCAL_FROM_PORTB]
would read the axis calibration data from the device connected to the
control’s port B. This command will overwrite the axis calibration
data currently in the control’s RAM. This will not affect axis
calibration data stored in the control’s backup memory.
For example:
[TRANSFER_AXISCAL_TO_PORTA]
would write the axis calibration data to the device connected to the
control’s port A. This backup file is not in a man–readable format.
Use the command TRANSFER_AXISCAL_FROM_PORTA to
retrieve axis calibration data configuration from a peripheral device.
For example:
[TRANSFER_AXISCAL_TO_PORTB]
would write the axis calibration data to the device connected to the
control’s port B. This backup file is not in a man–readable format.
Use the command TRANSFER_ AXISCAL_FROM_PORTB to
retrieve axis calibration data configuration from a peripheral device.
For example:
[ACTIVATE_RIO_PASSTHROUGH]
This command is used only for systems with a data highway module.
Use this command to abort data highway module communications in
progress.
For example:
AUX_COM_ABORT_COMMAND
AUX_COM_BACKUP_CONFIG_TABLE ("filename")
This command is used only for systems with a data highway module.
Use this command to back up the data highway communication table
setup.
For example:
[AUX_COM_BACKUP_CONFIG_TABLE(“MAIND:DHPARAM”)]
This command is used only for systems with a data highway module.
Use this command to perform a forward search in AUX COMM.
Enumeration Result:
0 index line
1 command line
2 channel name line
3 rem node line
4 file 9240 line
5 file remote line
6 remote station line
7 format line
8 num symbols line
9 symbol 9240 line
10 symbol remote line
This command is used only for systems with a data highway module.
Use this command to perform a reverse search in AUX COMM.
Enumeration Result:
0 index line
1 command line
2 channel name line
3 rem node line
4 file 9240 line
5 file remote line
6 remote station line
7 format line
8 num symbols line
9 symbol 9240 line
This command is used only for systems with a data highway module.
Use this command to write a command table to the flash memory.
For example:
[AUX_COM_CMDTBL_TO_FLASH]
This command is used only for systems with a data highway module.
Use this command to write an AUX COMM configuration to the
flash memory.
For example:
[AUX_COM_CONFIG_TO_FLASH]
AUX_COM_DOWNLOAD_FILE ("source_filename",
destination_filename")
This command is used only for systems with a data highway module.
Use this command to download a file using the AUX COM module.
Note the source filename requires the source directory, the
destination filename does not. For example:
[AUX_COM_DOWNLOAD_FILE(”maind:PROG1.ppg”,
“Prog2.ppg”)]
This command is used only for systems with a data highway module.
Use this command to write the AUX COMM host address
configuration to the flash memory.
For example:
[AUX_COM_HOST_WRITE_TO_FLASH]
AUX_COM_SENDCMD (command_index)
This command is used only for systems with a data highway module.
Use this command to transmit data using the argument
command_index to identify the DH channel to use (1 – 64 DINT).
For example:
[AUX_COM_SENDCMD(1)]
Refer to your DH+ users manuals for details on the operation of this
command. This command is typically used to simulate a keystroke
or other operation for the purpose of testing.
For example:
[DEACTIVATE_RIO_PASSTHROUGH]
This command is used to load the serial I/O monitor. This will place
the control in a “setup diagnostic” mode and tie up the serial port for
diagnostics. Use this mode to troubleshoot the control’s serial
communications.
Enumeration Result:
1 Receive
2 Transmit
For example:
would request the serial I/O monitor for port B on the control be in
transmit mode. You must exit the serial I/O monitor before
continuing with normal control operation. Use the command
EXIT_SERIAL_IO_MONITOR_MODE to leave the serial I/O
monitor mode.
[EXIT_SERIAL_IO_MONITOR]
will take the control out of the serial I/O monitor mode. You can not
exit the serial I/O monitor mode if the port is currently sending
diagnostic data.
REPEAT_TX_SERIAL_IO (character)
[REPEAT_TX_SERIAL_IO (68)]
will repeatedly transmit the lone character “D” out the serial port.
Note this is used primarily for I/O monitor diagnostics. Use the
STOP_SERIAL_IO_MONITOR command to halt transmission.
For example:
[SAVE_DEVICE_SETUP]
saves the device setup for the control’s port A and port B.
SINGLE_TX_SERIAL_IO (character)
[SINGLE_TX_SERIAL_IO (68)]
will transmit the lone character “D” out the serial port. Note this is
used primarily for I/O monitor diagnostics.
This command is used to start the serial I/O monitor. For example:
[START_SERIAL_IO_MONITOR]
will begin the I/O monitoring operation on the port selected with the
command ENTER_SERIAL_IO_MONITOR.
This command is used to stop the serial I/O monitor. For example:
[STOP_SERIAL_IO_MONITOR]
will halt the I/O monitoring operation on the port selected with the
command ENTER_SERIAL_IO_MONITOR. This command does
not however exit serial I/O monitor mode. Use the
EXIT_SERIAL_IO_MONITOR command to exit monitor mode.
CALCULATE("calc_string")
For example:
[CALCULATE(”2*8”)]
This command clears all active error messages at the CNC from the
error message log. Note it does not clear any active OCI error
messages (those loaded by your DDE application, the OCI data
server, or the Windows NT operating system).
Use this command to clear the cycle time recorded by the “Time
Parts Count Feature”. This command clears the time recorded for
the individual part program elapsed execution time (time between
cycle start request and end of program). Refer to your operation and
programming manual for details on this feature.
This command clears all error messages in the system error log.
This command is used to clear the runtime clock. This clock records
the time the control has spent actually executing part programs. This
feature is included on the time/parts display of the Basic Display Set.
Refer to your operation and programming manual for details.
Use this command to clear the overall workpieces cut counter. This
counter indicates how many times any part program has been run.
This feature is included on the time/parts display of the Basic
Display Set. Refer to your operation and programming manual for
details. .
INPUT_MDI_STRING ("text_string")
[INPUT_MDI_STRING (“G01X10Y10F100”)]
loads this part program block as the active block in MDI mode. If
loading multiple blocks include them in the same string separating
each block with the end of block character (;).
This command reformats the RAM disk on the CNC. It will delete
all part programs in both the main and protectable CNC directories.
It will not effect programs stored on the OCI stations hard drive.
Refer to your operation and programming manual for details on the
reformat operation.
The offset_number argument for this command is the any valid offset
number as entered into the tool geometry offset table for this tool.
[ACTIVATE_TOOL_GEOM(4)]
ACTIVATE_TOOL_LENGTH (offset_number)
This command loads the specified tool length offset (H word). This
command is valid only for mill control types.
[ACTIVATE_TOOL_LENGTH(4)]
ACTIVATE_TOOL_RADIUS (offset_number)
This command loads the specified tool radius offset (D word). This
command is valid only for mill control types.
[ACTIVATE_TOOL_RADIUS(4)]
ACTIVATE_TOOL_WEAR (offset_number)
The offset_number argument for this command is the any valid offset
number as entered into the tool wear offset table for this tool.
[ACTIVATE_TOOL_WEAR,(4)]
ACTIVATE_WHEEL_GEOM (offset_number)
The offset_number argument for this command is the any valid offset
number as entered into the wheel or dresser geometry offset table for
this tool.
[ACTIVATE_WHEEL_GEOM(4)]
ACTIVATE_WHEEL_RADIUS (offset_number)
The offset_number argument for this command is the any valid offset
number as entered into the wheel/dresser offset table for this tool.
[ACTIVATE_WHEEL_RADIUS(4)]
BACKUP_ALL_OFFSETS ("Filename_string")
This command tells the control to create a backup program of the all
offset tables including, work coordinate system, tool geometry, and
tool wear offset tables. All of these tables are backed up into one
part program file. Refer to your operation and programming manual
for details.
For example:
[BACKUP_ALL_OFFSETS(“maind:allback.ppg”)]
would create the backup program on the CNC’s main directory and
name the backup program allback.
BACKUP_INTERF_TABLE ("Filename_string")
For example:
[BACKUP_INTERF_TABLE(“maind:intbck.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program intbck.
BACKUP_RADIUS_TABLE ("Filename_string")
For example:
[BACKUP_RADIUS_TABLE(“maind:radbck.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program radbck.
BACKUP_TOOL_GEOM ("Filename_string")
For example:
[BACKUP_TOOL_GEOM (“maind:geombck.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program geombck.
BACKUP_TOOL_WEAR ("Filename_string")
For example:
[BACKUP_TOOL_WEAR (“maind:wearbck.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program wearbck.
BACKUP_WHEEL_GEOMETRY ("Filename_string")
For example:
[BACKUP_WHEEL_GEOMETRY (“maind:geombck.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program geombck.
BACKUP_WORK_COORD ("Filename_string")
For example:
[BACKUP_WORK_COORD (“maind:workbck.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program workbck.
This command copies all of the tool offset values from the tool
geometry and wear tables from a source axis, to a destination axis.
All tool offset values for the source axis are copied to the destination
axis.
For example:
copies the geometry and wear tables for the X axis to the Y axis
values.
tool_number – the tool wear offset number you are changing with
this measure command.
For example:
[TRANSFER_PAL_FROM_PORTA]
would read the PAL image from the device connected to the control’s
port A. This command will overwrite the PAL image currently in the
control’s RAM. This will not affect the PAL image stored in the
control’s backup memory.
For example:
[TRANSFER_PAL_FROM_PORTB]
would read the PAL image from the device connected to the control’s
port B. This command will overwrite the PAL image currently in the
control’s RAM. This will not affect the PAL image stored in the
control’s backup memory.
Use this command to back up the current PAL image (and its source
code if present on the control) to a device connected to the control’s
portA. This will back up the PAL image currently in RAM. This
may or may not be the same image stored in the control’s backup
memory.
For example:
[TRANSFER_PAL_TO_PORTA]
would write the PAL image to the device connected to the control’s
port A. This backup file is not in a man–readable format. If you
require a man–readable version of PAL refer to the ODS document
utility. Use the command TRANSFER_PAL_FROM_PORTA to
retrieve an PAL image from a peripheral device.
Use this command to back up the current PAL image (and its source
code if present on the control) to a device connected to the control’s
port B. This will back up the PAL image currently in RAM. This
may or may not be the same image stored in the control’s backup
memory.
For example:
[TRANSFER_PAL_TO_PORTB]
would write the PAL image to the device connected to the control’s
port B. This backup file is not in a man–readable format. If you
require a man–readable version of PAL refer to the ODS document
utility. Use the command TRANSFER_PAL_FROM_PORTB to
retrieve an PAL image from a peripheral device.
For example:
[BACKUP_ALL_PARAMETERS (“maind:paraback.ppg”)]
would create the backup program on the CNC’s main directory and
name the backup program paraback.
BACKUP_COM1_PARAMETERS ("Filename_string")
This command tells the control to create a backup program of all the
common 1 paramacro parameters (#100 – #199). Refer to your
operation and programming manual for details.
For example:
[BACKUP_COM1_PARAMETERS (“maind:com1back.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program com1back.
BACKUP_COM2A_PARAMETERS ("Filename_string")
This command tells the control to create a backup program of all the
common 2A paramacro parameters (#500 – #519). Refer to your
operation and programming manual for details.
For example:
[BACKUP_COM2A_PARAMETERS (“maind:cm2Aback.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program cm2aback.
BACKUP_COM2B_PARAMETERS ("Filename_string")
This command tells the control to create a backup program of all the
common 2B paramacro parameters (#520 – #999). Refer to your
operation and programming manual for details.
For example:
[BACKUP_COM2B_PARAMETERS (“maind:cm2Bback.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program cm2bback.
BACKUP_SHARED_PARAMETERS ("Filename_string")
This command tells the control to create a backup program of all the
shared paramacro parameters (#7100 – 7199). Refer to your
operation and programming manual for details. Shared paramacro
parameters are only available on dual process control types.
For example:
[BACKUP_SHARED_PARAMETERS (“maind:shrdbck.ppg”)]
would create the backup program on the CNCs main directory and
name the backup program shrdbck.
For example:
[ACTIVATE_PART_PROGRAM(”HARDD:test1.ppg”)]
activates the part program test1 on the OCI stations configured file
handler drive.
The use of any hard drive or networked drive from the PC is a valid
part program storage devices however, this path must be the same
path specified in the OCI file handler configuration file
(OCIFHCFG.INI for the 9/Series or the Configuration Manager for
the 9/PC) as the file handlers working directory (see your OCI
installation manual for details).
COPY_PART_PROGRAM (`src_filename_string",
dest_filename_string")
Use this command to copy your part programs to/from your Pc’s
hard drive to/from either the protected or main CNC directories.
Valid devices in the filename string include the CNCs main directory,
the CNCs protected directory, and the OCI file handlers configured
PC directory.
For example:
[COPY_PART_PROGRAM(”MAIND:SOURCE.PPG”, “PROTD:DEST.PPG”)]
COPY_MEM_TO_MEM (`src_filename_string",
dest_filename_string", mode)
The filename string format is given on page 6–19. For example: and
includes specific directory information. You can not use this
command as a method of moving files from control memory to the
PC hard drive. Use the COPY_PART_PROGRAM command to
copy across devices. Format for the arguments is source filename
followed by destination filename.
Enumeration Result:
0 test mode
1 execute copy
For example:
The destination file should not exist when you execute this
command. If it does the control will overwrite the previously
existing destination part program.
Use this command to copy your part program file from memory
(either the main, protected, or PC drive) to port A.
Enumeration Result:
0 test mode
1 execute copy
For example:
copies the program named SOURCE from the main CNC directory
to a new part program named DSTIN on the device attached to port
A. Note the .PPG extension is not necessary for most devices
connected to port A.
If copying from the hardd directory this path must be the OCI file
handlers configured working directory as specified in the
OCIFHCFG.INI file (see your OCI integration manual).
Use this command to copy your part program file from memory
(either the main, protected, or PC drive) to port B.
Enumeration Result:
0 test mode
1 execute copy
For example:
copies the program named SOURCE from the main CNC directory
to a new part program named DSTIN on the device attached to port
B. Note the .PPG extension is not necessary for most devices
connected to port B.
If copying from the hardd directory this path must be the OCI file
handlers configured working directory as specified in the
OCIFHCFG.INI file (see your OCI integration manual).
COPY_PORTA_TO_MEM (src_name",`dest_filename_string",
mode)
Use this command to copy your part program file from port A to
memory, either the main or protected directories (you can not copy
directly to the PC drive).
The src_name string is the name of the part program you are copying
from the peripheral device on port A. The dest_filename_string is
the same as the file name string given on page 6–19 and includes
specific directory information.
Enumeration Result:
0 test mode
1 execute copy
For example:
Use this command to copy your part program file from port B to
memory, either the main or protected directory( you can not copy
directly to the PC drive).
The src_name string is the name of the part program you are copying
from the peripheral device on port B. The dest_filename_string is
the same as the file name string given on page 6–19 and includes
specific directory information.
Enumeration Result:
0 test mode
1 execute copy
For example:
[DEACTIVATE_PART_PROGRAM]
DELETE_PART_PROGRAM (filename_string")
This command deletes the part program from the control or OCI
station. The filename string format is given on page 6–19 and
includes specific directory information. For example:
would delete the part program DSTIN located in the controls main
directory.
ENTER_PART_PROGRAM_SEARCH_MODE (search_type)
Enumeration Result:
1 NSearch
2 OSearch
3 EOB Search
4 Slew Search
5 String Search
For example:
[ENTER_PART_PROGRAM_SEARCH_MODE (1)]
After you have entered a search mode, use this command to execute
a part program search. The search_method argument is an
enumeration that identifies the direction of the search operation the
control is to perform. The enumerations are as follows:
Enumeration Result:
1 Forward
2 Reverse
3 Top of Program
4 Cancel
5 Exit Search
For example:
[EXECUTE_PART_PROGRAM_SEARCH (1)]
RENAME_PART_PROGRAM (src_filename_string",
dest_filename_string")
RESTART_PART_PROGRAM (restart_action)
Enumeration Result:
1 Continue
2 Top of Program
3 Quit
4 Exit
5 Exit and Move
For example:
[RESTART_PART_PROGRAM(5)]
would select the current block as the next active program block and
generate axis motion to place the axis at the calculated start point for
this program block (refer to your operation and programming manual
for details).
SEQUENCE_STOP_PART_PROGRAM (block_num)
[SEQUENCE_STOP_PART_PROGRAM(0)]
Use this command to select the active part program directory. This
command is only valid when the input device is set to CNC using the
command SET_PART_PROGRAM_INPUT_DEVICE. The two
arguments for this command are as follows:
Enumeration: Result:
Main Directory - Selects the main part program directory on
1
the control.
Protected - Selects the protectable part program directory on
2
the control.
Hard Drive - Selects the local or network drive on the PC as
defined for the OCI file handler (OCIFHCFG.INI for 9/Series or
3
the Configuration Manager for the 9/PC). Refer to your OCI
installation documentation for details on this file.
password_string – The protected directory of the CNC may be
configured to require a password before allowing access. If a
password is necessary to select the directory use this second
argument to include the password. If no password is required this
argument must still be passed as a NULL character.
For example:
[SET_DIRECTORY(2,”opertr1”)]
SET_PART_PROGRAM_INPUT_DEVICE (pp_source)
This command selects the input source for part programs. The
pp_source argument is an enumeration as follows:
Enumeration Result:
0 Control Memory
2 Port A
4 Port B
Selecting enumeration 0 (control memory) allows the selection of a
program directory (either main, protected, or hard drive) using the
SET_DIRECTORY command. For example:
[SET_PART_PROGRAM_INPUT_DEVICE(0)]
SET_PART_PROGRAM_SEARCH_PATTERN (text_string")
Use this command to set your part program search string. This
command specifies the text to be searched for in the part program.
For example:
[SET_PART_PROGRAM_SEARCH_PATTERN(”100”)]
Enumeration Result:
0 test mode
1 execute verify
For example:
Enumeration Result:
0 test mode
1 execute verify
For example:
Enumeration Result:
0 test mode
1 execute verify
For example:
Enumeration Result:
1 NSearch
2 OSearch
3 EOB Search
4 Slew Search
5 String Search
For example:
[ENTER_MIDSTART_SEARCH_MODE (1)]
EXECUTE_MIDSTART_SEARCH (search_method)
After you have entered a search mode, use this command to execute
a mid program search. The search_method argument is an
enumeration that identifies the direction of the search operation the
control is to perform. The enumerations are as follows:
Enumeration Result:
1 Forward
2 Reverse
3 Top of Program
4 Cancel
5 Exit Search
For example:
[EXECUTE_MIDSTART_SEARCH (1)]
SET_MIDSTART_SEARCH_PATTERN ("search_string")
Use this command to set your midstart program search string. This
command specifies the text to be searched for in the part program.
For example:
[SET_MIDSTART_SEARCH_PATTERN(”100”)]
For example:
[STOP_QUICK_CHECK]
would take the control out of QuickCheck mode. Use the command
SYNTAX_QUICK_CHECK to enable the QuickCheck mode.
For example:
[SYNTAX_QUICK_CHECK]
tool_number – the tool number you are defining for the tool changer
shaft_pocket – the pocket number that will contain the tool shaft. If
the tool covers more than one pocket enter which of the pockets that
will contain the tool shaft here (from 1 to the value entered for
pockets_needed).
For example:
[ACTIVATE_RANDOM_TOOL(3, 1, 1)
[ACTIVATE_RANDOM_TOOL(4, 3, 2)
would activate random tool 4 which requires three tool pockets with
the shaft in the second pocket.
BACKUP_RANDOM_TOOL ("Filename_string")
For example:
[BACKUP_RANDOM_TOOL (“maind:randback.ppg”)]
would create the backup program on the CNC’s main directory and
name the backup program randback.
BACKUP_TOOL_MANAGE ("Filename_string")
For example:
[BACKUP_TOOL_MANAGE (“maind:mangback.ppg”)]
Would create the backup program on the CNCs main directory and
name the backup program mangback.
Use this command after you have already entered a tool number in
the pocket (using the RT_SET_TOOL_NUM command) and you
need to make this a custom tool by adding additional pocket spaces
and defining the shaft pocket for the tool.
This command tells the control how many pockets a tool requires
and the location of the shaft pocket with respect to the first pocket
for the custom tool. Refer to your operation and programming
manual for details on using the random tool feature.
pocket_number – the pocket number you are defining for the custom
tool. Note there must be a tool already assigned to this pocket. This
pocket number is the shaft pocket for the tool.
[RT_CUSTOMIZE_TOOL(16, 4, 2)
[RT_CUSTOMIZE_TOOL(4, 3, 1)
tool_number – the tool number you are defining for the tool changer
[RT_SET_TOOL_NUM(3, 1)]
would identify in the random tool table that tool number 3 is in tool
changer pocket 1.
For example:
[TM_DELETE_ALL]
TM_DELETE_GROUP (tool_group_num)
Use this command to delete all tools from a specified tool group.
The argument tool_group_num is the tool group number to delete.
For example:
[TM_DELETE_GROUP(2)]
For example:
[TM_DELETE_TOOL(3,5)]
delete from tool group 3, the tool in the fifth position in that group.
Use this command to insert a tool into the a tool management group.
entry_num – the entry position in the tool management table for this
entry. A value of zero places it at the last entry in the table.
For example:
[TM_INSERT_TOOL(2,7,0)]
adds tool number 7 to the next open entry position in tool group 2.
Variable Ranges The following section lists the range of select variable indices. Other
enumerated indices and strings are discussed later in this chapter.
Enumerations This section lists the enumerations that can be passed to or from the
control with the different commands and data items. The
enumerations that are valid with a specific command or data item are
listed with the command or data item descriptions.
ACTIVE_RADIUS_DIAMETER_MODE enumeration
Enumeration Result:
0 Not Radius/Diameter Axis
1 Radius Mode
2 Diameter Mode
AMP_DATA_TYPE enumeration
Enumeration Result:
0 Short
1 Unsigned Short
2 Long
3 Unsigned Long
4 Quad
5 Unsigned Quad
6 Float
7 Double
8 Unsigned Character
9 ASCII Character
AUX_COM_REM_STATION_TYPE enumeration
This enumeration for the aux com identifies the station type.
Enumeration Result:
1 PLC2 Unprotected r/w
2 PLC-3 Word range r/w
3 PLC-5 Typed r/w
4 Compute Typed r/w
Important: Enumeration does not apply to the 9/PC CNC.
AUX_COM_SEARCH_TYPE enumeration
Enumeration Result:
0 index line
1 command line
2 channel name line
3 rem node address
4 CNC file
5 remote file
6 remote station type
7 output format line
8 num symbols line
9 CNC symbol line
10 remote symbol line
Important: Enumeration does not apply to the 9/PC CNC.
BACK_BORING_SHIFT_DIRECTION enumeration
This enumeration identifies the shift direction for back boring cycles.
Enumeration Result:
+Axis 1 Name Plane (G17/G18/G19) Primary Axis 1+
- Axis 1 Name Plane (G17/G18/G19) Primary Axis 1-
+ Axis 2 Name Plane (G17/G18/G19) Primary Axis 2+
-Axis 2 Name Plane (G17/G18/G19) Primary Axis 2-
CALIBRATION_START enumeration
Enumeration Result:
0 Most +
1 Most -
Most + means calibration points start at the calibration point entered
with the most positive value. Most negative means calibration points
start at the calibration point entered with the most negative value.
Subsequent points will then be measured from the most positive or
negative data point you enter for your ballscrew. The
Calibration_Type enumeration determines if the points are measured
from the start point or from subsequent entered points.
CALIBRATION_TYPE enumeration
Enumeration Result:
0 Measurement
1 Deviation
Measurement means each point entered is a measurement from the
original start point. Deviation means each point is a measurement
from the preceding adjacent point entered.
COM_MODE enumeration
Used for the I/O monitor diagnostic screen. Use this enumeration to
specify that the I/O monitor will transmit or receive data.
Enumeration Result:
0 Transmit
1 Receive
Important: Enumeration does not apply to the 9/PC CNC.
Enumeration Result:
0 Test Mode
1 Punch file
2 Multi punch
3 Punch next file
4 Punch all
5 Finish punch
Important: Enumeration does not apply to the 9/PC CNC.
Enumeration Result:
0 Test Mode
1 Input from reader
2 Multi reader input
3 Input next file
Important: Enumeration does not apply to the 9/PC CNC.
DOWNLOAD_IN_PROGRESS enumeration
Enumeration: Result:
0 Idle
1 AMP Download Started
2 AMP Download Complete
3 PAL Download Started 1
4 PAL Download Complete 1
Important: 1 Enumeration does not apply to the 9/PC CNC.
DH_CHANNEL_TYPE enumeration
Enumeration: Result:
0 Available (but not configured)
1 DH Plug Port A
2 DH Plug Port B
3 RS232 Serial Port
4 RS422 Serial Port
Important: Enumeration does not apply to the 9/PC CNC.
DH_COMMAND enumeration
Enumeration: Result:
w Write Variables
r Read Variables
f Send Fixed Status
d Download File
0 Empty Command (zero)
Important: Enumeration does not apply to the 9/PC CNC.
DH_BAUD_RATE enumeration
Enumeration: Result:
1 57.6K Baud (DH only)
2 115.2K Baud (DH only)
3 230.4K Baud (DH only)
4 1200 Baud (serial only)
5 2400 Baud (serial only)
6 4800 Baud (serial only)
7 9600 Baud (serial only)
8 19200 Baud (serial only)
Important: Enumeration does not apply to the 9/PC CNC.
DH_OUTPUT_FORMAT enumeration
Enumeration: Result:
1 Integer
2 Float
3 Long Real
4 Boolean
Important: Enumeration does not apply to the 9/PC CNC.
DH_PARITY enumeration
The data highway parity enumeration is used to select the parity for
serial communications. This is used only for serial communications
from the data highway module (not available for DH
communications). The parity enumeration is:
Enumeration: Result:
1 Odd
2 Even
3 None
Important: Enumeration does not apply to the 9/PC CNC.
DH_REMOTE_STATION enumeration
Enumeration: Result:
1 PLC2 unprotected R/W
2 PLC3 Word Range R/W
3 PLC5 Typed R/W
4 Computer Typed R/W
Important: Enumeration does not apply to the 9/PC CNC.
ERROR_MESSAGE_TYPE enumeration
Enumeration: Result:
Exclusive - This indicates that no axis name or slot name accompanies
1 this message. It is a typically a system wide type message and not
specific to a select axis or servo.
2 Axis Head - The axis name is to precede the error message.
3 Axis Tail - The axis name is to proceed the error message.
4 Channel Head - communication port name precede the error message.
5 Channel Tail - communication port name proceed the error message.
6 Slot Head - The 1394 slot number is to precede the error message.
7 Slot Tail - The 1394 Slot number is to proceed the error message.
MACHINE_TYPE enumeration
Enumeration Result:
17 Mill
34 Lathe A
35 Lathe B
36 Lathe C
69 Surface Grinder 1
70 Cylindrical Grinder 1
23 Transfer Line 1
145 Dual Mill 1
2 Dual Lathe A 1
163 Dual Lathe B 1
164 Dual Lathe C 1
Important: 1 Does not apply to the 9/PC CNC.
MID_START_ACTION enumeration
Enumeration Result:
1 Execute Restart
2 Continue
3 Top of Program
4 Quit
5 Exit
6 Exit and Move
MID_START_TYPE enumeration
Enumeration Result:
1 Restart
2 Seq # Search
3 String Search
Enumeration Result:
0 Manual
1 Auto
2 MDI
Enumeration Result:
0 V/D mode
1 IPM mode
2 IPR mode
Enumeration Result:
2118 Inch Mode
2119 Metric Mode
OPTION_SELECTED enumeration
PORT_BAUD_RATE enumeration
Enumeration: Result:
0 300 Baud
1 600 Baud
2 1200 Baud
3 2400 Baud
4 4800 Baud
5 9600 Baud
6 19200 Baud
Important: Enumeration does not apply to the 9/PC CNC.
PORT_COMM_FORMAT enumeration
Enumeration: Result:
0 EIA
1 ASCII
2 N/A
Important: Enumeration does not apply to the 9/PC CNC.
PORT_DATA_BITS enumeration
Enumeration: Result:
0 7 bit
1 8 bits
PORT_PARITY enumeration
Enumeration: Result:
0 Odd
1 Even
2 None
Important: Enumeration does not apply to the 9/PC CNC.
PORT_ID enumeration
Enumeration: Result:
1 Port A
2 Port B
Important: Enumeration does not apply to the 9/PC CNC.
PORT_TYPE enumeration
Enumeration: Result:
0 RS232C
1 RS422A
Important: Enumeration does not apply to the 9/PC CNC.
PORTA_DEVICE enumeration
Enumeration: Result:
1 AB 1770SB
2 RICOH PTR240R
3 DECITEK AB 8000XPDR
4 FACIT N4000
5 DSI SP75
6 FACIT N4070
7 EPSON LX810
8 EPSON SP500
9 TEACH PENDANT
10 ODS
11 USER PUNCH
12 USER READER
13 USER PRINTER
14 GENERIC LEVEL 2
15 PAL RS232 COMM
16 GRECO MINIFILE
17 INTELLIGENT DEVICE
Important: Enumeration does not apply to the 9/PC CNC.
PORTB_DEVICE enumeration
Enumeration: Result:
1 AB 1770SB
2 RICOH PTR240R
3 DECITEK AB 8000XPDR
4 FACIT N4000
5 DSI SP75
6 FACIT N4070
7 EPSON LX810
8 EPSON SP500
9 TEACH PENDANT
10 ODS
11 USER PUNCH
12 USER READER
13 USER PRINTER
14 GENERIC LEVEL 2
15 PAL RS232 COMM
16 GRECO MINIFILE
17 INTELLIGENT DEVICE
Important: Enumeration does not apply to the 9/PC CNC.
PORT_PROTOCOL enumeration
Enumeration: Result:
0 Raw
1 Level 1
2 Level 2
3 DF1
4 Level 2
Important: Enumeration does not apply to the 9/PC CNC.
PORT_STOP_BITS enumeration
Enumeration: Result:
0 1 bit
1 1.5 bits
2 2 bits
Important: Enumeration does not apply to the 9/PC CNC.
PORT_TAPE_MULTI enumeration
Enumeration: Result:
0 No (one program per tape)
1 Yes (multiple program tape)
2 N/A
Important: Enumeration does not apply to the 9/PC CNC.
PORT_TIMEOUT_VALUE enumeration
Enumeration: Result:
0 3 Seconds
1 15 Seconds
2 30 Seconds
3 60 Seconds
4 120 Seconds
5 180 Seconds
6 300 Seconds
7 600 Seconds
8 Unlimited (no timeout)
Important: Enumeration does not apply to the 9/PC CNC.
PP_SOURCE enumeration
Enumeration Result:
0 Control Memory
2 1 Port A
4 1 Port B
Important: 1 Does not apply to the 9/PC CNC.
PRODUCT_ID enumeration
Enumeration Result:
9 9/260 Lathe/Mill
10 9/260 Grinder
11 9/290 Lathe/Mill
12 9/290 Grinder
15 9/260 Multi Process
17 9/290 MultiProcess
22 9/PC Lathe/Mill
ROTATION_EXT_STATUS enumeration
Enumeration Result:
0 External Rotation ON
1 External Rotation OFF
SCALING_INDICATOR enumeration
Enumeration Result:
0 Scaling Off
1 Scaling On
SEARCH_METHOD enumeration
Enumeration Result:
1 Forward
2 Reverse
3 Top of Program
4 Cancel
5 Exit Search
SEARCH_TYPE enumeration
Enumeration Result:
1 NSearch
2 OSearch
3 EOB Search
4 Slew Search
5 String Search
6 Next Program
SERVO_STATUS enumeration
Enumeration Result:
0 < Feedrate suppression
1 In position
2 > Feedrate suppression
3 Excess error
SYSTEM_STATE enumeration
Enumeration Result:
1 Cycle Stop
2 Cycle On
3 Cycle Suspend
4 EStopped
TARGET_DIR enumeration
Enumeration: Result:
Main Directory - Selects the
1 main part program directory on
the control.
Protected - Selects the
2 protectable part program
directory on the control.
Hard Drive - Selects the local
or network drive on the PC as
defined for the OCI file handler
(OCIFHCFG.INI for 9/Series or
3 the Configuration Manager for
the 9/PC). Refer to your OCI
installation documentation for
details on configuring the hard
drive.
TM_STATUS enumeration
This enumeration identifies the status of the current tool for tool
management.
Enumeration Result:
0 Active Tool
1 Expired
2 Old
TM_GRAPHICS_TOOL_COLOR enumeration
Enumeration Result:
4 Red
8 Green
12 Yellow
16 Blue
20 Magenta
24 Cyan
28 White
Enumeration: Result:
0 Available
1 Allocated
2 In Use
Important: Enumeration does not apply to the 9/PC CNC.
command “drive:filename.PPG”
Where:
drive – is the disk the file is located on. The drive argument is
optional. Valid drives include:
[PP_DELETE (MAIND:“7654321.PPG”)]
TEXT_STRING string
command “textstring”
This appendix lists the OCI data items categorized by feature. The feature categories are:
Item (Name): – The string that should be passed to the OCI data server to read or write a specific piece of data.
Num Indices: – The number of array indices associated with the data item.
Array Indices: – The indices (or enumeration) used to reference a specific value of an data item array.
Units: – If the value returned is dependent on a specific measuring system or unit (e.g. inch/metric) as determined by the
units dependency column.
Units Dependency: – The controlling factor in determining the Units used to return a piece of data (e.g. is the control in
inch mode when the data is requested).
Dual Proc.: – Is this data item referenced independently in each process of a dual process system. If yes the item can be
referenced as item_name.1 and item_name.2 representing the different processes.
Req: – Identifies if the item is read only (R), write only (W), both read and writable (R/W) or dependent on your
application or machine configuration (such as PAL prot. which indicates PAL defines the read/writable properties of this
item).
Control Type: – Identifies what control types allow the use of this data item. Valid control types are All Controls (lathe,
mill, surface grinder, cylindrical grinder), Cyc (cylindrical grinder), Surf (surface grinder), Grinder (both surface and
cylindrical grinders), DLathe (dual lathe), DMill (dual mill), Dual (both dual lathe and mill).
OCI / 9/PC: Indicates which CNC provides this API information. “OCI” means information provided by 9/260–
9/290 products. “9/PC “ means information provided by the 9/PC product. “Both” means information provided by all
three products listed earlier.
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
a
AMP Data
@ Patch AMPable Parameters @param_no LREAL Both No R/W All Controls
311
AMP_PARAMETER_DATA_TYPE Data Type for Adjustable Machine Parameters USINT [ ] Both 1 NUM_PATCHABLE_AMP_PARAMETERS No R All Controls
312
AMP_PARAMETER_NUMBER Parameter number for AMP parameter UINT [ ] Both 1 NUM_PATCHABLE_AMP_PARAMETERS No R All Controls
310
NUM_PATCHABLE_AMP_PARAMETERS Number of AMP parameters which are patch UINT Both 0 No R All Controls
AMPable
156 SYSTEM_SCAN_TIME AMPed System Scan Time UINT AMP Both 0 usec No R All Controls
b
Axis Calibration Both
119 AXISCAL_ABS_POS Axis Cal Absolute Position LREAL [ ] [ ] Both 2 Point Num, Num Inch/Met ACTIVE_UNITS Yes R All Controls
Axes ric/De
grees
120 AXISCAL_MEAS_DEV_AMOUNT Axis Cal Measurement/Deviation Amount LREAL [ ] [ ] Both 2 Point Num, Num Inch/Met ACTIVE_UNITS Yes R All Controls
Axes ric/De
grees
122 AXISCAL_POINTS_FREE Points Free UINT Both 0 No R All Controls
121 AXISCAL_POINTS_USED Points Used UINT [ ] Both 1 Num Axes Yes R All Controls
123 AXISCAL_STATUS Axis Calibration Status INT bit pattern Both 1 Num Axes Yes R All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
309 AXISCAL_TABLE_TYPE Type of the Axiscal table (Measurement/Devi SINT [ ] Both 1 NUM_PROG_AXES_PLUS_SKEWSLAVES Yes R All Controls
ation)
c
Communication Port Parameters
240 DEVICE_ON_PORTA UART device attached to port A INT enumerated OCI 0 No R/W All Controls
241 DEVICE_ON_PORTB UART device attached to port B INT enumerated OCI 0 No R/W All Controls
139 HARDWARE_STATUS_PORTA Port A Serial I/O RTS/CTS/DSR/DTR Status USINT OCI 1 No R All Controls
143 HARDWARE_STATUS_PORTB Port B Serial I/O RTS/CTS/DSR/DTR Status USINT OCI 0 No R All Controls
141 LEVEL_2_STATUS_PORTA Port A Serial I/O DC1-DC4 Status USINT OCI 0 No R All Controls
145 LEVEL_2_STATUS_PORTB Port B Serial I/O DC1-DC4 Status USINT OCI 0 No R All Controls
233 PORT_AUTO_FILENAME UART device auto select program name INT OCI 2 No R/W All Controls
226 PORT_BAUD_RATE UART device baud rate INT enumerated OCI 2 No R/W All Controls
229 PORT_COMMUNICATION_ UART device communication format INT enumerated OCI 2 No R/W All Controls
FORMAT
232 PORT_DATA_BITS UART device number of data bits INT enumerated OCI 2 No R/W All Controls
230 PORT_PARITY UART device parity INT enumerated OCI 2 No R/W All Controls
237 PORT_PERCENT_SELECTION UART device % valid in tape INT OCI 2 No R/W All Controls
238 PORT_PROGRAM_NAME UART device program name in tape INT OCI 2 No R/W All Controls
227 PORT_PROTOCOL UART device protocol INT enumerated OCI 2 No R/W All Controls
235 PORT_REWIND_ON_M02_M30 UART device action on M02/M30 INT OCI 2 No R/W All Controls
236 PORT_REWIND_ON_M99 UART device action on M99 INT OCI 2 No R/W All Controls
234 PORT_STOP_AT_PROGRAM_ END UART device stop at program end INT OCI 2 No R/W All Controls
231 PORT_STOP_BITS UART device number of stop bits INT enumerated OCI 2 No R/W All Controls
239 PORT_TIMEOUT_VALUE UART device timeout value selection INT enumerated OCI 2 No R/W All Controls
228 PORT_TYPE UART device port type (RS232/RS422A) INT enumerated OCI 2 No R/W All Controls
138 RX_CHAR_PORTA Port A Serial I/O Receive USINT [ ] OCI 1 RX_char_size No R All Controls
Character
142 RX_CHAR_PORTB Port B Serial I/O Receive USINT [ ] OCI 1 RX_char_size No R All Controls
Character
140 TX_CHAR_PORTA Port A Serial I/O Transmit USINT OCI 0 No R All Controls
Character
144 TX_CHAR_PORTB Port B Serial I/O Transmit USINT OCI 0 No R All Controls
Character
316 UART_A_BUSY_STATUS Port A busy status enum UINT OCI 0 No R All Controls
317 UART_B_BUSY_STATUS Port B busy status enum UINT OCI 0 No R All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
353 UART_MAX_BAUD_MODE Assign 176 for 19.2 kbaud USINT OCI 0 No R/W All Controls
48 for 38.4 kbaud
d
Error Message Items
158 ACTIVE_ERROR_MESSAGES Groups numbers of the active error messages UINT [ ] Both 1 NUM_DISP_LINES Yes R All Controls
49 ACTIVE_PAL_MESSAGES Active PAL Messages STRING1 PAL Both 0 No R All Controls
270 COMMAND_ERROR_CODE Error code from DDE command operations UINT Both 0 Yes R All Controls
99 ERROR_LOG_MESSAGE_NUM Error log message number UINT [ ] Both 1 LOG_SIZE No R All Controls
100 ERROR_LOG_MESSAGE_ Error log message parameter UINT [ ] Both 1 LOG_SIZE No R All Controls
PARAMETER
101 ERROR_LOG_TIME_STAMP Error log message time stamp STRING1 [ ] Both 1 LOG_SIZE No R All Controls
174 ERROR_MESSAGE_TYPE Type of Error Messages USINT [ ] enumer Both 1 NUM_MSG_GROU Yes R All Controls
ated PS
157 ERROR_MESSAGES Error Messages UINT [ ] Both 1 NUM_MSG_GROU Yes R All Controls
PS
320 LINE_1_MESSAGE_DATA Base, type and parameter for CRT error line UDINT [ ] Both 0 Yes R All Controls
number 1
4 NUM_MESSAGE_GROUPS Number of error message groups UINT Both 0 No R All Controls
269 WRITE_ERROR_CODE Error code from DDE write operations UINT Both 0 Yes R All Controls
369 MESSAGE_BASE_LAST_INDEX Number of system/error messages in 100, 200 UINT[ ] Both 1 NUM_MSG_BASE No R All Controls
and 300 ranges _SECTIONS
e
Factory Communication Module
255 AUX_COM_CHANNEL_NUMBER Aux comm command table channel number USINT [ ] OCI 1 NUM_CMDS+1 No R/W All Controls
257 AUX_COM_CNC_FILENAME Aux comm command table CNC filename STRING1 [ ] OCI 1 NUM_CMDS+1 No R/W All Controls
262 AUX_COM_CNC_SYMBOL Aux comm command table CNC symbol STRING1 [ ] OCI 1 NUM_CMDS+1 No R/W All Controls
254 AUX_COM_COMMAND Aux comm command table command SINT [ ] enumerated OCI 1 NUM_CMDS+1 No R/W All Controls
149 AUX_COM_CURRENT_ Current Aux Comm Config Entry No DINT OCI 0 No R/W All Controls
CONFIG_NUM
150 AUX_COM_HOST_CHANNEL_ NUM Aux Comm Host Addr Config Channel Num USINT OCI 0 No R/W All Controls
151 AUX_COM_HOST_REMNODE_ ADDR Aux Comm Host Addr Config STRING1 OCI 0 No R/W All Controls
Remote Node Addr
261 AUX_COM_NUM_SYMBOLS Aux comm command table number of symbols INT [ ] OCI 1 NUM_CMDS+1 No R/W All Controls
260 AUX_COM_OUTPUT_FORMAT Aux comm command table output format USINT [ ] enumer OCI 1 NUM_CMDS+1 No R/W All Controls
ated
258 AUX_COM_REMOTE_ Aux comm command table remote filename STRING1 [ ] OCI 1 NUM_CMDS+1 No R/W All Controls
FILENAME
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
256 AUX_COM_REMOTE_NODE_ ADDRESS Aux comm command table remote node ad STRING1 [ ] OCI 1 NUM_CMDS+1 No R/W All Controls
dress
259 AUX_COM_REMOTE_STATION_ TYPE Aux comm command table remote station type USINT [ ] enumer OCI 1 NUM_CMDS+1 No R/W All Controls
ated
263 AUX_COM_REMOTE_SYMBOL Aux comm command table remote symbol STRING1 [ ] OCI 1 NUM_CMDS+1 No R/W All Controls
305 AUX_COM_SEND_COMMAND_ PACKET Aux Com file transfer progress indicator INT OCI 0 No R All Controls
306 AUX_COM_SEND_COMMAND_ STATUS Aux Com file transfer status indicator INT OCI 0 No R All Controls
250 AUX_CONFIG_BAUD_RATE Aux comm configuration baud rate USINT [ ] enumer OCI 1 NUM_CHANNELS No R/W All Controls
ated
243 AUX_CONFIG_CHANNEL_NAME Aux comm configuration channel name STRING1 [ ] OCI 1 NUM_CHANNELS No R/W All Controls
242 AUX_CONFIG_CHANNEL_TYPE Aux comm configuration channel type USINT [ ] enumer OCI 1 NUM_CHANNELS No R/W All Controls
ated
245 AUX_CONFIG_FILE_PID Aux comm configuration file pid USINT [ ] OCI 1 NUM_CHANNELS No R/W All Controls
249 AUX_CONFIG_FILE_TIMEOUT Aux comm configuration file timeout UINT [ ] OCI 1 NUM_CHANNELS No R/W All Controls
247 AUX_CONFIG_KEYBOARD_PID Aux comm configuration keyboard pid USINT [ ] OCI 1 NUM_CHANNELS No R/W All Controls
248 AUX_CONFIG_PACKET_ Aux comm configuration packet timeout UINT [ ] OCI 1 NUM_CHANNELS No R/W All Controls
TIMEOUT
253 AUX_CONFIG_SERIAL_DATA_ LENGTH Aux comm configuration serial data length USINT [ ] OCI 1 NUM_CHANNELS No R/W All Controls
251 AUX_CONFIG_SERIAL_PARITY Aux comm configuration serial parity USINT [ ] enumer OCI 1 NUM_CHANNELS No R/W All Controls
ated
252 AUX_CONFIG_SERIAL_STOP_ BITS Aux comm configuration serial number of stop USINT [ ] OCI 1 NUM_CHANNELS No R/W All Controls
bits
244 AUX_CONFIG_STATION_ Aux comm configuration station address STRING1 [ ] OCI 1 NUM_CHANNELS No R/W All Controls
ADDRESS
246 AUX_CONFIG_STATUS_PID Aux comm configuration status pid USINT [ ] OCI 1 NUM_CHANNELS No R/W All Controls
321 AUX_MODIFYING_TABLES Status word indicates the AUX comm tables INT OCI 0 No R/W All Controls
are currently being modified
f
Feedrate Data
286
F1_DIGIT_FEEDRATE Single Digit Feedrates - Online AMP LREAL [ ] OCI 1 9 Inch/Met ACTIVE_UNITS No R/W All Controls
ric/De
grees
200
FEED_CLAMPED Status of Feed Clamping UINT Both 0 Yes R All Controls
33
FEED_MODE Feed Mode UINT enumerated Both 0 Yes R All Controls
201
FEED_MODE_DISPLAY FEED_VALUE is in rotary units UINT Both 0 Yes R All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
32
FEED_VALUE Feedrate Value LREAL Both 0 IPM/ ACTIVE_UNITS, Yes R All Controls
MMPM, FEED_MODE
IPR/
MMPR,
V/D
g
Fixed Cycles
285 BACK_BORING_SHIFT_DIRECTION Shift direction for back boring cycles - Online STRING1 [ ] Both 3 Yes R/W All Controls
AMP
284 DRILLING_CLEARANCE_ AMOUNT Clearance amount for drilling cycles - Online LREAL Both 0 Inch/Met ACTIVE_UNITS No R/W All Controls
AMP ric/De
grees
283 DRILLING_RETRACT_AMOUNT Retract amount for drilling cycles - Online AMP LREAL Both 0 Inch/Met ACTIVE_UNITS No R/W All Controls
ric/De
grees
288 THREADING_PULLOUT_ANGLE Pullout angle for threading cycles - Online AMP LREAL Both 0 Degrees always No R/W Lathe,DLathe
287 THREADING_PULLOUT_DISTANCE Pullout distance for threading cycles - Online LREAL Both 0 Thread units No R/W Lathe,DLathe
AMP
h
G and M Code Data
29 G_CODE_STATUS G Code Status INT [ ] Both 1 Num G groups Yes R All Controls
30 G_GROUP_PROGRAMMED G Group Programmed DINT bit pattern Both 0 Num G groups Yes R All Controls
27 M_CODE_STATUS M Code Status INT [ ] Both 1 Num M groups Yes R All Controls
28 M_GROUP_PROGRAMMED M Group Programmed DINT bit pattern Both 0 Num M groups Yes R All Controls
6 NUM_G_GROUPS Num G groups UINT Max Value 23 Both 0 No R All Controls
5 NUM_M_GROUPS Num M groups UINT Max Value 14 Both 0 No R All Controls
40 SECONDARY_AUX_WORD Secondary Auxiliary word Value DINT Both 0 Yes R All Controls
i
In Process Dresser
164 CURRENT_DRESSER_RPM Current dresser RPM LREAL OCI 0 RPM No R Grinder
163 CURRENT_WHEEL_DIAMETER Current wheel diameter LREAL OCI 0 Inch/Met ACTIVE_UNITS No R Grinder
ric/De
grees
171 DRESSER_AMOUNT_PER_REV Dresser amount per rev LREAL OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
ric/De
grees
161 DRESSER_HOLD_STATUS Dresser Hold Status UINT OCI 0 No R Grinder
172 DRESSER_RETRACT_ Dresser retract distance LREAL OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
DISTANCE ric/De
grees
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
170 DRESSER_ROLL_DIAMETER Dresser roll diameter LREAL OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
ric/De
grees
160 DRESSER_STATUS Dresser Status UINT OCI 0 No R Grinder
173 DRESSER_SURFACE_SPEED_ RATIO Dresser surface speed ratio LREAL OCI 0 No R/W Grinder
326 DRESSER_TABLE_UNITS Units for over the wheel dresser data entry UINT (inch/metric) OCI 0 No R/W Grinder
enum
162 INITIAL_WHEEL_DIAMETER Initial wheel diameter LREAL OCI 0 Inch/Met ACTIVE_UNITS No R Grinder
ric/De
grees
168 MAX_WHEEL_SPEED Maximum wheel speed (RPM) LREAL OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
ric/De
grees
167 MIN_WHEEL_DIAMETER Minimum wheel diameter LREAL - AMP OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
ric/De
grees
165 NEW_WHEEL_DIAMETER New wheel diameter LREAL OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
ric/De
grees
166 WARNING_WHEEL_DIAMETER Warning wheel diameter LREAL OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
ric/De
grees
169 WHEEL_WIDTH Wheel width LREAL OCI 0 Inch/Met ACTIVE_UNITS No R/W Grinder
ric/De
grees
j
Miscellaneous System Information
15 BOOT_FW_REVISION Boot Firmware Revision STRING1 Both 0 No R All Controls
13 COPYRIGHT_DATE Copyright Date STRING1 Both 0 No R All Controls
118 CALCULATION_RESULTS Returned results from CALCULATE command LREAL Both 0 No R All Controls
336 CONTROLLING_OCI True (1) indicates this station is the data server USINT OCI 0 No R All Controls
controlling station (not necissarily controlling
file server)
146 DATASCOPE_DATA Data Scope Monitor serial port data USINT [ ] OCI 130 No R All Controls
62 DATE Current Date STRING1 Both 0 No R/W All Controls
337 DOWNLOAD_IN_PROGRESS Downloading AMP/PAL status INT (enumerated) Both No R All Controls
343 ESTOP_STATE 0 - control in E-STOP, USINT Both No R All Controls
1 - control out of E-STOP
14 FW_REVISION Firmware Revision DINT Both 0 No R All Controls
318 IFP_COPY_CANCEL A write parameter to cancel copy in progress UINT Both 1 No R/W All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
175 MACHINE_TYPE Type of machine -- lathe, mill, grinder, dual, ... USINT Both 0 No R All Controls
11 NUM_OPTIONS Num Options UINT Max Value 2 Both 0 No R All Controls
3 NUM_PROCESSES Num Proc UINT Max Value 2 Both 0 No R All Controls
313 NUM_PROG_AXES Number of programmable axes in the system UINT Both 0 Yes R All Controls
(incl duals)
314 NUM_PROG_AXES_PLUS_SKEWSLAVES Number of prog axes plus deskew slaves in the UINT Both 0 Yes R All Controls
system
179 OEM_MESSAGE_1 OEM Message Line 1 STRING1 Both 0 No R/W All Controls
180 OEM_MESSAGE_2 OEM Message Line 2 STRING1 Both 0 No R/W All Controls
181 OEM_MESSAGE_3 OEM Message Line 3 STRING1 Both 0 No R/W All Controls
159 OPTION_SELECTED Options Selected USINT [ ] Both 1 Num Options No R All Controls
17 OPTION_SLOT_NAME_1 Option Slot Name - Slot 1 STRING1 OCI 0 No R All Controls
18 OPTION_SLOT_NAME_2 Option Slot Name - Slot 2 STRING1 OCI 0 No R All Controls
19 OPTION_SLOT_REV_1 Option Slot Revision - Slot 1 STRING1 OCI 0 No R All Controls
20 OPTION_SLOT_REV_2 Option Slot Revision - Slot 2 STRING1 OCI 0 No R All Controls
352 PROCESS_CHANGE_REQUEST Assigning 1 forces process change for dual INT OCI 0 Yes R/W Dual
55 PROCESS_NAMES Process Names STRING1 OCI 0 Yes R Dual
12 PRODUCT_ID Product ID UINT enumerated Both 0 No R All Controls
16 SERVO_FW_REVISION Servo Firmware Revision DINT [ ] Both 1 Num Servo Mod No R All Controls
ules
47 SYSTEM_STATE System State UINT enumerated Both 0 Yes R All Controls
PAL
63 TIME Current Time STRING1 Both 0 No R/W All Controls
k
Offset Data
51 ACTIVE_TOOL_GEOM_NUM Active Tool Geometry Number UINT Both 0 Yes R All Controls
350 ACTIVE_TOOL_LENGTH_AXIS_ Bit pattern of axes currently programmed as UDINT Both Yes R All Controls
LOGICAL_BIT_PATTERN the active tool length axis
53 ACTIVE_TOOL_RADIUS_NUM Active Tool Radius Number UINT Both 0 Yes R All Controls
52 ACTIVE_TOOL_WEAR_NUM Active Tool Wear Number UINT Both 0 Yes R All Controls
349 AMPED_TOOL_LENGTH_AXIS_ Bit pattern of axes configured as tool length UDINT Both Yes R All Controls
LOGICAL_BIT_PATTERN axis
39 D_WORD D-Word for Display UINT Both 0 Yes R All Controls
351 DRILLING_AXIS_LOGICAL_BIT_PATTERN Bit pattern of axes configured as drilling axis UDINT Both Yes R All Controls
for fixed cycles
38 H_WORD H-Word for Display DINT Both 0 Yes R All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
276 MAX_GEOM_OFFSET Maximum geom offset - Online AMP LREAL [ ] Both 1 NUM_PROG_AXE Inch/Met ACTIVE_UNITS No R/W Lathe, Grinder,
S ric/De DLathe
grees
274 MAX_GEOM_OFFSET_CHANGE Maximum geom offset change - Online AMP LREAL [ ] Both 1 NUM_PROG_AXE Inch/Met ACTIVE_UNITS No R/W Lathe, Grinder,
S ric/De DLathe
grees
272 MAX_GEOM_RADIUS Maximum geom radius - Online AMP LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R/W All Controls
ric/De
grees
319 MAX_RADIUS_CHANGE Maximum radius change - Online AMP LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R/W Grinder
ric/De
grees
275 MAX_WEAR_OFFSET Maximum wear offset - Online AMP LREAL [ ] Both 1 NUM_PROG_AXE Inch/Met ACTIVE_UNITS No R/W All Controls
S ric/De
grees
273 MAX_WEAR_OFFSET_CHANGE Maximum wear offset change - Online AMP LREAL [ ] Both 1 NUM_PROG_AXE Inch/Met ACTIVE_UNITS No R/W All Controls
S ric/De
grees
271 MAX_WEAR_RADIUS Maximum wear radius - Online AMP LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R/W Lathe, Grinder,
ric/De DLathe
grees
294 MILL_MAX_GEOM_OFFSET Maximum geom offset for Mill & Dmill- Online LREAL Both 0 Inch/Met ACTIVE_UNITS No R/W Mill, DMill
AMP ric/De
grees
292 MILL_MAX_GEOM_OFFSET_ CHANGE Maximum geom offset change for Mill & Dmill - LREAL Both 0 Inch/Met ACTIVE_UNITS No R/W Mill, DMill
Online AMP ric/De
grees
293 MILL_MAX_WEAR_OFFSET Maximum wear offset for Mill & Dmill- Online LREAL Both 0 Inch/Met ACTIVE_UNITS No R/W Mill, DMill
AMP ric/De
grees
291 MILL_MAX_WEAR_OFFSET_ CHANGE Maximum wear offset change for Mill & Dmill - LREAL Both 0 Inch/Met ACTIVE_UNITS No R/W Mill, DMill
Online AMP ric/De
grees
176 NUM_TOOLS Number of tools -- AMP UINT Both 0 Yes R All Controls
36 T_WORD T-Word for Display DINT Both 0 Yes R All Controls
97 TOOL_ENTRY_UNITS Units for data display and entry for the tool INT [ ] Both 1 Offset Num No R/W All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
93 TOOL_LENGTH_GEOM_ Tool Length Geometry Offset LREAL [ ] [ ] Both 2 Offset Num, Num Inch/Met TOOL_ENTRY_UN Yes R/W Lathe, Mill
OFFSETS Axes ric/De ITS [ Tool_number
grees ]
92 TOOL_LENGTH_WEAR_ Tool Length Wear Offset LREAL [ ] [ ] Both 2 Offset Num, Num Inch/Met TOOL_ENTRY_UN Yes R/W Lathe, Mill
OFFSETS Axes ric/De ITS [ Tool_number
grees ]
98 TOOL_ORIENTATION Tool Orientation Direction INT [ ] Both 1 Offset Num Yes R/W Lathe, Grinder
95 TOOL_RADIUS_GEOM_ Tool Radius Geometry Offset LREAL [ ] Both 1 Offset Num Inch/Met TOOL_ENTRY_UN Yes R/W Lathe, Mill
OFFSETS ric/De ITS [ Tool_number
grees ]
94 TOOL_RADIUS_WEAR_ Tool Radius Wear Offset LREAL [ ] Both 1 Offset Num Inch/Met TOOL_ENTRY_UN Yes R/W Lathe, Mill
OFFSETS ric/De ITS [ Tool_number
grees ]
96 WHEEL_GEOM_OFFSETS Wheel Geometry Offset LREAL [ ] [ ] Both 2 Offset Num, Num Inch/Met TOOL_ENTRY_UN No R/W Grinder
Axes ric/De ITS [ Tool_number
grees ]
l
Operating Mode
46 ACTIVE_MODE Active Mode UINT enumerated Both 0 Yes R All Controls
PAL
50 ACTIVE_SCALE_INDICATOR Active Scaling Indicator on Scaled Axes DINT Both 0 Yes R All Controls
31 ACTIVE_UNITS Inch/Metric Mode UINT enumerated Both 0 Yes R All Controls
54 AXIS_RAD_DIA_MODE Axis Radius/Diameter mode DINT bit pattern Both 0 Yes R Lathe/Cyl
m
PAL/Logic Data
%................... I/O Variables (%variables) UINT [ ] OCI No PAL All Controls
Prot
!....................... User defined PAL globals (!variables) UINT [ ] OCI No PAL All Controls
Prot
$...................... System defined PAL globals ($variables) UINT [ ] Both PAL PAL All Controls
Spec Prot
298
BLOCK_TRANSFER_READ_ DATA Block transfer read data ($ARST) INT [ ] OCI 1 MAX_BLOCK_TRANSFER No R All Controls
299
BLOCK_TRANSFER_WRITE_ DATA Block transfer write data ($AWST) INT [ ] OCI 1 MAX_BLOCK_TRANSFER No R All Controls
152 FG_CRITICAL_AVERAGE Critical Foreground Average UINT OCI 0 usec No R All Controls
153 FG_CRITICAL_MAX Critical Foreground Maximum UINT OCI 0 usec No R All Controls
154 FG_TOTAL_AVERAGE Total Foreground Average UINT OCI 0 usec No R All Controls
155 FG_TOTAL_MAX Total Foreground Maximum UINT OCI 0 usec No R All Controls
192 MEMORY_DUMP_ADDRESS Memory dump start address DINT OCI 0 No R/W All Controls
(debug monitor)
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
193 MEMORY_DUMP_DATA Memory dump data INT [ ] OCI 1 MEM_DUMP_SIZE No R All Controls
(debug monitor)
198 NUM_RING_DEVICES Number of I/O ring devices configured INT OCI No R All Controls
190 PAL_REVISION PAL Symbols Revision DINT OCI 0 No R All Controls
(debug monitor)
191 PALLOC_FREE_SPACE Available Pool Memory DINT Both 0 Bytes No R All Controls
(debug monitor)
296 REMOTE_INPUT_DATA Remote I/O input data ($RMI1,8) INT [ ] OCI 1 MAX_REMOTE_IO No R All Controls
297 REMOTE_OUTPUT_DATA Remote I/O output data ($RMO1,8) INT [ ] OCI 1 MAX_REMOTE_IO No R All Controls
304 RING_IO_CARD_TYPE Output data from the ring device at the requested USINT [ ] [ ] OCI 1 MAX_NUMBER_RING_DEVICES No R All Controls
position
301 RING_IO_DEVICE_ADDRESS Device address on the ring at the requested USINT [ ] OCI 1 MAX_NUMBER_RING_DEVICES No R All Controls
position
302 RING_IO_DEVICE_INPUT_DATA Input data from the ring device at the requested USINT [ ] OCI 1 MAX_NUMBER_RING_DEVICES No R All Controls
position
303 RING_IO_DEVICE_OUTPUT_ DATA Output data from the ring device at the requested USINT [ ] OCI 1 MAX_NUMBER_RING_DEVICES No R All Controls
position
300 RING_IO_DEVICE_TYPE Device type on the ring at the requested position USINT [ ] OCI 1 MAX_NUMBER_RING_DEVICES No R All Controls
356 FINE_SCAN_TIME_AVG Average scan time for secondary interpolation UINT 9/PC 0 No R All Controls
357 FINE_SCAN_TIME_MAX Maximum scan time for secondary interpola UINT 9/PC 0 No R All Controls
tion
358 BLOCK_CYCLE_TIME Average block activation interval UINT 9/PC 0 No R All Controls
359 BLOCK_CYCLE_TIME_MAX Maximum block activation interval UINT 9/PC 0 No R All Controls
360 FOREGROUND_LOGIC_TIME Average foreground logic execution interval UINT 9/PC 0 No R All Controls
361 FOREGROUND_LOGIC_TIME_MAX Maximum foreground logic execution interval UINT 9/PC 0 No R All Controls
362 AMPED_FINE_SCAN_TIME AMPed secondary interpolation rate UINT 9/PC 0 No R All Controls
363 COARSE_SCAN_TIME AMPed and computed primary interpolation UINT 9/PC 0 No R All Controls
rate
n
Paramacro Items
SP..................... Paramacro Parameters by their # numbers LREAL [ ] Both Yes R/W All Controls
113 COM2A_PARAMETER_NAMES Com 2A Parameters Names STRING1 [ ] Both 1 NUM_COM2A_PA Yes R/W All Controls
RAMS
o
Part Program Directory Items
42 ACTIVE_PART_PROGRAM Active Program Name STRING1 Both 0 Yes R All Controls
43 ACTIVE_SUB_PROGRAM Active Sub-program Name STRING1 Both 0 Yes R All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
60 AVAILABLE_MEMORY Available Memory in number of bytes UDINT Both 0 Bytes No R All Controls
68 CYCLE_TIME Cycle Time UDINT Both 0 Yes R All Controls
57 FILE_NAME File Names STRING1 [ ] [ ] Both 2 PP Dir, Num Files No R All Controls
58 FILE_SIZE File Sizes UDINT [ ] [ ] Both 2 PP Dir, Num Files Bytes No R All Controls
70 LOT_SIZE Lot Size UDINT Both 0 Yes R/W All Controls
8 NUM_FILES Num Files UINT [ ] Both 1 NUM_CNC_DI No R All Controls
RECTORIES
59 PART_PROGRAM_COMMENT Program Comments STRING1 [ ] [ ] Both 2 PP Dir, Num Files No R All Controls
45 PART_PROGRAM_SOURCE Source of Part Program USINT enumerated Both 0 No R All Controls
67 POWER_ON_TIME_AFTER_ Power On Time After Reset UDINT Both 0 Yes R All Controls
RESET
64 POWER_ON_TIME_OVERALL Power-On Time Overall UDINT Both 0 Yes R All Controls
66 RUNTIME Run Time UDINT Both 0 Yes R All Controls
56 SELECTED_PART_ Selected Part Program Directory UINT enumerated Both 0 No R All Controls
PROGRAM_DIR
44 SUB_PROGRAM_ Sub-program/Macro Repeat Count UINT Both 0 Yes R All Controls
REPEAT_COUNT
69 WORKPIECES_CUT_ Workpieces Cut After Reset UDINT Both 0 Yes R All Controls
AFTER_RESET
65 WORKPIECES_CUT_OVERALL Workpieces Cut Overall UDINT Both 0 Yes R All Controls
71 WORKPIECES_REMAINING Workpieces Remaining UDINT Both 0 Yes R All Controls
p
Part Program Rotation and Scaling
111 CURRENT_SCALE_FACTORS Current Scale Factor LREAL [ ] Both 1 Num Axes Yes R All Controls
112 DEFAULT_SCALE_FACTORS Default Scale Factor LREAL [ ] Both 1 Num Axes Yes R/W All Controls
108 EXT_ROT_ANGLE External Rotation Angle LREAL Both 0 Degrees Yes R/W Mill, Grinder
102 EXT_ROT_FIRST_AXIS External Rotation Plane Abscissa Axis String1 Both 4 Yes R/W Mill, Grinder
104 EXT_ROT_FIRST_AXIS_ Abscissa Rotation Center LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R/W Mill, Grinder
CENTER ric/De
grees
106 EXT_ROT_FIRST_AXIS_ Abscissa Vector LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R/W Mill, Grinder
VECTOR ric/De
grees
103 EXT_ROT_SECOND_AXIS External Rotation Plane Ordinate Axis String1 Both 4 Yes R/W Mill, Grinder
105 EXT_ROT_SECOND_AXIS_ CENTER Ordinate Rotation Center LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R/W Mill, Grinder
ric/De
grees
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
107 EXT_ROT_SECOND_AXIS_ Ordinate Vector LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R/W Mill, Grinder
VECTOR ric/De
grees
109 PROG_ROT_ANGLE Programmable Rotation Angle LREAL Both 0 Degrees Yes R/W Mill, Grinder
110 SCALING_CENTER Scaling Center LREAL [ ] Both 1 Num Axes Inch/Met ACTIVE_UNITS Yes R All Controls
ric/De
grees
q
Position Information
328 AXIS_FORMATS_INCH Num of digits to the right of the decimal point in USINT [ ] Both 1 Num_Prog_Axes Yes R All Controls
inch mode for axis names
329 AXIS_FORMATS_METRIC Num of digits to the right of the decimal point in USINT [ ] Both 1 Num_Prog_Axes Yes R All Controls
metric mode for axis names
24 AXIS_POSITION_ABS Axis Positions - Absolute LREAL [ ] Both 1 Num Axes Inch/Met ACTIVE_UNITS Yes R All Controls
ric/De
grees
26 AXIS_POSITION_DTG Axis Positions - Distance To Go LREAL [ ] Both 1 Num Axes Inch/Met ACTIVE_UNITS Yes R All Controls
ric/De
grees
23 AXIS_POSITION_PRG Axis Positions - Programmed LREAL [ ] Both 1 Num Axes Inch/Met ACTIVE_UNITS Yes R All Controls
ric/De
grees
25 AXIS_POSITION_TAR Axis Positions - Target LREAL [ ] Both 1 Num Axes Inch/Met ACTIVE_UNITS Yes R All Controls
ric/De
grees
355 SKEW_SLAVE_ABSOLUTE_POSITION Absolute position of Skew slave axes. LREAL [ ] Both 1 Num Skew Axes Inch/Met ACTIVE_UNITS Yes R All Controls
ric/De
grees
r
Probing and Skip Cycles
308
DEPTH_PROBE_FOLLOWING_ ERROR Following error for the depth probe servo LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R Mill, DMill
ric/De
grees
307
DEPTH_PROBE_POSITION Position value for depth probe LREAL Both 0 Inch/Met ACTIVE_UNITS Yes R Mill, DMill
ric/De
grees
277
PROBE_APPROACH_DISTANCE Probing cycles compensation (D) - Online AMP LREAL Both 1 Probe Entry Units Inch/Met Metric units always Yes R/W Mill, DMill
ric/De (mm)
grees
279
PROBE_APPROACH_FEEDRATE Probe cycle approach speed (E) - Online AMP LREAL Both 1 Probe Entry Units Inch/Met Metric units always Yes R/W Mill, DMill
ric/De (mm/sec)
grees
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
327
PROBE_ENTRY_UNITS Units for touch probe data entry INT (inch/metric) Both 0 Yes R/W Mill, DMill
enum
280
PROBE_FEEDRATE Probe cycle feedrate (F) - Online AMP LREAL Both 1 Probe Entry Units Inch/Met Metric units always Yes R/W Mill, DMill
ric/De (mm/sec)
grees
281
PROBE_LENGTH Probe length for compensation - Online AMP LREAL Both 1 Probe Entry Units Inch/Met Metric units always Yes R/W Mill, DMill
ric/De (mm)
grees
282
PROBE_RADIUS Probe radius for compensation - Online AMP LREAL Both 1 Probe Entry Units Inch/Met Metric units always Yes R/W Mill, DMill
ric/De (mm)
grees
278
PROBE_TOLERANCE_BAND Probing cycles compensation (B) - Online AMP LREAL Both 1 Probe Entry Units Inch/Met Metric units always Yes R/W Mill, DMill
ric/De (mm)
grees
s
Program Block Items
48 ACTIVE_PART_PROGRAM_BLOCKS Active Part Program Blocks STRING1 [ ] Both 1 Num setupbuffers Yes R All Controls
37 N_WORD Programmed N-Word DINT Both 0 Yes R All Controls
(from the letter table)
7 NUM_SETUP_BUFFERS Num setupbuffers DINT Max Value 21 Both 0 No R All Controls
t
Random Tool and Tool Life Management
194 ACTIVE_RANDOM_TOOL_NUM Active random tool number INT Both 0 Yes R Lathe, Mill, Dual
195 ACTIVE_RANDOM_TOOL_NUM_POCKETS Number of pockets for active random tool USINT Both 0 Yes R Lathe, Mill, Dual
196 ACTIVE_RANDOM_TOOL_SHAFT_POCKET Shaft pocket number of active random tool USINT Both 0 Yes R Lathe, Mill, Dual
197 NUM_AMP_PARAMETERS Number of AMP Parameters UINT Both 0 No R All Controls
178 NUM_POCKETS Number of tool pockets -- AMP UINT Both 0 Yes R All Controls
224 RT_POCKETS_NEEDED Random tool pockets needed USINT [ ] Both 1 MAX_NUM Yes R Lathe, Mill
BER_POCKETS
225 RT_SHAFT_POCKET Random tool shaft pocket USINT [ ] Both 1 MAX_NUM Yes R Lathe, Mill
BER_POCKETS
223 RT_TOOL_NUM Random tool number INT [ ] Both 1 MAX_NUM Yes R Lathe, Mill
BER_POCKETS
213 TM_ACTIVE_ENTRY Active tool management tool entry INT Both 0 Yes R Lathe, Mill, Dual
212 TM_ACTIVE_TOOL Active tool management tool INT Both 0 Yes R Lathe, Mill, Dual
211 TM_ACTIVE_TOOL_GROUP Active tool management tool group INT Both 0 Yes R Lathe, Mill, Dual
220 TM_ACCUMULATED_LIFE Tool management data accumulated life REAL [ ] Both 1 MAX_TOOL_EN Yes R/W Lathe, Mill
TRIES
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
218 TM_CUTTER_COMP_NUM Tool management data cutter comp number USINT [ ] Both 1 MAX_TOOL_EN Yes R/W Lathe, Mill
TRIES
216 TM_ENTRY_NUM Tool management data entry number USINT [ ] Both 1 MAX_TOOL_EN Yes R Lathe, Mill
TRIES
221 TM_EXPECTED_LIFE Tool management data expected tool life REAL [ ] Both 1 MAX_TOOL_EN Yes R/W Lathe, Mill
TRIES
222 TM_GRAPHICS_TOOL_COLOR Tool management data graphics tool color USINT [ ] enumerated Both 1 MAX_TOOL_EN Yes R/W Lathe, Mill
TRIES
215 TM_GROUP_NUM Tool management data group number INT [ ] Both 1 MAX_TOOL_EN Yes R Lathe, Mill
TRIES
219 TM_STATUS Tool management data status USINT [ ] Both 1 MAX_TOOL_EN Yes R Lathe, Mill
TRIES
208 TM_TOOL_GROUP_LIFE_TYPE Tool management group life type USINT [ ] Both 1 MAX_TOOL_GRO Yes R/W Lathe, Mill
UPS
209 TM_TOOL_GROUP_THLD_RATE Tool management group threshold rate USINT [ ] Both 1 MAX_TOOL_GRO Yes R/W Lathe, Mill
UPS
214 TM_TOOL_NUM Tool management data tool number INT [ ] Both 1 MAX_TOOL_EN Yes R Lathe, Mill
TRIES
217 TM_TOOL_OFFSET_NUM Tool management data tool offset number USINT [ ] Both 1 MAX_TOOL_EN Yes R/W Lathe, Mill
TRIES
210 TM_TOOLS_PER_GROUP Number of tools in each valid tool group USINT [ ] Both 1 MAX_TOOL_GRO Yes R Lathe, Mill, Dual
UPS
339 TM_UPDATE_IN_PROGRESS True if tool management update is in progress INT Both Yes R All Controls
u
Servo Information
342 ANGLED_WHEEL_ALLOWED True if system supports angled wheel mode INT [ ] OCI Yes R Grinder
21 AXIS_NAME Displayed Axis Names Per Process STRING1 [ ] Both 1 Num Axes Yes R All Controls
346 AXIS_PRESENT_LOGICAL_BIT_PATTERN Bit pattern of axes in currently active plane UDINT Both Yes R All Controls
368 NUM_1394_RACKS Number of 1394 racks connected to the CNC UINT 9/PC 0 No R All Controls
2 NUM_AXES Num Axes num_rv_axes UINT Max Value 12 Both 0 Yes R All Controls
315 NUM_MONITORED_SERVOS # of servos monitored (prog axes+skew UINT Both 0 Yes R All Controls
slaves+spindle)
341 NUM_PROG_AXES_PLUS_EXTRA Num programming axis (inc. duals, and angled UINT Both 0 Yes R All Controls
virtual axes)
1 NUM_SERVO_MODULES Num Servo Modules UINT Max Value 3 OCI 0 No R All Controls
9 NUM_SERVOS Num Servos (inc. deskew and depth probe) UINT Max Value 15 Both 0 Yes R All Controls
335 NUM_SERVOS_PLUS_SPINDLES Number of servos plus the number of spindles INT Max Value 15 Both 0 Yes R All Controls
268 NUM_SKEWSLAVES Num of skew slaves in the process INT Both Yes R All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
364 RACK_1394_SYSTEM_MODULE_HW_REVI Revision number associated with each rack of UINT[ ] 9/PC 1 MAX_1394_SE No R All Controls
SION 1394 drives RIAL_RACKS
365 RACK_1394_SERCOS_ADDRESS Configured address associated with each rack UINT[ ] 9/PC 1 MAX_1394_SE No R All controls
of 1394 drives RIAL_RACKS
366 RACK_1394_BOARD_NUMBER Physical connector number for a 1394 rack to UINT 9/PC 1 MAX_1394_SE No R All Controls
the CNC RIAL_RACKS
367 RACK_1394_AXIS_MODULE_ERRORS Error codes for the axis modules in one 1394 UINT[ ] 9/PC 1 MAX_1394_SE No R All Controls
rack RIAL_RACKS
348 ROLLOVER_AXIS_LOGICAL_BIT_PATTERN Bit pattern of axes configured as rollover UDINT Both Yes R All Controls
348 ROTARY_AXIS_LOGICAL_BIT_PATTERN Bit pattern of axes configured as rotary UDINT Both Yes R All Controls
22 SERVO_NAME Servo Names in AMPed Order SINT [ ] AMP Both 1 Num Servos No R All Controls
338 VIRTUAL_AXIS _ALLOWED Value is true if system supports virtual axis INT [ ] Both Yes R All Controls
323 VIRTUAL_FORMATS Num digits to the right of the decimal point for INT [ ] Both 1 Num Virtual Names Yes R All Controls
virtual/cylindrical axes
322 VIRTUAL_NAMES Axis name used for virual C and cylindrical fea INT [ ] Both 1 Num Virtual Names Yes R All Controls
tures
v
Servo Parameters
199 AXIS_SKEW_AMOUNT Amount of Axis Skew LREAL [ ] Both 1 Num Skew Slaves Inch/ Active Units Yes R All Controls
Metric/
Degrees
134 DISTANCE_TO_MARKER Distance To Marker LREAL [ ] Both 1 NUM_SER Inch/Met ACTIVE_UNITS Yes R All Controls
VOS_PLUS_SPIN ric/De
DLES grees
130 FEED_FORWARD_PERCENT Feed Forward Percentage LREAL [ ] Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
124 FOLLOWING_ERROR Following Error LREAL [ ] Both 1 NUM_SER Inch/Met ACTIVE_UNITS Yes R All Controls
VOS_PLUS_SPIN ric/De
DLES grees
290 HOME_CALIBRATION_AMOUNT Home calibration amount - Online AMP LREAL [ ] Both 1 NUM_PROG_AXE Inch/Met ACTIVE_UNITS No R/W All Controls
S_PLUS_SKEWS ric/De
LAVES grees
136 MARKER_STATUS Marker (Not) Found UINT bit pattern Both 0 Num Servos Yes R All Controls
128 MAX_NEGATIVE_TORQUE Maximum % Rated Torque (-) LREAL [ ] Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
127 MAX_POSITIVE_TORQUE Maximum % Rated Torque (+) LREAL [ ] Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
131 POSITION_LOOP_INIT_GAIN Initial Gain of Position Loop REAL [ ] Both 1 NUM_SER IPM/MIL, ACTIVE_UNITS Yes R/W All Controls
VOS_PLUS_SPIN MMPM/
DLES MIL
289 REVERSAL_ERROR_DISTANCE Distance for reversal error comp - Online AMP LREAL [ ] Both 1 NUM_PROG_AXE Inch/Met ACTIVE_UNITS No R/W All Controls
S_PLUS_SKEWS ric/De
LAVES grees
137 SERVO_STATUS Servo Status INT [ ] enumerated Both 1 Num Servos Yes R All Controls
126 TORQUE Torque LREAL [ ] Both 1 NUM_SER Yes R All Controls
VOS_PLUS_SPIN
DLES
129 TORQUE_OFFSET_PERCENT Torque Offset Percentage LREAL [ ] Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
133 VELOCITY_DISCHARGE_RATE Discharge rate for velocity loops INT [ ] Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
147 VELOCITY_INTEGRAL_GAIN Integral gain for the velocity loop UDINT [ ] Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
148 VELOCITY_PROPORTIONAL_ GAIN Proportional gain for the velocity loop UDINT [ ] Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
344 VELOCITY_GAINS_FROM_TABLE Use Motor Tables (1 = No) INT Both 1 NUM_SER Yes R/W All Controls
VOS_PLUS_SPIN
DLES
w
Spindle Data
41 CONTROLLING_SPINDLE_NUM Controlling Spindle Number UINT Both 0 Yes R All Controls
10 NUM_SPINDLES Num Spindles UINT Max Value 3 Both 0 No R All Controls
35 S_WORD Programmed S-Word LREAL Both 0 Yes R All Controls
(from the letter table)
135 SPINDLE_DAC_COMMAND Spindle DAC Cmd for Control Spindle INT [ ] Both 1 Num Spindles 4096 = No R All Controls
10 Volts
132 SPINDLE_GEAR_RANGE_MAX_VOLTAGE Max Voltage for Spindle Gear Range REAL [ ] [ ] Both 2 Num Spindles, 8 Volts No R/W All Controls
370 SPINDLE_MOTOR_TYPE Motor Commutation of the Spindle UINT[ ] Both 1 Num Spindles Yes R All Controls
34 SPINDLE_SPEED_VALUE Spindle Speed Value LREAL [ ] Both 1 Num Spindles RPM Yes R All Controls
(from FGDATA)
371 SYNC_SPINDLE_SKEW Difference in following error between the syn LREAL Both 0 Degrees No R All Controls
chronized spindles
x
Work Coordinate System Information
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
340 ACTIVE_PLANE_AXES Bit pattern of axes in active plane DINT Both Yes R All Controls
90 EXTERNAL_WORK_COORD External Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met EXTER Yes R/W All Controls
ric/De NAL_WORK_COO
grees RD_UNITS
91 EXTERNAL_WORK_COORD_ UNITS External Work Coordinate Units INT Both 0 Yes R/W All Controls
72 G54_WORK_COORD G54 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G54_WORK_COO Yes R/W All Controls
ric/De RD_UNITS
grees
73 G54_WORK_COORD_UNITS G54 Work Coordinate Units INT Both 0 Yes R/W All Controls
74 G55_WORK_COORD G55 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G55_WORK_COO Yes R/W All Controls
ric/De RD_UNITS
grees
75 G55_WORK_COORD_UNITS G55 Work Coordinate Units INT Both 0 Yes R/W All Controls
76 G56_WORK_COORD G56 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G56_WORK_COO Yes R/W All Controls
ric/De RD_UNITS
grees
77 G56_WORK_COORD_UNITS G56 Work Coordinate Units INT Both 0 Yes R/W All Controls
78 G57_WORK_COORD G57 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G57_WORK_COO Yes R/W All Controls
ric/De RD_UNITS
grees
79 G57_WORK_COORD_UNITS G57 Work Coordinate Units INT Both 0 Yes R/W All Controls
80 G58_WORK_COORD G58 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G58_WORK_COO Yes R/W All Controls
ric/De RD_UNITS
grees
81 G58_WORK_COORD_UNITS G58 Work Coordinate Units INT Both 0 Yes R/W All Controls
82 G59_WORK_COORD G59Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G59_WORK_COO Yes R/W All Controls
ric/De RD_UNITS
grees
83 G59_WORK_COORD_UNITS G59 Work Coordinate Units INT Both 0 Yes R/W All Controls
84 G591_WORK_COORD G59.1 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G591_WORK_CO Yes R/W All Controls
ric/De ORD_UNITS
grees
85 G591_WORK_COORD_UNITS G59.1 Work Coordinate Units INT Both 0 Yes R/W All Controls
86 G592_WORK_COORD G59.2 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G592_WORK_CO Yes R/W All Controls
ric/De ORD_UNITS
grees
87 G592_WORK_COORD_UNITS G59.2 Work Coordinate Units INT Both 0 Yes R/W All Controls
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
88 G593_WORK_COORD G59.3 Work Coordinate LREAL [ ] Both 1 Num Axes Inch/Met G593_WORK_CO Yes R/W All Controls
ric/De ORD_UNITS
grees
89 G593_WORK_COORD_UNITS G59.3 Work Coordinate Units INT Both 0 Yes R/W All Controls
345 PLANE E_AXES_INDICES Bit pattern of axes in currently active plane INT[ ] Both Yes R All Controls
202 WORK_COORD_LABELS Labels for work coordinates STRING1 [ ] Both 1 MAX_WORK_CO No R/W Grinder
ORD
y
Zones and Overtravels
265 INTERF_FIRST_AXIS_MINUS_AREA_1 Interference zones first axis minus limit for dual LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
process interference zone 1 ric/De Interf Tool Number
grees ]
264 INTERF_FIRST_AXIS_PLUS_ AREA_1 Interference zones first axis plus limit for dual LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
process interference zone 1 ric/De Interf Tool Number
grees ]
267 INTERF_SECOND_AXIS_MINUS_AREA_1 Interference zones second axis minus limit for LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
dual process interference zone 1 ric/De Interf Tool Number
grees ]
266 INTERF_SECOND_AXIS_PLUS_AREA_1 Interference zones second axis plus limit for LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
dual process interference zone 1 ric/De Interf Tool Number
grees ]
331 INTERF_FIRST_AXIS_MINUS_AREA_2 Interference zones first axis minus limit for dual LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
process interference zone 2 ric/De Interf Tool Number
grees ]
330 INTERF_FIRST_AXIS_PLUS_ AREA_2 Interference zones first axis plus limit for dual LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
process interference zone 2 ric/De Interf Tool Number
grees ]
333 INTERF_SECOND_AXIS_MINUS_AREA_2 Interference zones second axis minus limit for LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
dual process interference zone 2 ric/De Interf Tool Number
grees ]
332 INTERF_SECOND_AXIS_PLUS_AREA_2 Interference zones second axis plus limit for LREAL [ ] OCI 1 Interf Tool Number Inch/Met INTERF_UNITS [ Yes R/W Dual
dual process interference zone 2 ric/De Interf Tool Number
grees ]
177 INTERF_TOOL_NUM Number of Interference tools -- AMP UINT OCI 0 Yes R All Controls
114 LIMIT2_LOWER_LIMITS Limit 2 Lower Limit LREAL [ ] OCI 1 Num Axes Inch/Met ACTIVE_UNITS Yes R/W All Controls
ric/De
grees
115 LIMIT2_UPPER_LIMITS Limit 2 Upper Limit LREAL [ ] OCI 1 Num Axes Inch/Met ACTIVE_UNITS Yes R/W All Controls
ric/De
grees
Item (Name) Description Data Type OCI/9/PC Num Array Indices Units Units Dual Req Control Type
Indices Dependency Proc.
116 LIMIT3_LOWER_LIMITS Limit 3 Lower Limit LREAL [ ] OCI 1 Num Axes Inch/Met ACTIVE_UNITS Yes R/W All Controls
ric/De
grees
117 LIMIT3_UPPER_LIMITS Limit 3 Upper Limit LREAL [ ] OCI 1 Num Axes Inch/Met ACTIVE_UNITS Yes R/W All Controls
ric/De
grees
354 LOGICAL_AXIS_ZONE_GROUP Array of integers for each axis where UINT[ ] OCI 1 Num Axes Yes R All Controls
0 axis is not in zone group
2 axis is in zone group 2
3 axis is in zone group 3
z
Inst Item (Name) Command Description Control Type OCI / 9/PC # Params Dual Parameter 1 P1 type Parameter 2 P2 type Parameter 3 P3 type
ID Proc.
AMP Commands
42 BACKUP_AMP Send AMP to backup storage All Controls Both No
44 MODIFYING_AMP Modifying AMP for patch AMP utility All Controls Both No
45 UPDATE_AMP Updates AMP on control after patch AMP modi All Controls Both No
fication
Axis Calibration
46 BACKUP_AXISCALOCI Sends axis calibration to backup storage All Controls Both No
41 DELETE_AXISCAL_POINT Deletes axis calibration point All Controls Both 2 Yes Logical Axis Number DINT Axis Cal Point No DINT
148 DELETE_ALL_AXISCAL_POINTS Deletes ALL axis calibration point all axes All Controls Both Yes
39 INITIALIZE_AXISCAL_TABLE Initializse axis calibration table All Controls Both 3 Yes Logical Axis Number DINT Cal Type enum DINT Cal Start enum DINT
40 INSERT_AXISCAL_POINT Insert axis calibration point All Controls Both 1 Yes Logical Axis Number DINT
155 NEXT_AXISCAL_AXIS Selects the axis for axiscal operations All Controls Both 1 Yes Logical Axis Number DINT
65 REPLACE_AXISCAL_VALUE Replaces axis calibration values in table All Controls Both 3 Yes Logical Axis Number DINT Axis Cal Point No DINT Axiscal Meas/Deviation LREAL
Value
47 RESTORE_AXISCAL Sends axis calibration from backup storage All Controls Both No
154 SET_AXISCAL_PROCESS_NUMBER Sets the process number for axiscal All Controls Both 1 No Process Number DINT
5 STOP_AXISCAL Disables axis calibration on the specified axis All Controls Both 1 No Logical Axis Number DINT
Inst Item (Name) Command Description Control Type OCI / 9/PC # Params Dual Parameter 1 P1 type Parameter 2 P2 type Parameter 3 P3 type
ID Proc.
Communications
88 ACTIVATE_RIO_PASSTHROUGH Activates remote I/O passthrough All Controls OCI No
113 AUX_COM_ABORT_COMMAND Aborts Aux Comm command in progress All Controls OCI No
82 AUX_COM_BACKUP_CONFIG_TABLE Aux Comm backup communication tables All Controls OCI 1 No File Name STRING1
78 AUX_COM_CMD_FWD_SEARCH Aux Comm command forward search All Controls OCI 2 No Search Type enum DINT Search String STRING1
79 AUX_COM_CMD_REV_SEARCH Aux Comm command reverse search All Controls OCI 2 No Search Type enum DINT Search String STRING1
150 AUX_COM_CMDTBL_FROM_FLASH Reads command table from flash All Controls OCI No
149 AUX_COM_CONFIG_FROM_FLASH Read Aux Comm configuration from flash All Controls OCI No
83 AUX_COM_DOWNLOAD_FILE Aux Comm download file All Controls OCI 2 No Local File Name STRING1 Remote File Name STRING1
151 AUX_COM_HOST_FROM_FLASH Aux Comm host address config read from flash All Controls OCI No
84 AUX_COM_HOST_WRITE_TO_FLASH Aux Comm host address config writes to flash All Controls OCI No
80 AUX_COM_SENDCMD Aux Comm send command All Controls OCI 1 No Command Index 1-64 DINT
70 COPY_DEVICE_SETUP_DEF AULTS Copies defaults for device setup All Controls OCI 2 No Device Num enum DINT Port ID enum DINT
101 ENTER_SERIAL_IO_MONITOR_MODE Enters serial I/O monitoring mode All Controls OCI 2 No Port ID enum DINT Receive/Transmit DINT
102 EXIT_SERIAL_IO_MONITOR_MODE Exits serial I/O monitoring mode All Controls OCI No
156 INITIALIZE_DEVICE_SETUP Initialize the RAM copy of device setup at start All Controls OCI No
up
74 REPEAT_TX_SERIAL_IO Repeat transmits on serial I/O All Controls OCI 1 No Repeat Char DINT
73 SINGLE_TX_SERIAL_IO Single transmits on serial I/O All Controls OCI 1 No Char DINT
Miscellaneous
63 CANCEL_MESSAGE Cancels active messages All Controls Both No
4 CALCULATE Perform a math calculation on a string All Controls Both 1 Yes Calc_string STRING1
59 CLEAR_DEBUG_MONITOR Clears fields in the debug monitor parameters All Controls Both 1 No Parameter Index DINT
enum
Inst Item (Name) Command Description Control Type OCI / 9/PC # Params Dual Parameter 1 P1 type Parameter 2 P2 type Parameter 3 P3 type
ID Proc.
107 CLEAR_WORKPIECES_CUT_OVERALL Clears workpieces cut overall All Controls Both Yes
90 INPUT_MDI_STRING Inputs MDI string All Controls Both 1 Yes MDI String STRING1
Offsets
20 ACTIVATE_TOOL_GEOM Activates tool geometry offset "Lathe, Dual Both 1 Yes Tool Number DINT
Lathe"
94 ACTIVATE_TOOL_LENGTH Activates tool length offset on mill "Mill, Dual Mill" Both 1 Yes Tool Number DINT
93 ACTIVATE_TOOL_RADIUS Activates tool radius offset on mill "Mill, Dual Mill" Both 1 Yes Tool Number DINT
18 ACTIVATE_TOOL_WEAR Activates tool wear offset "Lathe, Dual Both 1 Yes Tool Number DINT
Lathe"
22 ACTIVATE_WHEEL_GEOM Activates wheel geometry offset Grinder OCI 1 No Tool Number DINT
57 ACTIVATE_WHEEL_RADIUS Activates wheel radius offset Grinder OCI 1 No Tool Number DINT
30 BACKUP_ALL_OFFSETS Backs up all offsets to part program All Controls Both 1 Yes File Name STRING1
31 BACKUP_INTERF_TABLE Backs up Interference table to part program Dual OCI 1 Yes File Name STRING1
99 BACKUP_RADIUS_TABLE Backs up grinder tool radius table Grinder OCI 1 No File Name STRING1
28 BACKUP_TOOL_GEOM Backs up tool geometry offset to part program "Lathe, Mill, Both 1 Yes File Name STRING1
Dual"
27 BACKUP_TOOL_WEAR Backup tool wear offset to part program "Lathe, Mill, Both 1 Yes File Name STRING1
Dual"
100 BACKUP_WHEEL_GEOMETRY Backs up grinder tool geometry table Grinder OCI 1 No File Name STRING1
29 BACKUP_WORK_COORD Backs up work coordinate offset to part pro All Controls Both 2 Yes File Name STRING1
gram
120 COPY_OFFSET Copies offset from source to destination for all All Controls Both 1 Yes Src Ax Name, Dest Ax STRING1
tools Name
21 MEASURE_TOOL_GEOM Measure tool geometry offset "Lathe, Dual Both 3 Yes Tool Number DINT Proc Axis No DINT Desired Prog Pos LREAL
Lathe"
19 MEASURE_TOOL_WEAR Measure tool wear offset "Lathe, Dual Both 3 Yes Tool Number DINT Proc Axis No DINT Desired Prog Pos LREAL
Lathe"
23 MEASURE_WHEEL_GEOM Measure wheel geometry offset Grinder OCI 3 No Tool Number DINT Axis No DINT Desired Prog Pos LREAL
PAL Commands
51 TRANSFER_PAL_FROM_PORTA PAL and I/O from port A All Controls OCI No
Inst Item (Name) Command Description Control Type OCI / 9/PC # Params Dual Parameter 1 P1 type Parameter 2 P2 type Parameter 3 P3 type
ID Proc.
Paramacro Commands
36 BACKUP_ALL_PARAMETERS Backup all paramacro parameters All Controls Both 1 Yes File Name STRING1
32 BACKUP_COM1_PARAMETERS Backup Com-1 paramacro parameters All Controls Both 1 Yes File Name STRING1
33 BACKUP_COM2A_PARAMETERS Backup Com-2A paramacro parameters All Controls Both 1 Yes File Name STRING1
34 BACKUP_COM2B_PARAMETERS Backup Com-2B paramacro parameters All Controls Both 1 Yes File Name STRING1
35 BACKUP_SHARED_PARAMETERS Backup Shared paramacro parameters Dual Both 1 Yes File Name STRING1
103 CLEAR_COM_NAME Clears all paramacro com2a names All Controls Both 1 Yes Param Index (0 - all) DINT
104 ZERO_ALL_COM_VALUES Sets specified paramacro com params to zero All Controls Both 1 Yes Com Table (enum) DINT
8 COPY_PART_PROGRAM Copies part program All Controls Both 2 No Source Name STRING1 Destination Name STRING1
153 COPY_PART_PROGRAM_FOR_EDIT Copies part program to/from OCI for editing All Controls Both No
132 COPY_MEM_TO_MEM Copies part program file memory to memory All Controls Both 3 No Source File Name STRING1 Dest File Name STRING1 Test(0)/Exec(1) DINT
133 COPY_MEM_TO_PORTA Copies part program file memory to port A All Controls OCI 3 No Source File Name STRING1 Copy to type enum DINT Test(0)/Exec(1) DINT
134 COPY_MEM_TO_PORTB Copies part program file memory to port B All Controls OCI 3 No Source File Name STRING1 Copy to type enum DINT Test(0)/Exec(1) DINT
135 COPY_PORTA_TO_MEM Copies part program file port A to memory All Controls OCI 3 No Dest File Name STRING1 Copy from type DINT Test(0)/Exec(1) DINT
enum
136 COPY_PORTB_TO_MEM Copies part program file port B to memory All Controls OCI 3 No Dest File Name STRING1 Copy from type DINT Test(0)/Exec(1) DINT
enum
9 DELETE_PART_PROGRAM Deletes part program All Controls Both 1 No File Name STRING1
114 ENTER_PART_PROGRAM_ Enters part program search mode All Controls Both 1 Yes Search Type enum DINT
SEARCH_MODE
115 EXECUTE_PART_PROGRAM_SEARCH Executes part program search All Controls Both 1 Yes Search Method enum DINT
12 RENAME_PART_PROGRAM Renames part program All Controls Both 2 No File Name 1 STRING1 File Name 2 STRING1
6 SEQUENCE_STOP_PART_PROGRAM Sequence stop part program All Controls Both 1 Yes Stop Sequence No DINT
15 SET_DIRECTORY Sets directory All Controls Both 2 No Target Directory DINT enum Password STRING1
11 SET_PART_PROGRAM_COMMENT Sets comments for part program All Controls Both 2 No File Name STRING1 Comment String STRING1
13 SET_PART_PROGRAM_INPUT_DEVICE Inputs device All Controls Both 1 Yes Source of Part Prog DINT
enum
116 SET_PART_PROGRAM_SEARCH_ Sets part program search pattern All Controls Both 1 Yes Search Pattern STRING1
PATTERN
10 VERIFY_PART_PROGRAM Verifies part program All Controls Both 3 No File Name 1 STRING1 File Name 2 STRING1 Source of Part Prog enum DINT
121 VERIFY_WITH_PORTA Verifies part program with port A All Controls OCI 2 Yes File Name STRING1 Test(0)/Exec(1) DINT
Inst Item (Name) Command Description Control Type OCI / 9/PC # Params Dual Parameter 1 P1 type Parameter 2 P2 type Parameter 3 P3 type
ID Proc.
122 VERIFY_WITH_PORTB Verifies part program with port B All Controls OCI 2 Yes File Name STRING1 Test(0)/Exec(1) DINT
118 EXECUTE_MIDSTART_SEARCH Executes midstart search All Controls Both 1 Yes Midstart Search Mode DINT
enum
119 SET_MIDSTART_SEARCH_PATTERN Sets midstart seach pattern All Controls Both 1 Yes Search Pattern STRING1
38 STOP_QUICK_CHECK Stops Quick Check All Controls Both Yes File Name STRING1
25 BACKUP_RANDOM_TOOL Backup random tool data to part program "Lathe, Mill, Both 1 Yes File Name STRING1
Dual"
24 BACKUP_TOOL_MANAGE Backup tool management data to part program "Lathe, Mill, Both 1 Yes File Name STRING1
Dual"
111 RT_CUSTOMIZE_TOOL Customize random tool pocket "Lathe, Mill, Both 3 Yes Pocket Number DINT Pockets Needed DINT Shaft Pocket DINT
Dual"
110 RT_SET_TOOL_NUM Assign random tool number to pocket "Lathe, Mill, Both 2 Yes Tool Number DINT Number of Pockets DINT
Dual"
98 TM_DELETE_ALL Delete all the tool management groups "Mill, Dual Mill" Both Yes
95 TM_DELETE_GROUP Delete tool group in tool management "Mill, Dual Mill" Both 1 Yes Tool Group Number DINT
97 TM_DELETE_TOOL Delete tool from tool management group "Mill, Dual Mill" Both 2 Yes Tool Group Number DINT Entry Number DINT
96 TM_INSERT_TOOL Insert tool into tool management group "Mill, Dual Mill" Both 3 Yes Tool Group Number DINT Tool Number DINT Entry Number (where to DINT
put tool)
Paramacro Commands
36 BACKUP_ALL_PARAMETERS Backup all paramacro parameters All Controls Both 1 Yes File Name STRING1
32 BACKUP_COM1_PARAMETERS Backup Com-1 paramacro parameters All Controls Both 1 Yes File Name STRING1
33 BACKUP_COM2A_PARAMETERS Backup Com-2A paramacro parameters All Controls Both 1 Yes File Name STRING1
34 BACKUP_COM2B_PARAMETERS Backup Com-2B paramacro parameters All Controls Both 1 Yes File Name STRING1
35 BACKUP_SHARED_PARAMETERS Backup Shared paramacro parameters Dual Both 1 Yes File Name STRING1
103 CLEAR_COM_NAME Clears all paramacro com2a names All Controls Both 1 Yes Param Index (0 - all) DINT
104 ZERO_ALL_COM_VALUES Sets specified paramacro com params to zero All Controls Both 1 Yes Com Table (enum) DINT
8 COPY_PART_PROGRAM Copies part program All Controls Both 2 No Source Name STRING1 Destination Name STRING1
Inst Item (Name) Command Description Control Type OCI / 9/PC # Params Dual Parameter 1 P1 type Parameter 2 P2 type Parameter 3 P3 type
ID Proc.
153 COPY_PART_PROGRAM_FOR_EDIT Copies part program to/from OCI for editing All Controls Both No
132 COPY_MEM_TO_MEM Copies part program file memory to memory All Controls Both 3 No Source File Name STRING1 Dest File Name STRING1 Test(0)/Exec(1) DINT
133 COPY_MEM_TO_PORTA Copies part program file memory to port A All Controls OCI 3 No Source File Name STRING1 Copy to type enum DINT Test(0)/Exec(1) DINT
134 COPY_MEM_TO_PORTB Copies part program file memory to port B All Controls OCI 3 No Source File Name STRING1 Copy to type enum DINT Test(0)/Exec(1) DINT
135 COPY_PORTA_TO_MEM Copies part program file port A to memory All Controls OCI 3 No Dest File Name STRING1 Copy from type DINT Test(0)/Exec(1) DINT
enum
136 COPY_PORTB_TO_MEM Copies part program file port B to memory All Controls OCI 3 No Dest File Name STRING1 Copy from type DINT Test(0)/Exec(1) DINT
enum
9 DELETE_PART_PROGRAM Deletes part program All Controls Both 1 No File Name STRING1
114 ENTER_PART_PROGRAM_ Enters part program search mode All Controls Both 1 Yes Search Type enum DINT
SEARCH_MODE
115 EXECUTE_PART_PROGRAM_SEARCH Executes part program search All Controls Both 1 Yes Search Method enum DINT
12 RENAME_PART_PROGRAM Renames part program All Controls Both 2 No File Name 1 STRING1 File Name 2 STRING1
6 SEQUENCE_STOP_PART_PROGRAM Sequence stop part program All Controls Both 1 Yes Stop Sequence No DINT
15 SET_DIRECTORY Sets directory All Controls Both 2 No Target Directory DINT enum Password STRING1
11 SET_PART_PROGRAM_COMMENT Sets comments for part program All Controls Both 2 No File Name STRING1 Comment String STRING1
13 SET_PART_PROGRAM_INPUT_DEVICE Inputs device All Controls Both 1 Yes Source of Part Prog DINT
enum
116 SET_PART_PROGRAM_SEARCH_ Sets part program search pattern All Controls Both 1 Yes Search Pattern STRING1
PATTERN
10 VERIFY_PART_PROGRAM Verifies part program All Controls Both 3 No File Name 1 STRING1 File Name 2 STRING1 Source of Part Prog enum DINT
121 VERIFY_WITH_PORTA Verifies part program with port A All Controls OCI 2 Yes File Name STRING1 Test(0)/Exec(1) DINT
122 VERIFY_WITH_PORTB Verifies part program with port B All Controls OCI 2 Yes File Name STRING1 Test(0)/Exec(1) DINT
118 EXECUTE_MIDSTART_SEARCH Executes midstart search All Controls Both 1 Yes Midstart Search Mode DINT
enum
119 SET_MIDSTART_SEARCH_PATTERN Sets midstart seach pattern All Controls Both 1 Yes Search Pattern STRING1
38 STOP_QUICK_CHECK Stops Quick Check All Controls Both Yes File Name STRING1
25 BACKUP_RANDOM_TOOL Backup random tool data to part program "Lathe, Mill, Both 1 Yes File Name STRING1
Dual"
24 BACKUP_TOOL_MANAGE Backup tool management data to part program "Lathe, Mill, Both 1 Yes File Name STRING1
Dual"
Inst Item (Name) Command Description Control Type OCI / 9/PC # Params Dual Parameter 1 P1 type Parameter 2 P2 type Parameter 3 P3 type
ID Proc.
111 RT_CUSTOMIZE_TOOL Customize random tool pocket "Lathe, Mill, Both 3 Yes Pocket Number DINT Pockets Needed DINT Shaft Pocket DINT
Dual"
110 RT_SET_TOOL_NUM Assign random tool number to pocket "Lathe, Mill, Both 2 Yes Tool Number DINT Number of Pockets DINT
Dual"
98 TM_DELETE_ALL Delete all the tool management groups "Mill, Dual Mill" Both Yes
95 TM_DELETE_GROUP Delete tool group in tool management "Mill, Dual Mill" Both 1 Yes Tool Group Number DINT
97 TM_DELETE_TOOL Delete tool from tool management group "Mill, Dual Mill" Both 2 Yes Tool Group Number DINT Entry Number DINT
96 TM_INSERT_TOOL Insert tool into tool management group "Mill, Dual Mill" Both 3 Yes Tool Group Number DINT Tool Number DINT Entry Number (where to DINT
put tool)
OCI Error Handling The table on the following pages lists the errors that can be returned or generated
Overview by your OCI system. The text files for these error strings can not be edited and
are not in ASCII text form. If you purchased the optional basic display set
source code, you can use the routine GetMsgString to call error messages.
GetMsgString is found in the Global.BAS module and must be passed the integer
error message number to return the text string of the appropriate error message.
Requests to the OCI data server that are invalid are returned as a text string to the
requesting item. For example if you are requesting AXIS_NAME(7) and only 6
axes are configured on the system, the value of AXIS_NAME would be “Server
Error [29]”. Always test returned data for the string “Server Error” before
presenting data to your application.
The following tables list the error or status messages returned by the OCI data
server or CNC when you issue a command or data item request. The server will
return the Error Number as data for the API data items. When POKE requests
are made to data items errors (or success indication) are returned to the API item
WRITE_ERROR_CODE. In the case of commands errors are returned to the
API data item COMMAND_ERROR_CODE.
11000 API_WRITE_ENCRYPTION_ENTRY_ERROR"
Data Types, for data items, 4-2 Directory Structure, BDS source code, 3-3
G I
G and M Code Status IFP_COPY_CANCEL, A-7
G_CODE_STATUS, A-6 In Process Dresser
G_GROUP_PROGRAMMED, A-6 CURRENT_DRESSER_RPM, A-6
M_CODE_STATUS , A-6 CURRENT_WHEEL_DIAMETER, A-6
M_GROUP_PROGRAMMED, A-6 DRESSER_AMOUNT_PER_REV, A-6
NUM_G_GROUPS, A-6 DRESSER_HOLD_STATUS, A-6
NUM_M_GROUPS, A-6 DRESSER_RETRACT_DISTANCE, A-6
SECONDARY_AUX_WORD, A-6 DRESSER_ROLL_DIAMETER, A-7
G-code, data file, 3-4 DRESSER_STATUS, A-7
DRESSER_SURFACE_SPEED_RATIO,
G_CODE_STATUS, 4-6, 4-56, A-6
A-7
G_GROUP_PROGRAMMED, A-6 DRESSER_TABLE_UNITS, A-7
G_MODAL_GROUP Index, 4-6 INITIAL_WHEEL_DIAMETER, A-7
MAX_WHEEL_SPEED, A-7
G54_WORK_COORD, A-18 MIN_WHEEL_DIAMETER, A-7
G54_WORK_COORD_UNITS, A-18 NEW_WHEEL_DIAMETER, A-7
Publication 85206.6 - August 1999
I–10 Index
ROTARY_AXIS_LOGICAL_BIT_PATTERN, SEQUENCE_STOP_PART_PROGRAM,
4-58, A-16 5-45, B-4, B-6
ROTATION_EXT_STATUS Enumeration, Server. See Data Server
6-16
Service, 2-1
Rows, adding new softkeys, 3-16
Service Name, 1-3
RSData, installing, 3-3
Servo Information
RSJunctionBox ANGLED_WHEEL_ALLOWED, A-15
installing, 3-3 AXIS_NAME, A-15
used with the BDS, 1-7 AXIS_PRESENT_LOGICAL_BIT_PATTE
RSLinx, overview, 1-6 RN, A-15
NUM_1394_RACKS, A-15
RSLinx Configurator Application, 1-4 NUM_AXES, A-15
RT_CUSTOMIZE_TOOL, 5-55, B-5, B-7 NUM_PROG_AXES_PLUS_EXTRA,
A-15
RT_POCKETS_NEEDED, A-14 NUM_SERVO_MODULES, A-15
RT_SET_TOOL_NUM, 5-56, B-5, B-7 NUM_SERVOS, A-15
NUM_SERVOS_PLUS_SPINDLES,
RT_SHAFT_POCKET, A-14
A-15
RT_TOOL_NUM, A-14 NUM_SKEWSLAVES, A-15
RUNTIME, A-12 RACK_1394_BOARD_NUMBER, A-16
RACK_1394_MODULE_ERRORS, A-16
RX_CHAR_PORTA, 4-30, A-3 RACK_1394_SERCOS_ADDRESS,
RX_CHAR_PORTB, 4-30, A-3 A-16
RACK_1394_SYSTEM_MODULE_HW_
REVISION, A-15
S ROLLOVER_AXIS_LOGICAL_BIT_PATT
ERN, A-16
S_WORD, 4-61, A-17 ROTARY_AXIS_LOGICAL_BIT_PATTER
N, A-16
SAVE_DEVICE_SETUP, 5-20, B-2 SERVO_NAME, A-16
Saving, text and prompt changes, 3-21 VIRTUAL_AXIS_ALLOWED, A-16
VIRTUAL_FORMATS, A-16
Saving Softkey Changes, 3-18 VIRTUAL_NAMES, A-16
SCALING_CENTER, A-13 Servo Parameters
SCALING_INDICATOR Enumeration, 6-16 AXIS_SKEW_AMOUNT, A-16
AXISCAL_TABLE_TYPE, A-3
Scan Time, 4-13
DISTANCE_TO_MARKER, A-16
Screen Names, SR_NUMS.bas, 3-7 FEED_FORWARD_PERCENT, A-16
Screen Size, global.bas, 3-7 FOLLOWING_ERROR, A-16
HOME_CALIBRATION_AMOUNT, A-16
Screens MARKER_STATUS, A-16
adding new pointer, 3-17 MAX_NEGATIVE_TORQUE, A-16
BDS display forms, 3-6 MAX_POSITIVE_TORQUE, A-16
MASTER.FRM, 3-8 NUM_MONITORED_SERVOS, A-15
printing pointers, 3-22 PLANE_AXES_INDICES, A-19
SetSPDPointer, 3-19 POSITION_LOOP_INIT_GAIN, A-17
template, 3-8 REVERSAL_ERROR_DISTANCE, A-17
SCRNPOS, data files, 3-4 SERVO_STATUS, A-17
TORQUE, A-17
Search, text or prompts, 3-20
TORQUE_OFFSET_PERCENT, A-17
SEARCH_METHOD Enumeration, 6-17 VELOCITY_DISCHARGE_RATE, A-17
SEARCH_TYPE Enumeration, 6-17 VELOCITY_GAINS_FROM_TABLE,
A-17
SECONDARY_AUX_WORD, A-6 VELOCITY_INTEGRAL_GAIN, A-17
SELECTED_PART_PROGRAM_DIR, VELOCITY_PROPORTIONAL_GAIN,
4-52, A-12 A-17
U WHEEL_WIDTH, A-7
Work Coordinate System Information
UART_A/B_BUSY_STATUS Enumeration, ACTIVE_PLANE_AXES, A-18
6-19 EXTERNAL_WORK_COORD, A-18
UART_A_BUSY_STATUS, A-3 EXTERNAL_WORK_COORD_UNITS,
A-18
UART_B_BUSY_STATUS, A-3
G54_WORK_COORD, A-18
UART_MAX_BAUD_MODE, A-4 G54_WORK_COORD_UNITS, A-18
Unload, Form_Unload subroutine, 3-10 G55_WORK_COORD, A-18
G55_WORK_COORD_UNITS, A-18
Update Rate. See AMP Reference Manual G56_WORK_COORD, A-18
UPDATE_AMP, 5-8, B-1 G56_WORK_COORD_UNITS, A-18
G57_WORK_COORD, A-18
Utilities, text find, 3-20
G57_WORK_COORD_UNITS, A-18
G58_WORK_COORD_UNITS, A-18
Z
G59_WORK_COORD, A-18 ZERO_ALL_COM_VALUES, B-4, B-5
G59_WORK_COORD_UNITS, A-18
G591_WORK_COORD, A-18 Zones and Overtravels
G591_WORK_COORD_UNITS, A-18 INTERF_FIRST_AXIS_MINUS_AREA_1,
G592_WORK_COORD, A-18 A-19
G592_WORK_COORD_UNITS, A-18 INTERF_FIRST_AXIS_MINUS_AREA_2,
G593_WORK_COORD, A-19 A-19
INTERF_FIRST_AXIS_PLUS_AREA_1,
G593_WORK_COORD_UNITS, A-19
A-19
WORK_COORD_LABELS, A-19
INTERF_FIRST_AXIS_PLUS_AREA_2,
Work Coordinate System Information`, A-19
G58_WORK_COORD, A-18 INTERF_SECOND_AXIS_MINUS_AREA
WORK_COORD_LABELS, A-19 _1, A-19
INTERF_SECOND_AXIS_MINUS_AREA
WORKPIECES_CUT_AFTER_RESET, _2, A-19
A-12 INTERF_SECOND_AXIS_PLUS_AREA_
WORKPIECES_CUT_OVERALL, A-12 1, A-19
INTERF_SECOND_AXIS_PLUS_AREA_
WORKPIECES_REMAINING, A-12 2, A-19
Write, Example using Visual Basic, 2-3 INTERF_TOOL_NUM, A-19
LIMIT2_LOWER_LIMITS, A-19
Write Requests, 1-4
LIMIT2_UPPER_LIMITS, A-19
Write/Read Property, data items, 4-2 LIMIT3_LOWER_LIMITS, A-20
WRITE_ERROR_CODE, A-4 LIMIT3_UPPER_LIMITS, A-20
LOGICAL_AXIS_ZONE_GROUP, 4-63,
Write2ErrorFile variable, 3-27 A-20
Writing Data Items, poke, 4-12
AllenBradley, a Rockwell Automation Business, has been helping its customers improve
productivity and quality for more than 90 years. We design, manufacture and support a broad
range of automation products worldwide. They include logic processors, power and motion
control devices, operator interfaces, sensors and a variety of software. Rockwell is one of the
world's leading technology companies.
Worldwide representation.
Argentina • Australia • Austria • Bahrain • Belgium • Brazil • Bulgaria • Canada • Chile • China, PRC • Colombia • Costa Rica • Croatia • Cyprus • Czech Republic •
Denmark • Ecuador • Egypt • El Salvador • Finland • France • Germany • Greece • Guatemala • Honduras • Hong Kong • Hungary • Iceland • India • Indonesia •
Ireland • Israel • Italy • Jamaica • Japan • Jordan • Korea • Kuwait • Lebanon • Malaysia • Mexico • Netherlands • New Zealand • Norway • Pakistan • Peru •
Philippines • Poland • Portugal • Puerto Rico • Qatar • Romania • Russia-CIS • Saudi Arabia • Singapore • Slovakia • Slovenia • South Africa, Republic • Spain •
Sweden • Switzerland • Taiwan • Thailand • Turkey • United Arab Emirates • United Kingdom • United States • Uruguay • Venezuela • Yugoslavia
AllenBradley Headquarters, 1201 South Second Street, Milwaukee, WI 53204 USA, Tel: (1) 414 3822000 Fax: (1) 414 3824444