<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="../Fmethod_xsl/fmethod_he_c.xsl"?>

<root>
  <func>


    <title>cnc_rdtofsr</title>



    <declare>
      <vc>
        <include>#include "fwlib32.h"</include>
        <prottype>FWLIBAPI short WINAPI cnc_rdtofsr(unsigned short FlibHndl, short s_number, short type, short e_number, short length, IODBTO *tofsr);</prottype>
      </vc>
    </declare>



    <doc>
        <cmn>
            <p>Reads the tool offset value specified by "s_number","e_number","type".
               The offset value is stored in "IODBTO" with signed binary format.
            </p>

            <p>The unit of offset value is the same as "Read tool offset value(<a href="ncdata/cnc_rdtofs.htm" target="_parent">cnc_rdtofs</a>)".  See the description of <a href="ncdata/cnc_rdtofs.htm" target="_parent">cnc_rdtofs</a> function.
</p>
        </cmn>
    </doc>



    <argument>
        <common>
            <vc>
                <item>
                    <name>FlibHndl</name>
                    <type>in</type>
                    <content>
                        <p>
                            Specify the library handle. See "<a href="handle.htm" target="_parent">Library handle</a>" for details.
                        </p>
                    </content>
                </item>
                <item>
                    <name>s_number</name>
                    <type>in</type>
                    <content>
                        <p>Specify the start tool offset number.<br/>
                           The available number of tool offset can be got by <a href="ncdata/cnc_rdtofsinfo.htm" target="_parent">cnc_rdtofsinfo</a> function.</p>
                    </content>
                </item>
                <item>
                    <name>e_number</name>
                    <type>in</type>
                    <content>
                        <p>Specify the end tool offset number.</p>
                    </content>
                </item>
                <item>
                    <name>type</name>
                    <type>in</type>
                    <content>
                        <p>Specify the tool offset type.(see the following table)</p>
                    </content>
                </item>
                <item>
                    <name>length</name>
                    <type>in</type>
                    <content>
                        <p>Specify the data block length.(see the following table)</p>
                    </content>
                </item>
                <item>
                    <name>tofsr</name>
                    <type>out</type>
                    <content>
                        <p>Pointer to the IODBTO structure including the tool offset value.<br/>
                           The IODBTO structure is as follows.</p>
<pre>
typedef struct iodbto {
    short datano_s;             /* start offset number */
    short type;                 /* offset type */
    short datano_e;             /* end offset number */
    union {
        long    m_ofs[N];       /* M series individual */
        long    m_ofs_a[N];     /* M series Memory A all */
        long    m_ofs_b[2*N];   /* M series Memory B all */
        long    m_ofs_c[4*N];   /* M series Memory C all */
        struct  {
            short   tip ;
            long    data[1] ;
        } m_ofs_at[N] ;         /* M series Memory A all with direction of imaginary tool nose */
        struct  {
            short   tip ;
            long    data[2] ;
        } m_ofs_bt[N] ;         /* M series Memory B all with direction of imaginary tool nose */
        struct  {
            short   tip ;
            long    data[4] ;
        } m_ofs_ct[N] ;         /* M series Memory C all with direction of imaginary tool nose */
        short   t_tip[N];       /* T series individual,direction of imaginary tool nose */
        long    t_ofs[N];       /* T series individual */
        struct  {
            short   tip;
            long    data[4];
        } t_ofs_a[N];           /* T series Memory A all */
        struct {
            short   tip;
            long    data[8];
        } t_ofs_b[N];           /* T series Memory B all */
        long    t_ofs_2g[3*N];  /* T series Second geometry all */
    } u ;
} IODBTO ;      /* N is number of the offset value. */
</pre>
                        <p>The combinations of the value specified in "type", the data block length "length", the kind of offset value to be read and the member in which the result is stored are as follows.</p>

                        <ul>
                            <div class="xis"> <!-- attention -->
                            <li>Machining Series(including Power Mate i)/Tool offset Memory A</li>
                            <table border="1" valign="top">
                                <colgroup width="10%"/>
                                <colgroup width="15%"/>
                                <colgroup width="10%"/>
                                <colgroup width="30%"/>
                                <colgroup width="35%"/>
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool offset</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>-1</td>
                                    <td>8+4*N</td>
                                    <td>all</td>
                                    <td>Tool offset</td>
                                    <td>tofsr.u.m_ofs_a[i]</td>
                                </tr>
                            </table>
                            <br/>
                            </div> <!-- attention class="xis" -->

                            <li>Machining Series<span class="xis">(Series 300i)</span>/Tool offset Memory A</li>
                            <table border="1" valign="top">
                                <colgroup width="10%"/>
                                <colgroup width="15%"/>
                                <colgroup width="10%"/>
                                <colgroup width="30%"/>
                                <colgroup width="35%"/>
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool offset</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>9</td>
                                    <td>8+2*N</td>
                                    <td>individual</td>
                                    <td>Direction of imaginary tool nose </td>
                                    <td>tofsr.u.t_tip[i]</td>
                                </tr>

                                <tr>
                                    <td>-1</td>
                                    <td>8+4*N</td>
                                    <td>all</td>
                                    <td>Tool offset</td>
                                    <td>tofsr.u.m_ofs_a[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="2">-4</td>
                                    <td rowspan="2">8+8*N</td>
                                    <td rowspan="2">all</td>
                                    <td>Direction of imaginary tool nose </td>
                                    <td>tofsr.u.m_ofs_at[i].tip</td>
                                </tr>

                                <tr>
                                    <td>Tool offset</td>
                                    <td>tofsr.u.m_ofs_at[i].data[0]</td>
                                </tr>
                            </table>
                            <br/>

                            <div class="xis"> <!-- attention -->
                            <li>Machining Series (including Power Mate i)/Tool offset Memory B</li>
                            <table border="1" valign="top">
                                <colgroup width="10%"/>
                                <colgroup width="15%"/>
                                <colgroup width="10%"/>
                                <colgroup width="30%"/>
                                <colgroup width="35%"/>
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool geometry offset</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>1</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool wear offset</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="2">-2</td>
                                    <td rowspan="2">8+8*N</td>
                                    <td rowspan="2">all</td>
                                    <td>Tool geometry offset</td>
                                    <td>tofsr.u.m_ofs_b[2*i+0]</td>
                                </tr>

                                <tr>
                                    <td>Tool wear offset</td>
                                    <td>tofsr.u.m_ofs_b[2*i+1]</td>
                                </tr>
                            </table>
                            <br/>
                            </div> <!-- attention class="xis" -->

                            <li>Machining Series<span class="xis">(Series 300i)</span>/Tool offset Memory B</li>
                            <table border="1" valign="top">
                                <colgroup width="10%"/>
                                <colgroup width="15%"/>
                                <colgroup width="10%"/>
                                <colgroup width="30%"/>
                                <colgroup width="35%"/>
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool geometry offset</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>1</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool wear offset</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>9</td>
                                    <td>8+2*N</td>
                                    <td>individual</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.t_tip[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="2">-2</td>
                                    <td rowspan="2">8+8*N</td>
                                    <td rowspan="2">all</td>
                                    <td>Tool geometry offset</td>
                                    <td>tofsr.u.m_ofs_b[2*i+0]</td>
                                </tr>

                                <tr>
                                    <td>Tool wear offset</td>
                                    <td>tofsr.u.m_ofs_b[2*i+1]</td>
                                </tr>

                                <tr>
                                    <td rowspan="3">-5</td>
                                    <td rowspan="3">8+12*N</td>
                                    <td rowspan="3">all</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.m_ofs_bt[i].tip</td>
                                </tr>

                                <tr>
                                    <td>Tool geometry offset</td>
                                    <td>tofsr.u.m_ofs_bt[i].data[0]</td>
                                </tr>

                                <tr>
                                    <td>Tool wear offset</td>
                                    <td>tofsr.u.m_ofs_bt[i].data[1]</td>
                                </tr>
                            </table>
                            <br/>

                            <div class="xis"> <!-- attention -->
                            <li>Machining Series (including Power Mate i)/Tool offset Memory C</li>
                            <table border="1" valign="top">
                                <colgroup width="10%"/>
                                <colgroup width="15%"/>
                                <colgroup width="10%"/>
                                <colgroup width="30%"/>
                                <colgroup width="35%"/>
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool length/geometry</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>1</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool length/wear</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>2</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Cutter radius/geometry</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>3</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Cutter radius/wear</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="4">-3</td>
                                    <td rowspan="4">8+16*N</td>
                                    <td rowspan="4">all</td>
                                    <td>Tool length/geometry</td>
                                    <td>tofsr.u.m_ofs_c[4*i+0]</td>
                                </tr>

                                <tr>
                                    <td>Tool length/wear</td>
                                    <td>tofsr.u.m_ofs_c[4*i+1]</td>
                                </tr>

                                <tr>
                                    <td>Cutter radius/geometry</td>
                                    <td>tofsr.u.m_ofs_c[4*i+2]</td>
                                </tr>

                                <tr>
                                    <td>Cutter radius/wear</td>
                                    <td>tofsr.u.m_ofs_c[4*i+3]</td>
                                </tr>
                            </table>
                            <br/>
                            </div> <!-- attention class="xis" -->

                            <li>Machining Series<span class="xis">(Series 300i)</span>/Tool offset Memory C</li>
                            <table border="1" valign="top">
                                <colgroup width="10%"/>
                                <colgroup width="15%"/>
                                <colgroup width="10%"/>
                                <colgroup width="30%"/>
                                <colgroup width="35%"/>
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool length/geometry</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>1</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Tool length/wear</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>2</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Cutter radius/geometry</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>3</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Cutter radius/wear</td>
                                    <td>tofsr.u.m_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>9</td>
                                    <td>8+2*N</td>
                                    <td>individual</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.t_tip[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="4">-3</td>
                                    <td rowspan="4">8+16*N</td>
                                    <td rowspan="4">all</td>
                                    <td>Tool length/geometry</td>
                                    <td>tofsr.u.m_ofs_c[4*i+0]</td>
                                </tr>

                                <tr>
                                    <td>Tool length/wear</td>
                                    <td>tofsr.u.m_ofs_c[4*i+1]</td>
                                </tr>

                                <tr>
                                    <td>Cutter radius/geometry</td>
                                    <td>tofsr.u.m_ofs_c[4*i+2]</td>
                                </tr>

                                <tr>
                                    <td>Cutter radius/wear</td>
                                    <td>tofsr.u.m_ofs_c[4*i+3]</td>
                                </tr>

                                <tr>
                                    <td rowspan="5">-6</td>
                                    <td rowspan="5">8+20*N</td>
                                    <td rowspan="5">all</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.m_ofs_ct[i].tip</td>
                                </tr>

                                <tr>
                                    <td>Tool length/geometry</td>
                                    <td>tofsr.u.m_ofs_ct[i].data[0]</td>
                                </tr>

                                <tr>
                                    <td>Tool length/wear</td>
                                    <td>tofsr.u.m_ofs_ct[i].data[1]</td>
                                </tr>

                                <tr>
                                    <td>Cutter radius/geometry</td>
                                    <td>tofsr.u.m_ofs_ct[i].data[2]</td>
                                </tr>

                                <tr>
                                    <td>Cutter radius/wear</td>
                                    <td>tofsr.u.m_ofs_ct[i].data[3]</td>
                                </tr>
                            </table>
                            <br/>

                            <li>Lathe Series/Tool offset Memory A</li>
                            <table border="1" valign="top">
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+2*N</td>
                                    <td>individual</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.t_tip[i]</td>
                                </tr>

                                <tr>
                                    <td>1</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>X-axis offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>2</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Y-axis offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>3</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Z-axis offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>4</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Nose radius offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="5">-1</td>
                                    <td rowspan="5">8+20*N</td>
                                    <td rowspan="5">all</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.t_ofs_a[i].tip</td>
                                </tr>

                                <tr>
                                    <td>X-axis offset</td>
                                    <td>tofsr.u.t_ofs_a[i].data[0]</td>
                                </tr>

                                <tr>
                                    <td>Y-axis offset</td>
                                    <td>tofsr.u.t_ofs_a[i].data[1]</td>
                                </tr>

                                <tr>
                                    <td>Z-axis offset</td>
                                    <td>tofsr.u.t_ofs_a[i].data[2]</td>
                                </tr>

                                <tr>
                                    <td>Nose radius offset</td>
                                    <td>tofsr.u.t_ofs_a[i].data[3]</td>
                                </tr>
                            </table>
                            <br/>

                            <li>Lathe Series<span class="xis">(Series 300i)</span>/Tool offset Memory B</li>
                            <table border="1" valign="top">
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>0</td>
                                    <td>8+2*N</td>
                                    <td>individual</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.t_tip[i]</td>
                                </tr>

                                <tr>
                                    <td>1</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>X-axis geometry offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>2</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Y-axis geometry offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>3</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Z-axis geometry offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>4</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Nose radius geometry offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>5</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>X-axis wear offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>6</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Y-axis wear offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>7</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Z-axis wear offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>8</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Nose radius wear offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="9">-2</td>
                                    <td rowspan="9">8+36*N</td>
                                    <td rowspan="9">all</td>
                                    <td>Direction of imaginary tool nose</td>
                                    <td>tofsr.u.t_ofs_b[i].tip</td>
                                </tr>

                                <tr>
                                    <td>X-axis geometry offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[0]</td>
                                </tr>

                                <tr>
                                    <td>Y-axis geometry offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[1]</td>
                                </tr>

                                <tr>
                                    <td>Z-axis geometry offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[2]</td>
                                </tr>

                                <tr>
                                    <td>Nose radius geometry offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[3]</td>
                                </tr>

                                <tr>
                                    <td>X-axis wear offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[4]</td>
                                </tr>

                                <tr>
                                    <td>Y-axis wear offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[5]</td>
                                </tr>

                                <tr>
                                    <td>Z-axis wear offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[6]</td>
                                </tr>

                                <tr>
                                    <td>Nose radius wear offset</td>
                                    <td>tofsr.u.t_ofs_b[i].data[7]</td>
                                </tr>
                            </table>
                            <br/>

                            <li>Lathe Series/Second geometry</li>
                            <table border="1" valign="top">
                                <colgroup width="10%"/>
                                <colgroup width="15%"/>
                                <colgroup width="10%"/>
                                <colgroup width="30%"/>
                                <colgroup width="35%"/>
                                <tr>
                                    <th>type</th>
                                    <th>length</th>
                                    <th>Attribute</th>
                                    <th>Offset type</th>
                                    <th>Member to be stored in</th>
                                </tr>

                                <tr>
                                    <td>100</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>X-axis offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>101</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Y-axis offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td>102</td>
                                    <td>8+4*N</td>
                                    <td>individual</td>
                                    <td>Z-axis offset</td>
                                    <td>tofsr.u.t_ofs[i]</td>
                                </tr>

                                <tr>
                                    <td rowspan="3">-100</td>
                                    <td rowspan="3">8+12*N</td>
                                    <td rowspan="3">all</td>
                                    <td>X-axis offset</td>
                                    <td>tofsr.u.t_ofs_2g[3*i+0]</td>
                                </tr>

                                <tr>
                                    <td>Y-axis offset</td>
                                    <td>tofsr.u.t_ofs_2g[3*i+1]</td>
                                </tr>

                                <tr>
                                    <td>Z-axis offset</td>
                                    <td>tofsr.u.t_ofs_2g[3*i+2]</td>
                                </tr>
                            </table>
                            <br/>
                        </ul>
                        <p>N is number of offset to be read, i = 0,..,(N-1).</p>

                    </content>
                </item>
            </vc>
        </common>
    </argument>



    <errcode>
        <item>
            <name>EW_LENGTH</name>
            <content>Data block length error<br/>Size of ODBTOFS structure(length) is wrong.</content>
        </item>
        <item>
            <name>EW_NUMBER</name>
            <content>Data number error<br/>Offset number(s_number, e_number) is wrong.</content>
        </item>
        <item>
            <name>EW_ATTRIB</name>
            <content>Data attribute error<br/>Offset type(type) is wrong.</content>
        </item>
    </errcode>



    <option>
        <hssb>The extended driver/library function is necessary.</hssb>
        <ethr><p>The Ethernet function and the extended driver/library function are necessary.</p>
              <p>However, in case of Series 160i/180i/210i/0i MODEL B and 300i, the required CNC option is as follows.</p>
              <p>When Embedded Ethernet is used,</p>
              <p><ul>above two optional functions are not required.</ul></p>
              <p>When Ethernet board is used,</p>
              <p><ul>only Ethernet function is required.</ul></p>
        </ethr>
        <type>
            <li>Series 150</li>
            <table>
                <colgroup valign="top" width="30"/>
                <colgroup valign="top" width="150"/>
                <colgroup valign="top"/>
                <tr>
                    <td>M</td>
                    <td>Tool offset extension</td>
                    <td>(32)/99/200/499/999 sets</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Tool offset memory</td>
                    <td>(A)/B/C</td>
                </tr>
                <tr>
                    <td></td>
                    <td colspan="2">Extended tool offset value (number of offset is half of the above sets.)</td>
                </tr>
                <tr>
                    <td>T</td>
                    <td>Tool offset extension</td>
                    <td>(32)/64/160 sets</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Tool offset memory</td>
                    <td>(A)/B</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Cutter radius compensation</td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td colspan="2">Extended tool offset value (number of offset is half of the above sets.)</td>
                </tr>
                <tr>
                    <td>TT</td>
                    <td>Tool offset extension</td>
                    <td>(16)/32/80 sets(each path)</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Tool offset memory</td>
                    <td>(A)/B</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Cutter radius compensation</td>
                    <td></td>
                </tr>
            </table>
            <br/>
            <li>Series 150i</li>
            <table>
                <colgroup valign="top" width="30"/>
                <colgroup valign="top" width="150"/>
                <colgroup valign="top"/>
                <tr>
                    <td>M</td>
                    <td>Tool offset extension</td>
                    <td>(32)/99/200/499/999 sets</td>
                </tr>

                <tr>
                    <td></td>
                    <td>Tool offset memory</td>
                    <td>(A)/B/C</td>
                </tr>
            </table>
            <br/>
            <li>Series 160/180/210, 160i/180i/210i, 0i</li>
            <table>
                <colgroup valign="top" width="30"/>
                <colgroup valign="top" width="150"/>
                <colgroup valign="top"/>
                <tr>
                    <td>M</td>
                    <td>Tool offset extension</td>
                    <td>(32)/64/99/200/400/499/999 sets</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Tool offset memory</td>
                    <td>(A)/B/C</td>
                </tr>
                <tr>
                    <td>T</td>
                    <td>Tool offset extension</td>
                    <td>(16)/32/64/99 sets</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Geometry/wear offset</td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td>Cutter radius compensation</td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td>Y-axis offset</td>
                    <td></td>
                </tr>
            </table>
            <br/>
            <li>Series 300i</li>
            <table>
                <colgroup valign="top" width="30"/>
                <colgroup valign="top" width="150"/>
                <colgroup valign="top"/>
                <tr>
                    <td>M</td>
                    <td>Tool offset extension</td>
                    <td>(16)/32/64/99/200/400/499/999/2000 sets</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Tool offset memory</td>
                    <td>(A)/B/C</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Cutter radius/nose radius offset</td>
                    <td></td>
                </tr>

                <tr>
                    <td>T</td>
                    <td>Tool offset extension</td>
                    <td>(16)/32/64/99/200/400/499/999/2000 sets</td>
                </tr>
                <tr>
                    <td></td>
                    <td>Geometry/wear offset</td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td>Cutter radius/nose radius offset</td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td>Y-axis offset</td>
                    <td></td>
                </tr>
                <tr>
                    <td></td>
                    <td>Second geometry tool offset</td>
                    <td></td>
                </tr>
            </table>
            <br/>
            <p>* ( ) : Basic</p>
        </type>
        <add></add>

        <is>
            <hssb>The extended driver/library function is necessary.</hssb>
            <type>
                <table>
                    <colgroup valign="top" width="30"/>
                    <colgroup valign="top" width="200"/>
                    <colgroup valign="top"/>
                    <tr>
                        <td>M</td>
                        <td>Tool offset extension</td>
                        <td>(16)/32/64/99/200/400/499/999/2000 sets</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>Tool offset memory</td>
                        <td>(A)/B/C</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>Cutter radius/nose radius offset</td>
                        <td></td>
                    </tr>

                    <tr>
                        <td>T</td>
                        <td>Tool offset extension</td>
                        <td>(16)/32/64/99/200/400/499/999/2000 sets</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>Geometry/wear offset</td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>Cutter radius/nose radius offset</td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>Y-axis offset</td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td>Second geometry tool offset</td>
                        <td></td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td>* ( ) : Basic</td>
                    </tr>
                </table>
                <br/>
            </type>
        </is>
    </option>



    <parameter>
        <type>
            <li>Series 150, 150i</li>
            <div class="dd">6002#0,#1, 6004#0, 6007#0</div><br/>
            <li>Series 160/180/210, 160i/180i/210i, 0i</li>
            <div class="dd">1004#0,#1</div><br/>
            <li>Series 300i</li>
            <div class="dd">5042#3,#2,#1,#0<br/>
                            5009#5(M Series)<br/>
                            5024</div><br/>
            <li>Power Mate i</li>
            <div class="dd">1004#0(In case of Power Mate i-H)<br/>
                            1004#1(In case of Power Mate i-D)</div><br/>
        </type>
        <add></add>
    </parameter>

    <is_parameter>
        <type>
            <div class="dd">5042#3,#2,#1,#0<br/>
                            5009#5(M Series)<br/>
                            5024</div><br/>
        </type>
    </is_parameter>



    <mode>
    </mode>



    <support>
        <m>
            <fs0ia>H</fs0ia>
            <fs0ib>O</fs0ib>
            <fs15>H</fs15>
            <fs15i>O</fs15i>
            <fs16>H</fs16>
            <fs18>H</fs18>
            <fs21>H</fs21>
            <fs16ia>O</fs16ia>
            <fs18ia>O</fs18ia>
            <fs21ia>O</fs21ia>
            <fs16ib>O</fs16ib>
            <fs18ib>O</fs18ib>
            <fs21ib>O</fs21ib>
            <fs30i>O</fs30i>
        </m>
        <t>
              <fs0ia>H</fs0ia>
            <fs0ib>O</fs0ib>
            <fs15>H</fs15>
            <fs15i>X</fs15i>
            <fs16>H</fs16>
            <fs18>H</fs18>
            <fs21>H</fs21>
            <fs16ia>O</fs16ia>
            <fs18ia>O</fs18ia>
            <fs21ia>O</fs21ia>
            <fs16ib>O</fs16ib>
            <fs18ib>O</fs18ib>
            <fs21ib>O</fs21ib>
            <fs30i>O</fs30i>
        </t>
        <lc>
              <fs0ia>X</fs0ia>
            <fs0ib>X</fs0ib>
            <fs15>X</fs15>
            <fs15i>X</fs15i>
            <fs16>H</fs16>
            <fs18>H</fs18>
            <fs21>H</fs21>
            <fs16ia>H</fs16ia>
            <fs18ia>H</fs18ia>
            <fs21ia>H</fs21ia>
            <fs16ib>H</fs16ib>
            <fs18ib>H</fs18ib>
            <fs21ib>H</fs21ib>
            <fs30i>X</fs30i>
        </lc>
        <p>
            <fs16i>O</fs16i>
            <fs18i>O</fs18i>
        </p>
        <l>
            <fs16i>O</fs16i>
            <fs18i>X</fs18i>
        </l>
        <w>
            <fs16i>E</fs16i>
            <fs18i>E</fs18i>
        </w>
        <pw>
            <d>O</d>
            <h>O</h>
        </pw>
        <add><b></b></add>

        <is>
            <m>
                <fs30is>O</fs30is>
            </m>
            <t>
                <fs30is>O</fs30is>
            </t>
        </is>
    </support>



    <reference>
        <item>
            <name>cnc_rdtofs</name>
            <file>ncdata/cnc_rdtofs.htm</file>
        </item>
        <item>
            <name>cnc_wrtofs</name>
            <file>ncdata/cnc_wrtofs.htm</file>
        </item>
        <item>
            <name>cnc_wrtofsr</name>
            <file>ncdata/cnc_wrtofsr.htm</file>
        </item>
        <item>
            <name>cnc_rdtofsinfo</name>
            <file>ncdata/cnc_rdtofsinfo.htm</file>
        </item>
    </reference>



    <example>
        <vc>
<pre>
The following program reads all offset values of Lathe-Series(Memory B/64 sets)
and displays them.

#include "fwlib32.h"
#define MAXTOOL 64

short example( void )
{
    IODBTO *tofsr ;
    short ret, idx ;
    tofsr = (IODBTO *)malloc( 8+36*MAXTOOL ) ;
    ret = cnc_rdtofsr( h, 1, -2, MAXTOOL, 8+36*MAXTOOL, tofsr ) ;
    if ( !ret ) {
        printf( "No  X:wear  Z:wear  Y:wear  X:geom  "
                "Z:geom  Y:geom  R:wear  R:geom T\n" ) ;
        printf( "---+-------+-------+-------+-------+"
                "-------+-------+-------+------+-\n" ) ;
        for ( idx = 0 ; idx &#60; MAXTOOL ; idx++ ) {
            printf( "%02d%8ld%8ld%8ld%8ld%8ld%8ld%8ld%8ld%2d\n",
                    idx, tofsr->u.t_ofs_b[idx].data[4],
                    tofsr->u.t_ofs_b[idx].data[5],
                    tofsr->u.t_ofs_b[idx].data[6],
                    tofsr->u.t_ofs_b[idx].data[0],
                    tofsr->u.t_ofs_b[idx].data[1],
                    tofsr->u.t_ofs_b[idx].data[2],
                    tofsr->u.t_ofs_b[idx].data[7],
                    tofsr->u.t_ofs_b[idx].data[3],
                    tofsr->u.t_ofs_b[idx].tip ) ;
        }
    }
    free( tofsr ) ;
    return ( ret ) ;
}
</pre>
        </vc>
    </example>



  </func>
</root>
