C++/CLI¶
開発環境の設定¶
-
以下のファイルをプロジェクトフォルダにコピーします。
YduApiCLI.h
YduPmcSApiCLI.h -
YduApiCLI.h, YduPmcSApiCLI.hをプロジェクトに追加します。
-
ソースファイルにYduApiCLI.h, YduPmcSApiCLI.hをインクルードします。
(下記プログラム例を参照してください) -
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;
}