**JOP Contribution to CNC-HMI Working Group**

On July 26, JOP have finalized the **JOP API** specification and
released it as **PA PI Specification 1.01J**. PAPI stands for Principal
API which means that it contains basic and major parts of API\'s for the
applications of higher level communication including HMIs. The contents
of the specification are not much different from those which were
presented in the last meeting in Stuttgart.

\"We are now preparing the English version denoted **PAPI Specification
1.01E**.

By the way, according to the agreement in the Stuttgart meeting, we have
prepared the list of arguments defined in the functions of PAPI
specification With regard to a hierarchical decomposition of the data,
PAPI does not involve such data structure by itself. In principle, a
data structure should reflects an architecture of a controller. However,
we did not assume a specific controller architecture in defining PAPI,
because PAPI has been specified based on the proposals from different
controller vendors and has to be implementable in different controllers.

Therefore, what we have done in the list was to categorize the functions
into several function groups for the purpose of easy understanding. This
categorization, however, does not intend to represent a hierarchical
data structure involved in PAPI.

This time, we attach the following files.\"

-   [[Definitions of data types]{.underline}](#data-type)

-   [[List of data of basic
    PAPI]{.underline}](#list-of-data-of-basic-papi)

-   [[List of data of extended
    PAPI]{.underline}](#list-of-data-of-extended-papi)

\"If you have any questions to the above documents, please feel free to
ask us. With regard to the English version, we will send it upon
completion. We are very sorry for the delay of sending the documents. We
are looking forward to your comments how to make a further progress of
the Global HMI project.\"

# Data type 

1.  **Strings : PAPISTR**

    a.  **Definition**

> typedef struct {
>
> DWORD Unit; // Data Unit
>
> DWORD ByteSize; // Data Length
>
> BYTE String\[PAPI_STR_MAX\]; // String
>
> } PAPISTR, \*LPPAPISTR;
>
> ![](media/image1.png){width="6.041666666666667in"
> height="0.3541666666666667in"} 

b.  **Data Unit**

> Specify one of the pre-defined keyword listed below.\
> Linear Axis :mm PAPI_UNIT_MM\
> inch PAPI_UNIT_INCH\
> mm/min PAPI_UNIT_MM_MIN\
> inch/min PAPI_UNIT_INCH_MIN\
> Rotary Axis: degree PAPI_UNIT_DEG\
> min-1 PAPI_UNIT_RPM\
> Reito: % PAPI_UNIT_PERCENT\
> Time: msec PAPI_UNIT_MSEC\
> Non-Unit: PAPI_UNIT_NONE (Number and String)

c.  **Data Length**

> Specify the data length (size) of string to be evaluated. This value
> should be equal or smaller than PAPI_STR_MAX. This parameter is
> independent from the data code used in string. Effective data length
> may be smaller than this value.
>
> Example) \"Data length\" is specified to 10, but actual stored data
> is\
> \"12345\" with NULL data terminator.
>
> Allocated size for string : PAPI_STR_MAX
>
> Data Length to be exaluated : 10
>
> Effective Data size : 5

d.  **String ( In case of numerical data, it contains SIGN, DECIMAL
    POINT)**

> String is filled to the left side.
>
>  
>
> Example) 123.456

  ---------- ---------- --------- --------- --------- --------- ----------
  1          2          3         .         4         5         6

  ---------- ---------- --------- --------- --------- --------- ----------

> There are many kinds of data code such as ASCII,UNICODE. In this
> document, there is no assumption, recommendation or limitation on
> using any kind of data code.
>
>  

2.  **Date : PAPIDATE**

    a.  **Definition**

> typedef struct {
>
> DWORD Unit; // Data Unit
>
> DWORD ByteSize; // Data length
>
> BYTE Date\[PAPI_DATE_STR_MAX\]; // String
>
> ![](media/image2.png){width="5.9375in" height="0.34375in"}} PAPIDATE,
> \*LPPAPIDATE;

b.  **Data Unit**

> Specify the keyword which show the date expression style.\
> Default Style : Example-1 PAPI_UNIT_STANDARD_DATE\
> Local Time Style : Example-2\
> Proprietary Style: Example-3
>
> Example-1) Year=1998, Month=12, Day=25, PM=8 Min=30, Sec=10

  --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---
  1   9   9   8   /   1   2   /   2   5       2   0   :   3   0   :   1   0

  --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---

>  
>
> Example-2) Japanese Style

  ---- ---- --- --- ---- --- --- ---- --- --- ---- ---- ---- --- ---- --- --- ---- --- --- ----
  平   成   1   0   年   1   2   月   2   5   日   午   後   8   時   3   0   分   1   0   秒

  ---- ---- --- --- ---- --- --- ---- --- --- ---- ---- ---- --- ---- --- --- ---- --- --- ----

>  
>
> Example-3) Free-run counter

  ----------- ----------- ----------- ----------- ----------- -----------
  0           1           2           5           4           8

  ----------- ----------- ----------- ----------- ----------- -----------

>  

c.  **Data Length**

> Specify the data length (size) of date-string to be evaluated. This
> value should be equal or smaller than PAPI_DATE_STR_MAX. This
> parameter is independent from the data code used in date-string.
> Effective date-string length may be smaller than this value.
>
> Example) Date Unit = PAPI_UNIT_STANDARD_DATE,\
> with Data Length = 30\
> Allocated size for string : PAPI_DATE_STR_MAX
>
> Data Length to be evaluated : 30\
> Effective Data size :19

d.  **Date-String\
    **Specify the date of \"Year,Month,Day\" and \"Time\".\
    The origin of this value is a calendar clock inside the controller.\
    There are many kinds of data code such as ASCII,UNICODE. In this
    document, there is no assumption, recommendation or limitation on
    using any kind of data code.

>  

3.  **Axis Selection : PAPIAXISFLAG**

    a.  **Definition\
        **typedef DWORD PAPIAXISFLAG;

>  

  ------------------------ --------- --------- --- --- --- --- --- --------
  Axis Number              32        ･･･       6   5   4   3   2   1

  Bit                      31                  5   4   3   2   1   0

                           MSB                                     LSB
  ------------------------ --------- --------- --- --- --- --- --- --------

>  

b.  **Axis Selection\
    **Specify the axis to interface by API as shown below example.\
    Actual relation between each axis and moving axis is implementation
    dependent.

> Example) To specify \"1, 3, 5-axis\".

  -------------------------------- ---- -------- ---- ---- ---- ---- ---- ----
  Axis Number                      32   ･･･      6    5    4    3    2    1

  PAPIAXISFLAG                     0             0    1    0    1    0    1
  -------------------------------- ---- -------- ---- ---- ---- ---- ---- ----

>  

c.  **Comments\
    **This Data is defined as WORD(32bits).\
    Maximum axes allowable to be specified is 32.

>  

4.  **Binary**

> Binary Data type, such as BYTE, WORD are also used supplementary.
>
> BYTE, WORD, DWORD, BOOL, VOID
>
>  

5.  **Handle**

> Here are some Handle data to be used as \"identifier\".
>
> HLIB, HPRG

6.  **Compound Data**

    a.  **PAPIVERMAKER**

> typedef struct \_PAPIVERMAKER {
>
> PAPISTR Maker; // string of maker name
>
> PAPISTR MakerVersion; // string of API version of maker
>
> } PAPIVERMAKER, \*LPPAPIVERMAKER;
>
>  

b.  **PAPISYSINFORANGE**

> typedef struct \_PAPISYSINFORANGE {
>
> DWORD InfoStart;
>
> DWORD InfoEnd;
>
> } PAPISYSINFORANGE, \*LPPAPISYSINFORANGE;
>
>  

c.  **PAPIALARMMESSAGE**

> typedef struct \_PAPIALARMMESSAGE {
>
> PAPIAXISFLAG AxisFlags; // axis flags
>
> PAPISTR AlarmNumber; // string of alarm number
>
> PAPISTR AlarmMessage; // string of alarm message
>
> } PAPIALARMMESSAGE, \*LPPAPIALARMMESSAGE;

d.  **PAPIOPERATORMESSAGE**

> typedef struct \_PAPIOPERATORMESSAGE {
>
> PAPISTR OperatorMessageId; // message number
>
> PAPISTR OperatorMessage; // string of message
>
> } PAPIOPERATORMESSAGE, \*LPPAPIOPERATORMESSAGE;
>
>  

e.  **PAPIPROGINFO**

> typedef struct \_PAPIPROGINFO {
>
> PAPISTR FileName; // string of file name
>
> PAPISTR Comment; // string of comment
>
> PAPIDATE Date; // string of date
>
> DWORD CharNum; // number of used characters
>
> } PAPIPROGINFO, \*LPPAPIPROGINFO;
>
>  

f.  **PAPIACTPRGINFO**

> typedef struct_PAPIACTPRGINFO {
>
> PAPISTR ActProgramName; // string of name of active program
>
> PAPISTR ActBlockNumber; // string of number of active block
>
> }PAPIACTPRGINFO,\*LPPAPIACTPRGINFO;

#  List of data of basic PAPI

+------+-----+-----+---+--------------+---------------+--------------+
| Data |     |     | A | Function     | Argument      | Data type    |
|      |     |     | c |              |               |              |
|      |     |     | c |              |               |              |
|      |     |     | e |              |               |              |
|      |     |     | s |              |               |              |
|      |     |     | s |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| Disp | L   |     | A | PapiAl       |               | HLIB         |
| lay, | ibr |     | l | locLibHandle |               |              |
| I    | ary |     | l |              |               |              |
| nput | Han |     | o |              |               |              |
|      | dle |     | c |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | F | PapiF        |               | HLIB         |
|      |     |     | r | reeLibHandle |               |              |
|      |     |     | e |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | L   | P   | G | PapiG        | P             | PAPISTR      |
|      | ibr | API | e | etLibVersion | apiLibVersion |              |
|      | ary | V   | t |              |               |              |
|      | V   | ers |   |              |               |              |
|      | ers | ion |   |              |               |              |
|      | ion |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ma  | G | PapiG        | Ma            | PAPIVERMAKER |
|      |     | ker | e | etLibVersion | kerLibVersion |              |
|      |     | L   | t |              |               |              |
|      |     | ibr |   |              |               |              |
|      |     | ary |   |              |               |              |
|      |     | V   |   |              |               |              |
|      |     | ers |   |              |               |              |
|      |     | ion |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | L   |     | G | Papi         |               | DWORD        |
|      | ibr |     | e | GetLastError |               |              |
|      | ary |     | t |              |               |              |
|      | Er  |     |   |              |               |              |
|      | ror |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| Reso | Mu  | Num | G | PapiGetSyste | PAPI_SYS_HEAD | DWORD        |
| urce | lti | ber | e | mInformation |               |              |
|      | H   | of  | t |              |               |              |
|      | ead | H   |   |              |               |              |
|      | D   | ead |   |              |               |              |
|      | ata |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Num | G | PapiGetSyste | PAPI_SYS_AXIS | DWORD        |
|      |     | ber | e | mInformation |               |              |
|      |     | of  | t |              |               |              |
|      |     | Ax  |   |              |               |              |
|      |     | ies |   |              |               |              |
|      |     | in  |   |              |               |              |
|      |     | a   |   |              |               |              |
|      |     | H   |   |              |               |              |
|      |     | ead |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | C   | G | PapiGetHead  |               | PAPISTR      |
|      |     | urr | e |              |               |              |
|      |     | ent | t |              |               |              |
|      |     | H   |   |              |               |              |
|      |     | ead |   |              |               |              |
|      |     | Num |   |              |               |              |
|      |     | ber |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiSetHead  |               | PAPISTR      |
|      |     |     | e |              |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | A   | A   | G | PapiGetSyste | PAPI          | PAPI         |
|      | xis | xis | e | mInformation | _SYS_AXISNAME | SYSINFORANGE |
|      | D   | n   | t |              |               |              |
|      | ata | ame |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | T   | Ra  | G | PapiGetSyste | PA            | PAPI         |
|      | ool | nge | e | mInformation | PI_TOFS_GROUP | SYSINFORANGE |
|      | Off | of  | t |              |               |              |
|      | set | T   |   |              |               |              |
|      | D   | ool |   |              |               |              |
|      | ata | Off |   |              |               |              |
|      |     | set |   |              |               |              |
|      |     | Num |   |              |               |              |
|      |     | ber |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | W   | Ra  | G | PapiGetSyste | PAPI_         | PAPI         |
|      | ork | nge | e | mInformation | WOFS_STANDARD | SYSINFORANGE |
|      | Z   | of  | t |              |               |              |
|      | ero | St  |   |              |               |              |
|      | Off | and |   |              |               |              |
|      | set | ard |   |              |               |              |
|      | D   |     |   |              |               |              |
|      | ata | W   |   |              |               |              |
|      |     | ork |   |              |               |              |
|      |     | Z   |   |              |               |              |
|      |     | ero |   |              |               |              |
|      |     | Off |   |              |               |              |
|      |     | set |   |              |               |              |
|      |     | Num |   |              |               |              |
|      |     | ber |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ra  | G | PapiGetSyste | PAPI_         | PAPI         |
|      |     | nge | e | mInformation | WOFS_ADDITION | SYSINFORANGE |
|      |     | of  | t |              |               |              |
|      |     | A   |   |              |               |              |
|      |     | ddi |   |              |               |              |
|      |     | tio |   |              |               |              |
|      |     | nal |   |              |               |              |
|      |     |     |   |              |               |              |
|      |     | W   |   |              |               |              |
|      |     | ork |   |              |               |              |
|      |     | Z   |   |              |               |              |
|      |     | ero |   |              |               |              |
|      |     | Off |   |              |               |              |
|      |     | set |   |              |               |              |
|      |     | Num |   |              |               |              |
|      |     | ber |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Ma  | Ra  | G | PapiGetSyste | PA            | PAPI         |
|      | cro | nge | e | mInformation | PI_MAC_TYPE_1 | SYSINFORANGE |
|      | D   | of  | t |              |               |              |
|      | ata | T   |   |              |               |              |
|      |     | ype |   |              |               |              |
|      |     | 1   |   |              |               |              |
|      |     | Va  |   |              |               |              |
|      |     | ria |   |              |               |              |
|      |     | ble |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ra  | G | PapiGetSyste | PA            | PAPI         |
|      |     | nge | e | mInformation | PI_MAC_TYPE_2 | SYSINFORANGE |
|      |     | of  | t |              |               |              |
|      |     | T   |   |              |               |              |
|      |     | ype |   |              |               |              |
|      |     | 2   |   |              |               |              |
|      |     | Va  |   |              |               |              |
|      |     | ria |   |              |               |              |
|      |     | ble |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ra  | G | PapiGetSyste | PA            | PAPI         |
|      |     | nge | e | mInformation | PI_MAC_TYPE_3 | SYSINFORANGE |
|      |     | of  | t |              |               |              |
|      |     | T   |   |              |               |              |
|      |     | ype |   |              |               |              |
|      |     | 3   |   |              |               |              |
|      |     | Va  |   |              |               |              |
|      |     | ria |   |              |               |              |
|      |     | ble |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Al  | Sta | G | PapiGe       |               | DWORD        |
|      | arm | tus | e | tAlarmStatus |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Le  | G | PapiGe       | AlarmLevel    | PAPISTR      |
|      |     | vel | e | tAlarmStatus |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | T   | G | PapiGe       | AlarmTime     | PAPIDATE     |
|      |     | ime | e | tAlarmStatus |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Al  | Pr  | G | PapiGet      | PAP           | PAPI         |
|      | arm | ogr | e | AlarmMessage | I_ALM_PROGRAM | ALARMMESSAGE |
|      | M   | amm | t |              |               |              |
|      | ess | ing |   |              |               |              |
|      | age |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ov  | G | PapiGet      | PAPI_A        | PAPI         |
|      |     | er- | e | AlarmMessage | LM_OVERTRAVEL | ALARMMESSAGE |
|      |     | tra | t |              |               |              |
|      |     | vel |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ov  | G | PapiGet      | PAPI          | PAPI         |
|      |     | erh | e | AlarmMessage | _ALM_OVERHEAT | ALARMMESSAGE |
|      |     | eat | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Se  | G | PapiGet      | P             | PAPI         |
|      |     | rvo | e | AlarmMessage | API_ALM_SERVO | ALARMMESSAGE |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | S   | G | PapiGet      | PAP           | PAPI         |
|      |     | pin | e | AlarmMessage | I_ALM_SPINDLE | ALARMMESSAGE |
|      |     | dle | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ex  | G | PapiGet      | PAPI          | PAPI         |
|      |     | tar | e | AlarmMessage | _ALM_EXTERNAL | ALARMMESSAGE |
|      |     | nal | t |              |               |              |
|      |     | D   |   |              |               |              |
|      |     | evi |   |              |               |              |
|      |     | ces |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | D   | G | PapiGet      | PAPI_ALM_DATA | PAPI         |
|      |     | ata | e | AlarmMessage |               | ALARMMESSAGE |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Sys | G | PapiGet      | PA            | PAPI         |
|      |     | tem | e | AlarmMessage | PI_ALM_SYSTEM | ALARMMESSAGE |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Mi  | G | PapiGet      | PAPI_ALM_MISC | PAPI         |
|      |     | sc. | e | AlarmMessage |               | ALARMMESSAGE |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Op  |     | G | PapiGetOper  |               | PAPIOPE      |
|      | era |     | e | atorsMessage |               | RATORMESSAGE |
|      | tor |     | t |              |               |              |
|      | M   |     |   |              |               |              |
|      | ess |     |   |              |               |              |
|      | age |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| In   | Fe  | A   | G | PapiGetSpeed | PA            | PAPISTR      |
| terp | edr | xis | e |              | PI_SPEED_FEED |              |
| olat | ate |     | t |              |               |              |
| ion, |     |     |   |              |               |              |
|      |     |     |   |              |               |              |
| Acce |     |     |   |              |               |              |
| lera |     |     |   |              |               |              |
| tion |     |     |   |              |               |              |
|      |     |     |   |              |               |              |
| /    |     |     |   |              |               |              |
| Dece |     |     |   |              |               |              |
| lera |     |     |   |              |               |              |
| tion |     |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Co  | G | Papi         |               | PAPISTR      |
|      |     | mpo | e | GetAxisSpeed |               |              |
|      |     | sit | t |              |               |              |
|      |     | ion |   |              |               |              |
|      |     | Sp  |   |              |               |              |
|      |     | eed |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | S   |     | G | PapiGetSpeed | PAPI_         | PAPISTR      |
|      | pin |     | e |              | SPEED_SPINDLE |              |
|      | dle |     | t |              |               |              |
|      | Sp  |     |   |              |               |              |
|      | eed |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | C   | W   | G | Pap          | PAPI_POS_WORK | PAPISTR      |
|      | urr | ork | e | iGetPosition |               |              |
|      | ent |     | t |              |               |              |
|      | po  |     |   |              |               |              |
|      | sit |     |   |              |               |              |
|      | ion |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiSetRela  | PAPI_POS_WORK | PAPISTR      |
|      |     |     | e | tivePosition |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | M   | G | Pap          | PAPI_POS      | PAPISTR      |
|      |     | ach | e | iGetPosition | _MACHINE_AXIS |              |
|      |     | ine | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Re  | G | Pap          | PAPI          | PAPISTR      |
|      |     | lat | e | iGetPosition | _POS_RELATIVE |              |
|      |     | ive | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiSetRela  | PAPI          | PAPISTR      |
|      |     |     | e | tivePosition | _POS_RELATIVE |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Di  | G | Pap          | PAPI          | PAPISTR      |
|      |     | sta | e | iGetPosition | _POS_DISTANCE |              |
|      |     | nce | t |              |               |              |
|      |     | To  |   |              |               |              |
|      |     | Go  |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | S   | G | Pap          | PAPI_POS_SKIP | PAPISTR      |
|      |     | kip | e | iGetPosition |               |              |
|      |     | Po  | t |              |               |              |
|      |     | sit |   |              |               |              |
|      |     | ion |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Man | G | Pap          | PAPI_POS_     | PAPISTR      |
|      |     | ual | e | iGetPosition | MANUALOVERLAP |              |
|      |     | O   | t |              |               |              |
|      |     | ver |   |              |               |              |
|      |     | lap |   |              |               |              |
|      |     | Po  |   |              |               |              |
|      |     | sit |   |              |               |              |
|      |     | ion |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Dis | G | Pap          | PAPI_PO       | PAPISTR      |
|      |     | tin | e | iGetPosition | S_DESTINATION |              |
|      |     | ate | t |              |               |              |
|      |     | Po  |   |              |               |              |
|      |     | sit |   |              |               |              |
|      |     | ion |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Dw  |     | G | PapiGetDwell |               | PAPISTR      |
|      | ell |     | e |              |               |              |
|      | T   |     | t |              |               |              |
|      | ime |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Mo  | G   | G | P            | PAPI_CM       | PAPISTR      |
|      | dal | c   | e | apiGetProgra | D_GCODE_MODAL |              |
|      | C   | ode | t | mExecCommand |               |              |
|      | ode |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | E   | G   | G | P            | P             | PAPISTR      |
|      | xec | C   | e | apiGetProgra | API_CMD_GCODE |              |
|      | ute | ode | t | mExecCommand |               |              |
|      | C   |     |   |              |               |              |
|      | ode |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | M   | G | P            | P             | PAPISTR      |
|      |     | C   | e | apiGetProgra | API_CMD_MCODE |              |
|      |     | ode | t | mExecCommand |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | S   | G | P            | P             | PAPISTR      |
|      |     | C   | e | apiGetProgra | API_CMD_SCODE |              |
|      |     | ode | t | mExecCommand |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | T   | G | P            | P             | PAPISTR      |
|      |     | C   | e | apiGetProgra | API_CMD_TCODE |              |
|      |     | ode | t | mExecCommand |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | B   | G | P            | P             | PAPISTR      |
|      |     | C   | e | apiGetProgra | API_CMD_BCODE |              |
|      |     | ode | t | mExecCommand |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | F   | G | P            | P             | PAPISTR      |
|      |     | C   | e | apiGetProgra | API_CMD_FCODE |              |
|      |     | ode | t | mExecCommand |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | D   | G | P            | P             | PAPISTR      |
|      |     | C   | e | apiGetProgra | API_CMD_DCODE |              |
|      |     | ode | t | mExecCommand |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | H   | G | P            | P             | PAPISTR      |
|      |     | C   | e | apiGetProgra | API_CMD_HCODE |              |
|      |     | ode | t | mExecCommand |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | P            | PAPI          | PAPISTR      |
|      |     | xis | e | apiGetProgra | _CMD_AXISCODE |              |
|      |     | C   | t | mExecCommand |               |              |
|      |     | ode |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| S    | Se  |     | G | Papi         |               | PAPISTR      |
| ervo | rvo |     | e | GetServoLoad |               |              |
|      | L   |     | t |              |               |              |
|      | oad |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| Spi  | S   |     | G | PapiGe       |               | PAPISTR      |
| ndle | pin |     | e | tSpindleLoad |               |              |
|      | dle |     | t |              |               |              |
|      | L   |     |   |              |               |              |
|      | oad |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| Co   | NC  | NC  | O | Pap          |               | \-           |
| mmon | p   | P   | p | iOpenProgram |               |              |
| Data | rog | rog | e |              |               |              |
|      | ram | ram | n |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | C | Papi         |               | \-           |
|      |     |     | l | CloseProgram |               |              |
|      |     |     | o |              |               |              |
|      |     |     | s |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | R | Pap          |               | \-           |
|      |     |     | e | iReadProgram |               |              |
|      |     |     | a |              |               |              |
|      |     |     | d |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | W | Papi         |               | \-           |
|      |     |     | r | WriteProgram |               |              |
|      |     |     | i |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | In  | G | P            |               | PAPIPROGINFO |
|      |     | for | e | apiGetProgra |               |              |
|      |     | mat | t | mInformation |               |              |
|      |     | ion |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Dir | G | Pap          |               | PAPIDIRINFO  |
|      |     | ect | e | iGetDirector |               |              |
|      |     | ory | t | yInformation |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Del | D | PapiD        |               | \-           |
|      |     | ete | e | eleteProgram |               |              |
|      |     |     | l |              |               |              |
|      |     |     | e |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | C   | C | Pap          |               | \-           |
|      |     | opy | o | iCopyProgram |               |              |
|      |     |     | p |              |               |              |
|      |     |     | y |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ren | R | PapiR        |               | \-           |
|      |     | ame | e | enameProgram |               |              |
|      |     |     | n |              |               |              |
|      |     |     | a |              |               |              |
|      |     |     | m |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | S   | Met | G | Papi         | PAPI_P        | DWORD        |
|      | ett | ric | e | GetParameter | RM_INPUT_INCH |              |
|      | ing | I   | t |              |               |              |
|      | d   | nch |   |              |               |              |
|      | ata |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Papi         | PAPI_P        | BOOL         |
|      |     |     | e | SetParameter | RM_INPUT_INCH |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | C   | G | Papi         | PAPI_PRM      | DWORD        |
|      |     | ont | e | GetParameter | _CONTROL_AXES |              |
|      |     | rol | t |              |               |              |
|      |     | A   |   |              |               |              |
|      |     | xis |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | G | Papi         | PAPI_PRM      | DWORD        |
|      |     |     | e | SetParameter | _CONTROL_AXES |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | Papi         | PAPI_         | CHAR         |
|      |     | xis | e | GetParameter | PRM_AXIS_NAME |              |
|      |     | N   | t |              |               |              |
|      |     | ame |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Papi         | PAPI_         | CHAR         |
|      |     |     | e | SetParameter | PRM_AXIS_NAME |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Rot | G | Papi         | PAPI_PR       | BOOL         |
|      |     | ate | e | GetParameter | M_AXIS_ROTATE |              |
|      |     | A   | t |              |               |              |
|      |     | xis |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Papi         | PAPI_PR       | BOOL         |
|      |     |     | e | SetParameter | M_AXIS_ROTATE |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | T   | Len | G | PapiG        | PAP           | PAPISTR      |
|      | ool | gth | e | etToolOffset | I_TOFS_LENGTH |              |
|      | off | (G  | t |              |               |              |
|      | set | eom |   |              |               |              |
|      |     | etr |   |              |               |              |
|      |     | ic) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_LENGTH |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Len | G | PapiG        | PAP           | PAPISTR      |
|      |     | gth | e | etToolOffset | I_TOFS_LENGTH |              |
|      |     | (We | t |              |               |              |
|      |     | ar) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_LENGTH |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Di  | G | PapiG        | PAP           | PAPISTR      |
|      |     | ame | e | etToolOffset | I_TOFS_CUTTER |              |
|      |     | ter | t |              |               |              |
|      |     | (G  |   |              |               |              |
|      |     | eom |   |              |               |              |
|      |     | etr |   |              |               |              |
|      |     | ic) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_CUTTER |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Di  | G | PapiG        | PAP           | PAPISTR      |
|      |     | ame | e | etToolOffset | I_TOFS_CUTTER |              |
|      |     | ter | t |              |               |              |
|      |     | (We |   |              |               |              |
|      |     | ar) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_CUTTER |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | PapiG        | PAP           | PAPISTR      |
|      |     | xis | e | etToolOffset | I_TOFS_AXIS_X |              |
|      |     | X   | t |              |               |              |
|      |     | (G  |   |              |               |              |
|      |     | eom |   |              |               |              |
|      |     | etr |   |              |               |              |
|      |     | ic) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_AXIS_X |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | PapiG        | PAP           | PAPISTR      |
|      |     | xis | e | etToolOffset | I_TOFS_AXIS_X |              |
|      |     | X   | t |              |               |              |
|      |     | (We |   |              |               |              |
|      |     | ar) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_AXIS_X |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | PapiG        | PAP           | PAPISTR      |
|      |     | xis | e | etToolOffset | I_TOFS_AXIS_Y |              |
|      |     | Y   | t |              |               |              |
|      |     | (G  |   |              |               |              |
|      |     | eom |   |              |               |              |
|      |     | etr |   |              |               |              |
|      |     | ic) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_AXIS_Y |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | PapiG        | PAP           | PAPISTR      |
|      |     | xis | e | etToolOffset | I_TOFS_AXIS_Y |              |
|      |     | Y   | t |              |               |              |
|      |     | (We |   |              |               |              |
|      |     | ar) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_AXIS_Y |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | PapiG        | PAP           | PAPISTR      |
|      |     | xis | e | etToolOffset | I_TOFS_AXIS_Z |              |
|      |     | Z   | t |              |               |              |
|      |     | (G  |   |              |               |              |
|      |     | eom |   |              |               |              |
|      |     | etr |   |              |               |              |
|      |     | ic) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_AXIS_Z |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | A   | G | PapiG        | PAP           | PAPISTR      |
|      |     | xis | e | etToolOffset | I_TOFS_AXIS_Z |              |
|      |     | Z   | t |              |               |              |
|      |     | (We |   |              |               |              |
|      |     | ar) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_AXIS_Z |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Rad | G | PapiG        | PAP           | PAPISTR      |
|      |     | ius | e | etToolOffset | I_TOFS_RADIUS |              |
|      |     | (G  | t |              |               |              |
|      |     | eom |   |              |               |              |
|      |     | etr |   |              |               |              |
|      |     | ic) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_RADIUS |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Rad | G | PapiG        | PAP           | PAPISTR      |
|      |     | ius | e | etToolOffset | I_TOFS_RADIUS |              |
|      |     | (We | t |              |               |              |
|      |     | ar) |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAP           | PAPISTR      |
|      |     |     | e | etToolOffset | I_TOFS_RADIUS |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | T   | G | PapiG        | PAPI_TOFS_TIP | PAPISTR      |
|      |     | ool | e | etToolOffset |               |              |
|      |     | Tip | t |              |               |              |
|      |     | Off |   |              |               |              |
|      |     | set |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        | PAPI_TOFS_TIP | PAPISTR      |
|      |     |     | e | etToolOffset |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | W   |     | G | PapiG        |               | PAPISTR      |
|      | ork |     | e | etWorkOffset |               |              |
|      | Z   |     | t |              |               |              |
|      | ero |     |   |              |               |              |
|      | Off |     |   |              |               |              |
|      | set |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        |               | PAPISTR      |
|      |     |     | e | etWorkOffset |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Ma  | T   | G | PapiGetMacro | PA            | PAPISTR      |
|      | cro | ype | e |              | PI_MAC_TYPE_1 |              |
|      | Va  | 1   | t |              |               |              |
|      | ria |     |   |              |               |              |
|      | ble |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiSetMacro | PA            | PAPISTR      |
|      |     |     | e |              | PI_MAC_TYPE_1 |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | T   | G | PapiGetMacro | PA            | PAPISTR      |
|      |     | ype | e |              | PI_MAC_TYPE_2 |              |
|      |     | 2   | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiSetMacro | PA            | PAPISTR      |
|      |     |     | e |              | PI_MAC_TYPE_2 |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | T   | G | PapiGetMacro | PA            | PAPISTR      |
|      |     | ype | e |              | PI_MAC_TYPE_3 |              |
|      |     | 3   | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiSetMacro | PA            | PAPISTR      |
|      |     |     | e |              | PI_MAC_TYPE_3 |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | All | NC  | B | Pap          | PAPI_DATA_ALL | \-           |
|      | D   | D   | e | iBeginBackup |               |              |
|      | ata | ata | g |              |               |              |
|      | (   |     | i |              |               |              |
|      | For |     | n |              |               |              |
|      | B   |     |   |              |               |              |
|      | ack |     |   |              |               |              |
|      | up) |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | E | P            | PAPI_DATA_ALL | \-           |
|      |     |     | n | apiEndBackup |               |              |
|      |     |     | d |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Pa           | PAPI_DATA_ALL | \-           |
|      |     |     | a | piSaveBackup |               |              |
|      |     |     | v |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | R | PapiR        | PAPI_DATA_ALL | \-           |
|      |     |     | e | estoreBackup |               |              |
|      |     |     | s |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | o |              |               |              |
|      |     |     | r |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Par | B | Pap          | PA            | \-           |
|      |     | ame | e | iBeginBackup | PI_DATA_PARAM |              |
|      |     | ter | g |              |               |              |
|      |     | D   | i |              |               |              |
|      |     | ata | n |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | E | P            | PA            | \-           |
|      |     |     | n | apiEndBackup | PI_DATA_PARAM |              |
|      |     |     | d |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Pa           | PA            | \-           |
|      |     |     | a | piSaveBackup | PI_DATA_PARAM |              |
|      |     |     | v |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | R | PapiR        | PA            | \-           |
|      |     |     | e | estoreBackup | PI_DATA_PARAM |              |
|      |     |     | s |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | o |              |               |              |
|      |     |     | r |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | P   | B | Pap          | PAPI          | \-           |
|      |     | rog | e | iBeginBackup | _DATA_PROGRAM |              |
|      |     | ram | g |              |               |              |
|      |     | D   | i |              |               |              |
|      |     | ata | n |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | E | P            | PAPI          | \-           |
|      |     |     | n | apiEndBackup | _DATA_PROGRAM |              |
|      |     |     | d |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Pa           | PAPI          | \-           |
|      |     |     | a | piSaveBackup | _DATA_PROGRAM |              |
|      |     |     | v |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | R | PapiR        | PAPI          | \-           |
|      |     |     | e | estoreBackup | _DATA_PROGRAM |              |
|      |     |     | s |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | o |              |               |              |
|      |     |     | r |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Off | B | Pap          | PAP           | \-           |
|      |     | set | e | iBeginBackup | I_DATA_OFFSET |              |
|      |     | D   | g |              |               |              |
|      |     | ata | i |              |               |              |
|      |     |     | n |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | E | P            | PAP           | \-           |
|      |     |     | n | apiEndBackup | I_DATA_OFFSET |              |
|      |     |     | d |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Pa           | PAP           | \-           |
|      |     |     | a | piSaveBackup | I_DATA_OFFSET |              |
|      |     |     | v |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | R | PapiR        | PAP           | \-           |
|      |     |     | e | estoreBackup | I_DATA_OFFSET |              |
|      |     |     | s |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | o |              |               |              |
|      |     |     | r |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Ma  | B | Pap          | PA            | \-           |
|      |     | cro | e | iBeginBackup | PI_DATA_MACRO |              |
|      |     | D   | g |              |               |              |
|      |     | ata | i |              |               |              |
|      |     |     | n |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | E | P            | PA            | \-           |
|      |     |     | n | apiEndBackup | PI_DATA_MACRO |              |
|      |     |     | d |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Pa           | PA            | \-           |
|      |     |     | a | piSaveBackup | PI_DATA_MACRO |              |
|      |     |     | v |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | R | PapiR        | PA            | \-           |
|      |     |     | e | estoreBackup | PI_DATA_MACRO |              |
|      |     |     | s |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | o |              |               |              |
|      |     |     | r |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | P   | B | Pap          | PA            | \-           |
|      |     | ich | e | iBeginBackup | PI_DATA_PITCH |              |
|      |     | Er  | g |              |               |              |
|      |     | ror | i |              |               |              |
|      |     | D   | n |              |               |              |
|      |     | ata |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | E | P            | PA            | \-           |
|      |     |     | n | apiEndBackup | PI_DATA_PITCH |              |
|      |     |     | d |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | Pa           | PA            | \-           |
|      |     |     | a | piSaveBackup | PI_DATA_PITCH |              |
|      |     |     | v |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | R | PapiR        | PA            | \-           |
|      |     |     | e | estoreBackup | PI_DATA_PITCH |              |
|      |     |     | s |              |               |              |
|      |     |     | t |              |               |              |
|      |     |     | o |              |               |              |
|      |     |     | r |              |               |              |
|      |     |     | e |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| P    | C   | N   | G | PapiGetCu    | ProgramName   | PAPISTR      |
| repr | urr | ame | e | rrentProgram |               |              |
| oces | ent |     | t |              |               |              |
| sing | (P  |     |   |              |               |              |
|      | rep |     |   |              |               |              |
|      | ari |     |   |              |               |              |
|      | ng) |     |   |              |               |              |
|      |     |     |   |              |               |              |
|      | P   |     |   |              |               |              |
|      | rog |     |   |              |               |              |
|      | ram |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        |               | PAPISTR      |
|      |     |     | e | electProgram |               |              |
|      |     |     | l |              |               |              |
|      |     |     | e |              |               |              |
|      |     |     | c |              |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | Se  | G | PapiGetCu    | S             | PAPISTR      |
|      |     | que | e | rrentProgram | equenceNumber |              |
|      |     | nce | t |              |               |              |
|      |     | Num |   |              |               |              |
|      |     | ber |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiS        |               | PAPISTR      |
|      |     |     | e | electProgram |               |              |
|      |     |     | l |              |               |              |
|      |     |     | e |              |               |              |
|      |     |     | c |              |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | M   | G | PapiGetCu    | Ma            | PAPISTR      |
|      |     | ain | e | rrentProgram | inProgramName |              |
|      |     | P   | t |              |               |              |
|      |     | rog |   |              |               |              |
|      |     | ram |   |              |               |              |
|      |     | n   |   |              |               |              |
|      |     | ame |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | Ex  | P   | G | PapiGe       |               | \-           |
|      | ecu | rog | e | tExecProgram |               |              |
|      | ted | ram | t |              |               |              |
|      | P   | N   |   |              |               |              |
|      | rog | ame |   |              |               |              |
|      | ram |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | P   | G | PapiGetPr    |               | PAPISTR      |
|      |     | rog | e | ogramPointer |               |              |
|      |     | ram | t |              |               | (PAPI        |
|      |     | Bl  |   |              |               | ACTPROGINFO) |
|      |     | ock |   |              |               |              |
|      |     | P   |   |              |               |              |
|      |     | oin |   |              |               |              |
|      |     | ter |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | PapiSetPr    |               | PAPISTR      |
|      |     |     | e | ogramPointer |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
| Sequ | Inp |     | G | P            |               | DWORD        |
| ence | ut/ |     | e | apiGetIoData |               |              |
| Con  | Out |     | t |              |               |              |
| trol | put |     |   |              |               |              |
|      | D   |     |   |              |               |              |
|      | ata |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     |     | S | P            |               | DWORD        |
|      |     |     | e | apiSetIoData |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      | NC  | Sta | G | PapiGetC     |               | DWORD        |
|      | C   | tus | e | ontrolStatus |               |              |
|      | omm |     | t |              |               |              |
|      | and |     |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | F   | S | PapiSetCo    | PAPI_PLC_SPL  | DWORD        |
|      |     | eed | e | ntrolCommand |               |              |
|      |     | H   | t |              |               |              |
|      |     | old |   |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+
|      |     | St  | S | PapiSetCo    | PAPI_PLC_STL  | DWORD        |
|      |     | art | e | ntrolCommand |               |              |
|      |     |     | t |              |               |              |
+------+-----+-----+---+--------------+---------------+--------------+

# List of data of extended PAPI

+-----------------------------------------------------------------------+
| ***Contents of Data                                OpenController     |
| Technical Committee***                                                |
+-----------------------------------------------------------------------+
|   ------------------                                                  |
| --------- --------------- ------------- --------- ------------------- |
| ------------ ----------------------------------------- -------------- |
|                                                                       |
|                            **Data**      **Acs**   **Function**       |
|               **Argument**                              **Data type** |
|                                                                       |
|   Resource                                                            |
|                    Operation Mode  Current       Get       PapiGetOpe |
| rationMode                                                      DWORD |
|                                                                       |
|                                         Operation                     |
|                                                                       |
|                                                                       |
|                                         Mode                          |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etOperationMode                                                       |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etOperationModeCommand                                                |
|                                                                       |
|                                                                       |
|                     Optional Mode   Singleblock   Get       PapiGetSh |
| ingleblockStatus                                                 BOOL |
|                                                                       |
|                                         State                         |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etSingleblockCommand                                                  |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etSingleblockCommand                                                  |
|                                                                       |
|                                                                       |
|                                     Dryrun State  Get       PapiGetDr |
| yrunStatus                                                       BOOL |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etDryrunCommand                                                       |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etDryrunCommand                                                       |
|                                                                       |
|                                                                       |
|                                     Machinelock   Get       PapiGetMa |
| chinelockStatus                                                  BOOL |
|                                                                       |
|                                         State                         |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etMachinelockCommand                                                  |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etMachinelockCommand                                                  |
|                                                                       |
|   Interpolation                                                       |
|             Moving          Current       Get       PapiGetAxisMotion |
| Status         PAPIAXISFLAG                              PAPIAXISFLAG |
|   Acce                                                                |
| leration/Deceleration   Direction       Moving                        |
|                                                                       |
|                                                                       |
|                                         Direction                     |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etAxisMotionCommand                                                   |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etAxisMotionCommand                                                   |
|                                                                       |
|                                                                       |
|                  Target          Target        Set       PapiStartAxi |
| sTo                                                           PAPISTR |
|                                                                       |
|                         Position/Seed   Position                      |
|                                                                       |
|                                                                       |
|                                                                       |
|                                  Target Speed  Set       PapiSetAxisS |
| peed                PAPIAXISFLAG                              PAPISTR |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etAxisSpeedCommand                                                    |
|                                                                       |
|                                                                       |
|                  Override        Feed Override Get       PapiGetOverr |
| deStatus            PAPI_AXIS_FEED_OVERRIDE                   PAPISTR |
|                                                                       |
|                                         of Axis                       |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etOverrdeCommand                                                      |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etOverrdeCommand                                                      |
|                                                                       |
|                                                                       |
|                                  Jog Override  Get       PapiGetOverr |
| deStatus            PAPI_AXIS_JOG_OVERRIDE                    PAPISTR |
|                                                                       |
|                                         of Axis                       |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etOverrdeCommand                                                      |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etOverrdeCommand                                                      |
|                                                                       |
|                                                                       |
|                                  Rapid         Get       PapiGetOverr |
| deStatus            PAPI_AXIS_RAPID_OVERRIDE                  PAPISTR |
|                                                                       |
|                                         Override of                   |
|                                                                       |
|                                                                       |
|                                         Axis                          |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etOverrdeCommand                                                      |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etOverrdeCommand                                                      |
|                                                                       |
|                                                                       |
|             Interlock       Interlock of  Get       PapiGetAxisInterl |
| ockStatus                                                PAPIAXISFLAG |
|                                                                       |
|                                         each Axis                     |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etAxisInterlockCommand                                                |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etAxisInterlockCommand                                                |
|                                                                       |
|                                                                       |
|                  Speed Limit     Maximum       Get       PapiGetAxisI |
| nformation          PAPI_INFO_AXIS_SPEED_MAX                  PAPISTR |
|                                                                       |
|                                                                       |
|                  Stroke Limit    Maximum       Get       PapiGetAxisI |
| nformation          PAPI_INFO_AXIS_STROKELIMIT_MAX            PAPISTR |
|                                                                       |
|                                                                       |
|                                  Minimum       Get       PapiGetAxisI |
| nformation          PAPI_INFO_AXIS_STROKELIMIT_MIN            PAPISTR |
|                                                                       |
|                                                                       |
|                  Software        Maximum       Get       PapiGetAxisI |
| nformation          PAPI_INFO_AXIS_SOFTWARE_STROKELIMIT_MAX   PAPISTR |
|                                                                       |
|                         Settable Stroke                               |
|                                                                       |
|                                                                       |
|                         Limit                                         |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etAxisInformation                                                     |
|                                                                       |
|                                                                       |
|                                  Minimum       Get       PapiGetAxisI |
| nformation          PAPI_INFO_AXIS_SOFTWARE_STROKELIMIT_MIN   PAPISTR |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etAxisInformation                                                     |
|                                                                       |
|   Servo                                                               |
|             Servo On Status               Get       PapiGetSevoOnStat |
| us                                                       PAPIAXISFLAG |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etSevoOnCommand                                                       |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etSevoOnCommand                                                       |
|                                                                       |
|   Spindle                                                             |
|                    Rotate                        Get       PapGetSpin |
| dleMotionStatus                                                 DWORD |
|                                                                       |
|                         Direction                                     |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapSe |
| tSpindleMotionCommand                                                 |
|                                                                       |
|                                                                       |
|                                                       Get       PapSe |
| tSpindleMotionCommand                                                 |
|                                                                       |
|                                                                       |
|                    Target Rotation Rotate        Set       PapiOrient |
| Spindle                                                         DWORD |
|                                                                       |
|                                         Direction                     |
|                                                                       |
|                                                                       |
|                                                                       |
|                                  Position      Set       PapiOrientSp |
| indle                                                         PAPISTR |
|                                                                       |
|                                                                       |
|                  Speed           Current Speed Get       PapiGetSpind |
| leSpeed                                                       PAPISTR |
|                                                                       |
|                                                                       |
|                                         Target Speed  Set       PapiS |
| etSpindleSpeed                                                        |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etSpindleSpeedCommand                                                 |
|                                                                       |
|                                                                       |
|                  Override                      Get       PapiGetSpind |
| leOverrdeStatus     PAPI_SPINDLE_FEED_OVERRIDE                PAPISTR |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etSpindleOverrdeCommand                                               |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etSpindleOverrdeCommand                                               |
|                                                                       |
|                                                                       |
|                  Speed Limit     Maximum       Get       PapiGetSpind |
| leInformation       PAPI_INFO_SPINDLE_SPEED_MAX               PAPISTR |
|                                                                       |
|                                                                       |
|                                  Minimum       Get       PapiGetSpind |
| leInformation       PAPI_INFO_SPINDLE_SPEED_MIN               PAPISTR |
|                                                                       |
|                                                                       |
|                  Load Limit      Maximum       Get       PapiGetSpind |
| leInformation       PAPI_INFO_SPINDLE_LOAD_MAX                PAPISTR |
|                                                                       |
|                                                                       |
|                  Software        Maximum       Get       PapiGetSpind |
| leInformation       PAPI_INFO_SPINDLE_SOFTWARE_SPEED_MAX      PAPISTR |
|                                                                       |
|                         Settable Limit                                |
|                                                                       |
|                                                                       |
|                         of Axis                                       |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etSpindleInformation                                                  |
|                                                                       |
|                                                                       |
|                                  Minimum       Get       PapiGetSpind |
| leInformation       PAPI_INFO_SPINDLE_SOFTWARE_SPEED_MIN      PAPISTR |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etSpindleInformation                                                  |
|                                                                       |
|                                                                       |
|                  Software        Maximum       Get       PapiGetSpind |
| leInformation       PAPI_INFO_SPINDLE_SOFTWARE_LOAD_MAX       PAPISTR |
|                                                                       |
|                         Settable Load                                 |
|                                                                       |
|                                                                       |
|                         Limit                                         |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etSpindleInformation                                                  |
|                                                                       |
|   Preproces                                                           |
| sing               Program         Current       Get       PapiGetPro |
| gramExecMode                                                    DWORD |
|                                                                       |
|                         Executer        Program                       |
|                                                                       |
|                                                                       |
|                                         Execution                     |
|                                                                       |
|                                                                       |
|                                         Mode                          |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etProgramExecMode                                                     |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etProgramExecModeCommand                                              |
|                                                                       |
|   Clamp                                                               |
|                     Spindle         Spindle Clamp Get       PapiGetCl |
| ampStatus              PAPI_CLAMP_SPINDLE                        BOOL |
|                                                                       |
|                                         State                         |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etClampCommand                                                        |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etClampCommand                                                        |
|                                                                       |
|                                                                       |
|                     Tool            Tool Clamp    Get       PapiGetCl |
| ampStatus              PAPI_CLAMP_TOOL                           BOOL |
|                                                                       |
|                                         State                         |
|                                                                       |
|                                                                       |
|                                                                       |
|                                                       Set       PapiS |
| etClampCommand                                                        |
|                                                                       |
|                                                                       |
|                                                       Get       PapiG |
| etClampCommand                                                        |
|   ------------------                                                  |
| --------- --------------- ------------- --------- ------------------- |
| ------------ ----------------------------------------- -------------- |
+-----------------------------------------------------------------------+