IStageインターフェース
名前空間: OptoCombToolkit.Libs.Embedded.Stages.Core.Apis
アセンブリ: OptoCombToolkit.Libs.Embedded.Stages.Core.dll
ステージの基本制御機能を提供するインターフェースです。
プロパティ
StageConfig
ステージの構成情報。
戻り値
IStageConfigインターフェースタイプのステージ構成情報のオブジェクトインスタンスをリターンします。
Positions
ステージの全軸の現在位置。
戻り値
全軸の現在位置を格納する配列をリターンします。
AxesReady
ステージの全軸移動中かどうか。
戻り値
ステージの全軸移動中かどうか状態を格納する配列をリターンします。
true
の場合は、該当軸が静止で移動指令受付可能状態です。
false
の場合は、該当軸が移動中です。
AxesOriginReady
ステージの全軸が原点復帰済みかどうか。
戻り値
ステージの全軸が原点復帰済みかどうかを格納する配列をリターンします。。
true
の場合は、該当軸が原点復帰済み状態です。
false
の場合は、該当軸が原点復帰未実施状態です。
AxesEmergencyStatus
ステージの全軸が非常停止かどうか。
戻り値
ステージの全軸が非常停止かどうかを格納する配列をリターンします。
true
の場合は、該当軸が非常停止中です。
false
の場合は、該当軸が非常停止されていないこと。
備考
神津ステージの装置の仕様で、非常停止された場合は全軸が全部非常停止状態になります。 よって、以下のコードで神津ステージが非常停止かどうかが感知可能です。
AxesControllerError
ステージの全軸がコントローラーエラーかどうか。
戻り値
ステージの全軸がコントローラーエラーかどうかを格納する配列をリターンします。
備考
神津ステージの場合、コントローラーと軸が一対多のことがあるため、 軸ごとにコントローラーエラーかどうかを判断する必要があります。
AxesSoftLimitStatus
ステージの全軸がソフトリミットエラーかどうか。
戻り値
ステージの全軸がソフトリミットエラーかどうかを格納する配列をリターンします。
WithinLimit
の場合は、該当軸がフトリミットエラーになっていないこと。
OverPlusLimit
の場合は、該当軸が+方向にソフトリミットエラーが発生していること。
OverMinusLimit
の場合は、該当軸が-方向にソフトリミットエラーが発生していること。
メソッド
JogMove(int,double)
指定軸にジョグ運転。
パラメータ
axisNo
:軸のインデックス番号です。
speed
:ジョグ移動速度。リニア軸の場合、単位はmm/secです。回転軸の場合、単位はdeg/secです。
サンプルコード
// ステージのインスタンスを取得します
IStage stage = KohzuStageConfig.DefaultConfig.GetStage();
// 軸構成配列のインデックス0番の軸で10mm(deg)/sec速度でジョグ運転します
stage.JogMove(0, 10.0);
// 同期でジョグ移動を停止します
stage.Stop(0);
// 非同期でジョグ移動を停止します
EStopStatus result = await stage.WaitUntilStopAsync(0);
// 非同期で移動停止した場合、戻り値で異常判断をします
if(result == EStopStatus.ErrorStop)
{
// 異常で移動停止された場合の処理をここに実装します
}
MoveAbs(int,double,double)
同期で軸を一定の速度で指定された位置に移動します。
パラメータ
axisNo
:軸のインデックス番号です。
targetPosition
: 軸の移動先の目標位置です。リニア軸の場合、単位はmmです。回転軸の場合、単位はdegです。
speed
:移動速度。リニア軸の場合、単位はmm/secです。回転軸の場合、単位はdeg/secです。
Warning
同期方式のため、この関数実行完了後軸が既に静止状態とは限りません。
サンプルコード
// このAPIの使用場面は、多軸を同時に移動させ、その後多軸の移動完了まで待つことを想定しています。
// ステージのインスタンスを取得します
IStage stage = KohzuStageConfig.DefaultConfig.GetStage();
// インデックス番号0, 1, 2の三軸を同時に移動します
stage.MoveAbs(0, 10.0, 10.0);
stage.MoveAbs(1, 10.0, 5.0);
stage.MoveAbs(2, 10.0, 1.0);
// 非同期で三軸の移動完了まで待ちます
IEnumerable<EStopStatus> results = await stage.WaitUntilStopAsync();
// 非同期で移動停止した場合、戻り値で異常判断をします
if(results.Any(x => x == EStopStatus.ErrorStop))
{
// 一軸でも異常が起きた場合のエラーハンドリングをここで実装します
}
Danger
多軸を同時に移動する前に、各軸が衝突しないことを確認してください。
MoveRel(int,double,double)
同期で単軸を一定の速度で現在の位置から指定されたオフセット値で移動します。
パラメータ
axisNo
:軸のインデックス番号です。
distance
: オフセット値。リニア軸の場合、単位はmmです。回転軸の場合、単位はdegです。オフセット値には符号付き可能です、
軸の移動方向に一致します。
speed
:移動速度。リニア軸の場合、単位はmm/secです。回転軸の場合、単位はdeg/secです。
Warning
同期方式のため、この関数実行完了後軸が既に静止状態とは限りません。
サンプルコード
MoveAbs(int,double,double)に参照してください。
OriginMove(int)
同期で単軸に対し原点復帰を行います。
パラメータ
axisNo
:軸のインデックス番号です。
Warning
同期方式のため、この関数実行完了後軸が既に静止状態とは限りません。
サンプルコード
MoveAbs(int,double,double)に参照してください。
OriginMove()
同期で全軸に対し原点復帰を行います。
Warning
同期方式のため、この関数実行完了後軸が既に静止状態とは限りません。
サンプルコード
MoveAbs(int,double,double)に参照してください。
Stop(int)
同期で単軸に対し明示的に移動停止指令をします。
パラメータ
axisNo
:軸のインデックス番号です。
Warning
同期方式のため、この関数実行完了後軸が既に静止状態とは限りません。
StopAll()
同期で全軸に対し明示的に移動停止指令をします。
Warning
同期方式のため、この関数実行完了後軸が既に静止状態とは限りません。
ReleaseEmergency()
非常停止が起きた場合、非常停止を解除する。
Warning
非常停止解除が失敗した場合(例えば物理非常停止スイッチが解除されていないことまたは ステージの非常停止原因が解消されていないこと)、非常停止解除すると例外が吐き出されることがあります。
UpdateAxisStatus()
ステージの情報更新します。
Note
このAPIはステージの情報を更新するのみ機能します。更新後、必要な情報取得するのに明示的に各プロパティをアクセスする必要があります。
GetExpectAccelerationTime(int,double)
該当軸が静止状態から指定の速度までの加速時間を計算します。
パラメータ
axisNo
:軸のインデックス番号です。
speed
:移動速度。リニア軸の場合、単位はmm/secです。回転軸の場合、単位はdeg/secです。
CreateCustomAxisPropertyItem(int)
軸ごとの内部パラメータを取得します。
Danger
このAPIは開発調整向けで、基本は使用することはありません。
MoveAbsAsync(int,double,double)
非同期で軸を一定の速度で指定された位置に移動します。
パラメータ
axisNo
:軸のインデックス番号です。
targetPosition
: 軸の移動先の目標位置です。リニア軸の場合、単位はmmです。回転軸の場合、単位はdegです。
speed
:移動速度。リニア軸の場合、単位はmm/secです。回転軸の場合、単位はdeg/secです。
戻り値
非同期実行タスクをリターンします。非同期実行結果はEStopStatus
のデータが内包されています。
NormalStop
: 正しく移動完了したことを表します。
ErrorStop
: 移動中に軸にエラーが発生し、途中停止されたことを表します。
Note
EStopStatus
データタイプはOpotoCombToolkit.Libs.Embedded.Core.nupkg
のパッケージにあるため,依頼関係パッケージとしてプロジェクトに
インストールされていることをご確認ください。
サンプルコード
// 同期で軸の移動して、その軸の移動完了まで待ちます
stage.MoveAbs(0, 10.0, 10.0);
EStopStatus result = await stage.WaitUntilStopAsync(0);
// 上記の二行コードを非同期でまとめることができます
EStopStatus result = await stage.MoveAbsAsync(0,10.0, 10.0);
MoveRelAsync(int,double,double)
非同期で単軸を一定の速度で現在の位置から指定されたオフセット値で移動します。
パラメータ
axisNo
:軸のインデックス番号です。
distance
: オフセット値。リニア軸の場合、単位はmmです。回転軸の場合、単位はdegです。オフセット値には符号付き可能です、 軸の移動方向に一致します。
speed
:移動速度。リニア軸の場合、単位はmm/secです。回転軸の場合、単位はdeg/secです。
戻り値
非同期実行タスクをリターンします。非同期実行結果はEStopStatus
のデータが内包されています。
NormalStop
: 正しく移動完了したことを表します。
ErrorStop
: 移動中に軸にエラーが発生し、途中停止されたことを表します。
Note
EStopStatus
データタイプはOpotoCombToolkit.Libs.Embedded.Core.nupkg
のパッケージにあるため,依頼関係パッケージとしてプロジェクトに
インストールされていることをご確認ください。
サンプルコード
MoveAbsAsync(int,double,double)に参照してください。
OriginMoveAsync(int)
非同期で単軸に対し原点復帰を行います。
パラメータ
axisNo
:軸のインデックス番号です。
戻り値
非同期実行タスクをリターンします。非同期実行結果はEStopStatus
のデータが内包されています。
NormalStop
: 正しく移動完了したことを表します。
ErrorStop
: 移動中に軸にエラーが発生し、途中停止されたことを表します。
Note
EStopStatus
データタイプはOpotoCombToolkit.Libs.Embedded.Core.nupkg
のパッケージにあるため,依頼関係パッケージとしてプロジェクトに
インストールされていることをご確認ください。サンプルコード
MoveAbsAsync(int,double,double)に参照してください。
OriginMoveAsync()
非同期で全軸に対し原点復帰を行います。
戻り値
非同期実行タスクをリターンします。非同期実行結果はEStopStatus
のデータが内包されています。
NormalStop
: 正しく移動完了したことを表します。
ErrorStop
: 移動中に軸にエラーが発生し、途中停止されたことを表します。
Note
EStopStatus
データタイプはOpotoCombToolkit.Libs.Embedded.Core.nupkg
のパッケージにあるため,依頼関係パッケージとしてプロジェクトに
インストールされていることをご確認ください。サンプルコード
サンプルコード
MoveAbsAsync(int,double,double)に参照してください。
WaitUntilStopAsync(int)
非同期で軸の移動完了まで待ちます。
パラメータ
axisNo
:軸のインデックス番号です。
戻り値
非同期実行タスクをリターンします。非同期実行結果はEStopStatus
のデータが内包されています。
NormalStop
: 正しく移動完了したことを表します。
ErrorStop
: 移動中に軸にエラーが発生し、途中停止されたことを表します。
Note
EStopStatus
データタイプはOpotoCombToolkit.Libs.Embedded.Core.nupkg
のパッケージにあるため,依頼関係パッケージとしてプロジェクトに
インストールされていることをご確認ください。サンプルコード
サンプルコード
// 同期で単軸の原点復帰を行います
stage.OriginMove(0);
// 非同期で原点復帰完了まで待ちます
EStopStatus results = await stage.WaitUntilStopAsync(0);
WaitUntilStopAsync()
非同期で全軸の移動完了まで待ちます。
戻り値
非同期実行タスクをリターンします。非同期実行結果は各軸のEStopStatus
データを格納する配列が内包されています。
サンプルコード
WaitUntilStopAsync(int)に参照してください。