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


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



        <!-- 関数宣言 -->
        <declare>
            <!-- Visual C++の宣言 -->
            <vc>
                <include>#include "fwlib32.h"</include>
                <prottype>FWLIBAPI short WINAPI pmc_wrcntldata(unsigned short FlibHndl, short length, IODBPMCCNTL *pmccntl);</prottype>
            </vc>
        </declare>



        <!-- 解説 -->
        <doc>
            <cmn>
                <p>PMCのデータテーブル(アドレスD)を管理するためのデータテーブル制御データを書き込みます。</p>
                <p class="xis">本機能は、PMC-NAにはありません。</p>
                <p>入力データの詳細は、PMCのプログラミング説明書(ラダー言語)を参照して下さい。</p>
            </cmn>
        </doc>



        <!-- 引数 -->
        <argument>
            <common>
                <vc>
                    <item>
                        <name>FlibHndl</name>
                        <type>in</type>
                        <content>
                            <p>ライブラリハンドルです。詳細は、「<a href="handle.htm" target="_parent">ライブラリハンドル</a>」を参照して下さい。</p>
                        </content>
                    </item>
                    <item>
                        <name>length</name>
                        <type>in</type>
                        <content>
                            データブロック長(IODBPMCCNTL構造体のサイズ)を指定します。
                            <p><b>IODBPMCCNTL</b></p>
                            <img src="Pmc/datatbl.gif"/><br/>
                            Nは書き込むグループの個数です。 
                        </content>
                    </item>
                    <item>
                        <name>pmccntl</name>
                        <type>in</type>
                        <content>
                            データテーブル制御データを設定するIODBPMCCNTL構造体へのポインタです。IODBPMCCNTL構造体は次の通りです。
<pre>
typedef struct iodbpmccntl {
    short   datano_s ;          /* 書き込み開始グループ番号 */
    short   dummy ;             /* 未使用 */
    short   datano_e ;          /* 書き込み終了グループ番号 */
    struct {
        char    tbl_prm ;       /* テーブルパラメータ */
        char    data_type ;     /* データタイプ */
        unsigned short  data_size ; /* グループ内データのサイズ */
        unsigned short  data_dsp ;  /* グループ内データの先頭アドレス */
        short   dummy ;                   /* 未使用 */
    } info[N] ;                 /* N : 書き込むグループ数 */
} IODBPMCCNTL ;
</pre>
                            <dl>
                                <dt>datano_s</dt>
                                    <dd>書き込み開始グループ番号を指定します。</dd>
                                <dt>datano_e</dt>
                                    <dd>書き込み終了グループ番号を指定します。</dd>
                                <dt>tbl_prm</dt>
                                    <dd>テーブルパラメータを指定します。
                                    <table class="dd">
                                        <colgroup valign="top">
                                        <colgroup valign="top">
                                        <colgroup valign="top">
                                        <tr>
                                            <td>bit 0</td>
                                            <td>:</td>
                                            <td>データテーブルのデータ形式
                                                <table>
                                                    <tr>
                                                        <td>0</td>
                                                        <td>:</td>
                                                        <td>バイナリ</td>
                                                    </tr>
                                                    <tr>
                                                        <td>1</td>
                                                        <td>:</td>
                                                        <td>BCD</td>
                                                    </tr>
                                                </table>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>bit 1</td>
                                            <td>:</td>
                                            <td>データテーブル内容のプロテクト
                                                <table>
                                                    <tr>
                                                        <td>0</td>
                                                        <td>:</td>
                                                        <td>しない</td>
                                                    </tr>
                                                    <tr>
                                                        <td>1</td>
                                                        <td>:</td>
                                                        <td>する</td>
                                                    </tr>
                                                </table>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>bit 2</td>
                                            <td>:</td>
                                            <td>データテーブルのデータ形式
                                                <table>
                                                    <tr>
                                                        <td>0</td>
                                                        <td>:</td>
                                                        <td>バイナリ、またはBCD</td>
                                                    </tr>
                                                    <tr>
                                                        <td>1</td>
                                                        <td>:</td>
                                                        <td>HEX</td>
                                                    </tr>
                                                </table>
                                            </td>
                                        </tr>
                                        <tr>
                                            <td>bit 3〜7</td>
                                            <td>:</td>
                                            <td>(未使用)</td>
                                        </tr>
                                        </colgroup>
                                        </colgroup>
                                        </colgroup>
                                    </table>
                                    </dd>
                                <dt>data_type</dt>
                                    <dd>データタイプ(0:BYTE、1:WORD、2:LONG)</dd>
                                <dt>data_size</dt>
                                    <dd>グループ内データのサイズ(バイト数)</dd>
                                <dt>data_dsp</dt>
                                    <dd>グループ内データの先頭アドレス(アドレスD内)</dd>
                            </dl>
                        </content>
                    </item>
                </vc>
            </common>
        </argument>



        <!-- 戻り値 -->
        <errcode>
            <item>
                <name>EW_LENGTH</name>
                <content>
                    データブロック長の誤り<br/>
                    IODBPMCCNTL構造体のサイズ(length)が不正です。
                </content>
            </item>
            <item>
                <name>EW_NUMBER</name>
                <content>
                    データ番号の誤り<br/>
                    グループ番号(datano_s,datano_e)が不正です。
                </content>
            </item>
            <item>
                <name>EW_DATA</name>
                <content>
                    データの誤り<br/>
                    この戻り値に対して、より詳細な情報を得るには<a href="Pmc/pmc_getdtailerr.htm" target="_parent">pmc_getdtailerr</a> 関数を実行して下さい。<br/>
                    ODBPMCERR構造体のメンバerr_noに下記詳細ステータスがセットされます。
                    <table>
                        <tr><td>0</td><td>:</td><td>EW_DATA 以外のエラー</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>グループ内データのサイズの誤り</td></tr>
                        <tr><td>4</td><td>:</td><td>グループ内データの先頭アドレスの誤り</td></tr>
                    </table>
                    また、ODPMCBERR構造体のメンバerr_dtnoに不正データが含まれるグループ番号がセットされます。
                </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>組込みイーサネットを使用のとき、</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>
                    <fs30is>O</fs30is>
                </m>
                <t>
                    <fs30is>O</fs30is>
                </t>
            </is>
        </support>



        <!-- 参照 -->
        <reference>
            <item>
                <name>pmc_rdcntldata</name>
                <file>Pmc/pmc_rdcntldata.htm</file>
            </item>
            <item>
                <name>pmc_rdcntlgrp</name>
                <file>Pmc/pmc_rdcntlgrp.htm</file>
            </item>
            <item>
                <name>pmc_wrcntlgrp</name>
                <file>Pmc/pmc_wrcntlgrp.htm</file>
            </item>
        </reference>



    </func>
</root>
