コンテンツにスキップ
サンプルプログラム > モーター制御 >

C/C++

開発環境の設定

Visual C++ .NET2002以降

  1. 以下のファイルをプロジェクトフォルダにコピーします。

    YduApi.h
    YduPmcSApi.h
    YduResult.h
    Ydu.lib

  2. YduApi.h, YduPmcSApi.h, YduResult.hをプロジェクトに追加します。

  3. Ydu.libを以下の手順でプロジェクトに追加します
    メニューの[プロジェクト]-[プロパティ]を選択し、プロパティページのダイアログを開きます。
    ダイアログの左ペインで[構成プロパティ]-[リンカ]-[入力]を選択します。
    右ペインの[追加の依存ファイル]にYdu.libと入力します。

  4. ソースファイルにYduApi.h, YduPmcSApi.h, YduResult.hをインクルードします
    (下記プログラム例を参照して下さい)

Visual C++ 6.0

  1. 以下のファイルをプロジェクトフォルダにコピーします。

    YduApi.h
    YduPmcSApi.h
    YduResult.h
    Ydu.lib

  2. YduApi.h, YduPmcSApi.h, YduResult.h, Ydu.libをプロジェクトに追加します

  3. ソースファイルにYduApi.h, YduPmcSApi.h, YduResult.hをインクルードします
    (下記プログラム例を参照して下さい)

プログラム例

#include <windows.h>
#include <stdio.h>
#include "YduApi.h"
#include "YduPmcSApi.h"
#include "YduResult.h"

void main()
{
    int result;
    WORD axis;
    MOTIONPMCS motion[4];
    BOOL resultClose;

    // IDが0に設定されているPMC-S4/00/00A-Uをオープンします
    result = YduOpen(0, "PMC-S4/00/00A-U");
    if(result != YDU_RESULT_SUCCESS) {
        printf("オープンできません\n");
        return;
    }

    // オンで検知するセンサを接続している場合や、リミットスイッチを接続していない場合はモーターが動作しません
    // その場合は以下の関数を実行してセンサ設定を"オンで検知"に変更してください
    axis = PMC_AXIS_X0 + PMC_AXIS_Y0 + PMC_AXIS_Z0 + PMC_AXIS_U0;
    result = YduPmcsSetSensorConfig(0, axis, PMC_LOGIC, 0x1F);

    // X0軸の動作パラメータを設定します
    motion[0].wAccMode = PMC_ACC_NORMAL;
    motion[0].dwLowSpeed = 200;
    motion[0].dwSpeed = 2000;
    motion[0].wAccTime = 300;
    motion[0].lStep = PMC_DIR_CW;
    result = YduPmcsSetMotion(0, PMC_AXIS_X0, PMC_JOG, motion);

    // モーター動作を開始します
    result = YduPmcsStartMotion(0, PMC_AXIS_X0, PMC_ACC, PMC_JOG);

    // モーター動作を停止します
    result = YduPmcsStopMotion(0, PMC_AXIS_X0, PMC_IMMEDIATE_STOP);

    // ユニットをクローズします
    resultClose = YduClose(0);
}