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

C#

開発環境の設定

プロジェクトにドライバへの参照を追加します。

  • Nugetからインストールする場合
  • ソフトウェアパックから追加する場合
    • 以下のファイルをプロジェクトフォルダにコピーします。
      • Ydu.cs
      • YduPmcS.cs
    • Ydu.cs, YduPmcS.csをプロジェクトに追加します。

ソースファイルにusing ディレクティブを使ってYduCsを宣言します。

using YduCs;

プログラム例

using YduCs;

static void Main()
{
    // IDが0に設定されているPMC-S4/00/00A-Uをオープンします
    const ushort UnitId = 0;
    var result = Ydu.Open(UnitId, "PMC-S4/00/00A-U");
    if (result != Ydu.YDU_RESULT_SUCCESS)
    {
        Console.WriteLine("オープンできません");
        return;
    }

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

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

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

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

    // ユニットをクローズします
    Ydu.Close(UnitId);
}