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


        <!-- 関数名 -->
        <title>cnc_rddiaginfo</title>



        <!-- 関数宣言 -->
        <declare>
            <!-- Visual C++の宣言 -->
            <vc>
                <include>#include "fwlib32.h"</include>
                <prottype>
                    FWLIBAPI short WINAPI cnc_rddiaginfo(unsigned short FlibHndl, short s_number, unsigned short read_no, ODBDIAGIF *diagif);
                </prottype>
            </vc>
        </declare>



        <!-- 解説 -->
        <doc>
            <cmn>
                <p>
                    s_number,read_noで指定されたCNCダイアグノーズデータ情報を読み出します。<BR/>
                    CNCダイアグノーズデータは基本的に非連続で、個別の番号毎に型、サイズ等属性が異なります。
                    ダイアグノーズデータの表示等を行う場合に使用します
                </p>
            </cmn>
        </doc>



        <!-- 引数 -->
        <argument>
            <common>
                <vc>
                    <item>
                        <name>FlibHndl</name>
                        <type>in</type>
                        <content>
                            <p>
                                ライブラリハンドルです。<BR/>
                                詳細は、「<a href="handle.htm" target="_parent">ライブラリハンドル</a>」を参照して下さい。
                            </p>
                        </content>
                    </item>
                    <item>
                        <name>s_number</name>
                        <type>in</type>
                        <content>
                            <p>開始ダイアグノーズデータ番号を指定します。</p>
                        </content>
                    </item>
                    <item>
                        <name>read_no</name>
                        <type>in</type>
                        <content>
                            <p>リードするダイアグノーズデータ情報の個数を指定します。</p>
                        </content>
                    </item>
                    <item>
                        <name>diagif</name>
                        <type>out</type>
                        <content>
                            <p>
                                ダイアグノーズデータ情報を返すODBDIAGIF構造体へのポインタです。<BR/>
                                ODBDIAGIF構造体は次の通りです。
                            </p>
<pre>
typedef struct odbdiagif {
    unsigned short info_no ;/* ダイアグノーズデータ情報の個数 */
    short        prev_no ;  /* 前のダイアグノーズデータ番号 */
    short        next_no ;  /* 次のダイアグノーズデータ番号 */
    struct {
        short   diag_no ;  /* ダイアグノーズデータ番号 */
        short   diag_type ;/* ダイアグノーズデータの属性 */
    } info[N] ;/* N : 読み出すダイアグノーズデータ情報の個数 */
} ODBDIAGIF ;
</pre>
                            <dl>
                                <dt>info_no</dt>
                                    <dd>ダイアグノーズデータ情報の個数</dd>
                                    <dd>実際に読み取ったダイアグノーズデータ情報の個数</dd>
                                <dt>prev_no</dt>
                                    <dd>前のダイアグノーズデータ番号</dd>
                                    <dd>最初にリードしたダイアグノーズデータ情報の前の有効番号</dd>
                                <dt>next_no</dt>
                                    <dd>次のダイアグノーズデータ番号</dd>
                                    <dd>最後にリードしたダイアグノーズデータ情報の後の有効番号</dd>
                                <dt>info[N].diag_no</dt>
                                    <dd>ダイアグノーズデータ番号</dd>
                                    <dd>実際に存在するダイアグノーズデータ番号</dd>
                                <dt>info[N].diag_type</dt>
                                    <dd>ダイアグノーズデータの属性</dd>
                                    <dd>以下の属性が設定されます。</dd>
                                    <dd><ul>
                                        <li>Series 150, 160/180/210, 160i/180i/210i, 0i, Power Mate i の場合</li>
                                            <table>
                                                <colgroup valign="top">
                                                <colgroup valign="top">
                                                <tr>
                                                    <td>bit 0, 1</td><td valign="top">:</td><td>型属性(bit 3 = 0のとき、有効)
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>ビット型 (8 bit)</td></tr>
                                                        <tr><td>1</td><td>:</td><td>バイト型</td></tr>
                                                        <tr><td>2</td><td>:</td><td>ワード型</td></tr>
                                                        <tr><td>3</td><td>:</td><td>2 ワード型、または実数型</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 2</td><td valign="top">:</td><td>軸属性
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>軸なし</td></tr>
                                                        <tr><td>1</td><td>:</td><td>軸あり</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 3</td><td valign="top">:</td><td>型属性
                                                    <table class="dd">
                                                        <tr><td>1</td><td>:</td><td>ビット型 (1 bit)</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 4,11,12</td><td valign="top">:</td><td>表示属性 (160i/180i/210iのみ)
                                                    <table class="dd">
                                                        <tr><td>#04=1</td><td>:</td><td>10進10桁表示</td></tr>
                                                        <tr><td>#11=1</td><td>:</td><td>#11=1 : 日付表示(yyyy/mm/dd)</td></tr>
                                                        <tr><td>#12=1</td><td>:</td><td>時間表示(hh:mm:ss)</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 5〜10,13〜15</td><td valign="top">:</td><td>(リザーブ)</td>
                                                </tr>
                                                </colgroup>
                                                </colgroup>
                                            </table>
                                        <br/>
                                        <li>Series 150iの場合</li>
                                            <table>
                                                <colgroup valign="top">
                                                <colgroup valign="top">
                                                <tr>
                                                    <td>bit 0, 1</td><td valign="top">:</td><td>未使用</td>
                                                </tr>
                                                <tr>
                                                    <td>bit 2</td><td valign="top">:</td><td>軸属性
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>軸なし</td></tr>
                                                        <tr><td>1</td><td>:</td><td>軸あり</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 3</td><td valign="top">:</td><td>未使用</td>
                                              </tr>
                                                <tr>
                                                    <td>bit 4〜6</td><td valign="top">:</td><td>型属性
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>バイト型</td></tr>
                                                        <tr><td>1</td><td>:</td><td>ワード型</td></tr>
                                                        <tr><td>2</td><td>:</td><td>2ワード型</td></tr>
                                                        <tr><td>3</td><td>:</td><td>ビット型(8 bit)</td></tr>
                                                        <tr><td>4</td><td>:</td><td>未使用</td></tr>
                                                        <tr><td>5</td><td>:</td><td>実数型</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 7</td><td valign="top">:</td><td>符号なし整数(型属性0,1,2のとき有効)
                                                    <table class="dd">
                                                        <tr><td>1</td><td>:</td><td>符号なしの整数</td></tr>
                                                        <tr><td>0</td><td>:</td><td>その他</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 8〜11</td><td valign="top">:</td><td>配列タイプ
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>非配列型</td></tr>
                                                        <tr><td>1</td><td>:</td><td>軸型</td></tr>
                                                        <tr><td>2</td><td>:</td><td>主軸型</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 12〜15</td><td valign="top">:</td><td>データ単位
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>無単位</td></tr>
                                                        <tr><td>1</td><td>:</td><td>%</td></tr>
                                                        <tr><td>2</td><td>:</td><td>RPM</td></tr>
                                                    </table></td>
                                                </tr>
                                                </colgroup>
                                                </colgroup>
                                            </table>
                                        <br/>
                                        <li>Series 300i の場合</li>
                                            <table>
                                                <colgroup valign="top">
                                                <colgroup valign="top">
                                                <tr>
                                                    <td>bit 0, 1</td><td valign="top">:</td><td>型属性(bit 3 = 0のとき、有効)
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>ビット型 (8 bit)</td></tr>
                                                        <tr><td>1</td><td>:</td><td>バイト型</td></tr>
                                                        <tr><td>2</td><td>:</td><td>ワード型</td></tr>
                                                        <tr><td>3</td><td>:</td><td>2ワード型、または実数型</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 2</td><td valign="top">:</td><td>軸属性
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>軸なし</td></tr>
                                                        <tr><td>1</td><td>:</td><td>軸あり</td></tr>
                                                    </table></td>
                                                    
                                                </tr>
                                                <tr>
                                                    <td>bit 3</td><td valign="top">:</td><td>型属性
                                                    <table class="dd">
                                                        <tr><td>1</td><td>:</td><td>ビット型 (1 bit)</td></tr>
                                                    </table></td>
                                                    
                                                </tr>
                                                <tr>
                                                    <td>bit 7</td><td valign="top">:</td><td>符号
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>符号あり</td></tr>
                                                        <tr><td>1</td><td>:</td><td>符号なし</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 8</td><td valign="top">:</td><td>スピンドルデータ
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>スピンドル以外</td></tr>
                                                        <tr><td>1</td><td>:</td><td>スピンドル</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 9〜11</td><td valign="top">:</td><td>（リザーブ）</td>
                                                </tr>
                                                <tr>
                                                    <td>bit 12</td><td valign="top">:</td><td>型属性3のとき
                                                    <table class="dd">
                                                        <tr><td>0</td><td>:</td><td>実数型以外</td></tr>
                                                        <tr><td>1</td><td>:</td><td>実数型</td></tr>
                                                    </table></td>
                                                </tr>
                                                <tr>
                                                    <td>bit 13〜15</td><td valign="top">:</td><td>（リザーブ）</td>
                                                </tr>
                                                </colgroup>
                                                </colgroup>
                                            </table>
                                    </ul></dd>
                                </dl>
                        </content>
                    </item>
                </vc>
            </common>

            <!-- 300is -->
            <is>
                <hssb>
                    <vc>
                        <item>
                            <name>FlibHndl</name>
                            <type>in</type>
                            <content>
                                <p>
                                ライブラリハンドルです。<BR/>
                                詳細は、「<a href="handle.htm" target="_parent">ライブラリハンドル</a>」を参照して下さい。                        </p>
                            </content>
                        </item>

                        <item>
                            <name>s_number</name>
                            <type>in</type>
                            <content>
                                <p>開始ダイアグノーズデータ番号を指定します。</p>
                            </content>
                        </item>
                        <item>
                            <name>read_no</name>
                            <type>in</type>
                            <content>
                                <p>リードするダイアグノーズデータ情報の個数を指定します。</p>
                            </content>
                        </item>

                        <item>
                            <name>diagif</name>
                            <type>out</type>
                            <content>
                                <p>
                                ダイアグノーズデータ情報を返すODBDIAGIF構造体へのポインタです。<BR/>
                                ODBDIAGIF構造体は次の通りです。
                                </p>
<pre>
typedef struct odbdiagif {
    unsigned short info_no ;/* ダイアグノーズデータ情報の個数 */
    short        prev_no ;  /* 前のダイアグノーズデータ番号 */
    short        next_no ;  /* 次のダイアグノーズデータ番号 */
    struct {
        short   diag_no ;  /* ダイアグノーズデータ番号 */
        short   diag_type ;/* ダイアグノーズデータの属性 */
    } info[N] ;/* N : 読み出すダイアグノーズデータ情報の個数 */
} ODBDIAGIF ;
</pre>
                                <dl>
                                    <dt>info_no</dt>
                                        <dd>ダイアグノーズデータ情報の個数</dd>
                                        <dd>実際に読み取ったダイアグノーズデータ情報の個数</dd>
                                    <dt>prev_no</dt>
                                        <dd>前のダイアグノーズデータ番号</dd>
                                        <dd>最初にリードしたダイアグノーズデータ情報の前の有効番号</dd>
                                    <dt>next_no</dt>
                                        <dd>次のダイアグノーズデータ番号</dd>
                                        <dd>最後にリードしたダイアグノーズデータ情報の後の有効番号</dd>
                                    <dt>info[N].diag_no</dt>
                                        <dd>ダイアグノーズデータ番号</dd>
                                        <dd>実際に存在するダイアグノーズデータ番号</dd>
                                    <dt>info[N].diag_type</dt>
                                        <dd>ダイアグノーズデータの属性</dd>
                                        <dd>以下の属性が設定されます。</dd>
                                        <dd><ul>
                                                <table>
                                                    <colgroup valign="top">
                                                    <colgroup valign="top">
                                                    <tr>
                                                        <td>bit 0, 1</td><td valign="top">:</td><td>型属性(bit 3 = 0のとき、有効)
                                                        <table class="dd">
                                                            <tr><td>0</td><td>:</td><td>ビット型 (8 bit)</td></tr>
                                                            <tr><td>1</td><td>:</td><td>バイト型</td></tr>
                                                            <tr><td>2</td><td>:</td><td>ワード型</td></tr>
                                                            <tr><td>3</td><td>:</td><td>2ワード型、または実数型</td></tr>
                                                        </table></td>
                                                    </tr>
                                                    <tr>
                                                        <td>bit 2</td><td valign="top">:</td><td>軸属性
                                                        <table class="dd">
                                                            <tr><td>0</td><td>:</td><td>軸なし</td></tr>
                                                            <tr><td>1</td><td>:</td><td>軸あり</td></tr>
                                                        </table></td>
                                                        
                                                    </tr>
                                                    <tr>
                                                        <td>bit 3</td><td valign="top">:</td><td>型属性
                                                        <table class="dd">
                                                            <tr><td>1</td><td>:</td><td>ビット型 (1 bit)</td></tr>
                                                        </table></td>
                                                        
                                                    </tr>
                                                    <tr>
                                                        <td>bit 7</td><td valign="top">:</td><td>符号
                                                        <table class="dd">
                                                            <tr><td>0</td><td>:</td><td>符号あり</td></tr>
                                                            <tr><td>1</td><td>:</td><td>符号なし</td></tr>
                                                        </table></td>
                                                    </tr>
                                                    <tr>
                                                        <td>bit 8</td><td valign="top">:</td><td>スピンドルデータ
                                                        <table class="dd">
                                                            <tr><td>0</td><td>:</td><td>スピンドル以外</td></tr>
                                                            <tr><td>1</td><td>:</td><td>スピンドル</td></tr>
                                                        </table></td>
                                                    </tr>
                                                    <tr>
                                                        <td>bit 9〜11</td><td valign="top">:</td><td>（リザーブ）</td>
                                                    </tr>
                                                    <tr>
                                                        <td>bit 12</td><td valign="top">:</td><td>型属性3のとき
                                                        <table class="dd">
                                                            <tr><td>0</td><td>:</td><td>実数型以外</td></tr>
                                                            <tr><td>1</td><td>:</td><td>実数型</td></tr>
                                                        </table></td>
                                                    </tr>
                                                    <tr>
                                                        <td>bit 13〜15</td><td valign="top">:</td><td>（リザーブ）</td>
                                                    </tr>
                                                    </colgroup>
                                                </colgroup>
                                            </table>
                                        </ul>
                                    </dd>
                                </dl>
                            </content>
                        </item>
                    </vc>
                </hssb>
            </is>
        </argument>



        <!-- 戻り値 -->
        <errcode>
            <item>
                <name>EW_NUMBER</name>
                <content>
                    データ番号の誤り<BR/>
                    開始ダイアグノーズデータ番号(s_number)の指定が不適切です
                </content>
            </item>
            <item>
                <name>EW_NOOPT</name>
                <content>
                    オプションなし<BR/>
                    拡張ドライバ/ライブラリ機能が必要です。
                </content>
            </item>
        </errcode>



        <!-- CNCオプション -->
        <option>
            <hssb>拡張ドライバ/ライブラリ機能が必要です</hssb>
            <ethr>
                <p>イーサネット機能と拡張ドライバ/ライブラリ機能が必要です。</p>
                <p>但し、FS160i/180i/210i/0i MODEL B, 300i に関しては次のようになります。</p>
                <p class="dd">上記２つの機能は必要ありません。</p>
                <p>イーサネットボードを使用のとき、</p>
                <p class="dd">イーサネット機能のみ必要です。</p>
            </ethr>
        </option>



        <!-- CNCパラメータ -->
        <parameter></parameter>



        <!-- CNCモード -->
        <mode></mode>



        <!-- 対応機種 -->
        <support>
            <!-- M（ミリング） -->
            <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（旋盤） -->
            <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（ローダ制御） -->
            <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（パンチプレス） -->
            <p>
                <fs16i>O</fs16i>
                <fs18i>O</fs18i>
            </p>
            <!-- L（レーザ） -->
            <l>
                <fs16i>O</fs16i>
                <fs18i>X</fs18i>
            </l>
            <!-- W（ワイヤカット） -->
            <w>
                <fs16i>O</fs16i>
                <fs18i>O</fs18i>
            </w>
            <!-- PM（パワーメート） -->
            <pw>
                <d>O</d>
                <h>O</h>
            </pw>
            <!-- 300is -->
            <is>
                <!-- M（ミリング） -->
                <m>
                    <fs30is>O</fs30is>
                </m>
                <!-- T（旋盤） -->
                <t>
                    <fs30is>O</fs30is>
                </t>
            </is>
        </support>



        <!-- 参照 -->
        <reference>
            <item>
                <name>cnc_diagnoss</name>
                <file>Misc/cnc_diagnoss.htm</file>
            </item>
            <item>
                <name>cnc_diagnosr</name>
                <file>Misc/cnc_diagnosr.htm</file>
            </item>
            <item>
                <name>cnc_rddiag_ext</name>
                <file>Misc/cnc_rddiag_ext.htm</file>
            </item>
            <item>
                <name>cnc_rddiagnum</name>
                <file>Misc/cnc_rddiagnum.htm</file>
            </item>
        </reference>



    </func>
</root>
