• このライブラリについて
  • サンプルコード
  • リファレンス
  • ドライバAPI
目次の表示/非表示
  • 例外処理
  • アナログ入力サンプル
  • アナログ出力サンプル
  • デジタル入力サンプル
  • デジタル出力サンプル
  • モーター制御サンプル
  • リレー出力サンプル

モーター制御(PMC-S) サンプルコード

// 使用する名前空間の宣言
using Y2.UsbIO.Pmcs;
using Y2.UsbIO.UsbPc104.Pmc;
// デバイスのインスタンスを生成(PMC-S4/16/32A-Uを使用する場合)
var device = new PmcS41632aU();

// デバイスに接続
device.Connect();                           // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA);   // 識別スイッチ位置をAで使用する場合

// オンで検知するセンサを接続している場合や、リミットスイッチを接続していない場合はモーターが動作しません。
// その場合は以下のようにセンサ設定を"オンで検知"に変更してください
device.Pmc.SetSensorLogic(Axes.XYZU0, SensorLogic.OrgSdElIsPositive);

// 動作設定(連続動作の設定例)
//   軸 = X0軸
//   加減速モード = 直線加減速
//   起動時速度 = 200PPS
//   移動速度 = 2000PPS
//   加減速時間 = 300msec
//   移動方向 = 正方向
var parameter = new ContinuousSetting(Axis.X0, AccelerationMode.Linear, 200, 2000, 300, Direction.CW);
device.Pmc.SetOperationSettings(parameter);

// モーター動作を開始(加減速ありで連続動作させる例)
device.Pmc.Start(Axis.X0, OperationMode.Continuous, SpeedPattern.AccelerationDeceleration);

// モーター動作を停止(即停止させる例)
device.Pmc.Stop(Axis.X0, StopMode.Immediately);

// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();

複数軸を動作させる場合

// デバイスのインスタンスを生成(PMC-S4/16/32A-Uを識別スイッチ設定0で使用する場合)
var device = new PmcS41632aU();

// デバイスに接続
device.Connect();                           // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA);   // 識別スイッチ位置をAで使用する場合

// オンで検知するセンサを接続している場合や、リミットスイッチを接続していない場合はモーターが動作しません。
// その場合は以下のようにセンサ設定を"オンで検知"に変更してください
device.Pmc.SetSensorLogic(Axes.XYZU0, SensorLogic.OrgSdElIsPositive);

// 動作設定(原点復帰動作の設定例)
var parameters = new OriginReturnSetting[]
{
    new OriginReturnSetting(Axis.X0, AccelerationMode.Linear, 200, 2000, 300, Direction.CW),
    new OriginReturnSetting(Axis.Y0, AccelerationMode.SCurve, 100, 1000, 200, Direction.CCW),
    new OriginReturnSetting(Axis.U0, AccelerationMode.Linear, 50, 500, 100, Direction.CW)
};
device.Pmc.SetOperationSettings(parameters);

var axes = Axes.XY0.Union(Axis.U0);
// モーター動作を開始(加減速ありで原点復帰動作させる例)
device.Pmc.Start(axes, OperationMode.OriginReturn, SpeedPattern.AccelerationDeceleration);

// モーター動作を停止(即停止させる例)
device.Pmc.Stop(axes, StopMode.Immediately);

// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();
このページの内容
トップに戻る Copyright © Y2 Corporation