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

C++/CLI

開発環境の設定

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

    YduApiCLI.h
    YduPmcSApiCLI.h

  2. YduApiCLI.h, YduPmcSApiCLI.hをプロジェクトに追加します。

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

  4. usingディレクティブを使ってYduCLIを宣言します。

using namespace YduCLI;

プログラム例

#include "stdafx.h"
#include "YduApiCLI.h"
#include "YduPmcSApiCLI.h"

using namespace System;
using namespace YduCLI;

int main(array<System::String ^> ^args)
{
    // IDが0に設定されているPMC-S4/00/00A-Uをオープンします
    const unsigned short UnitId = 0;
    int result = YduOpen(UnitId, "PMC-S4/00/00A-U");
    if (result != YDU_RESULT_SUCCESS) {
        Console::WriteLine("オープンできません");
        return -1;
    }

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

    // X0軸の動作パラメータを設定します
    MOTIONPMCS motion[4];
    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(UnitId, PMC_AXIS_X0, PMC_JOG, motion);

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

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

    // ユニットをクローズします
    YduClose(UnitId);

    return 0;
}