XScript マニュアル · Chapter 11

title: "Cylinder — シリンダ制御" chapter: 11 images:

  • xscript-cylinder-example.png

Cylinder — シリンダ制御

Cylinder[name] でアクセス。ソレノイド出力とセンサ入力がまとまったシリンダ機器を制御します。 各動作メソッドはタイムアウト内でセンサにより完了を確認します。

Cylinder 制御例

if (Cylinder[LOADER].Forward(true) == false) {
    ShowError("E_CYL_LOADER_FWD");
    return false;
}
if (Cylinder[CLAMP].Clamp(true) == false) {
    ShowError("E_CLAMP_FAIL");
    return false;
}

動作メソッド(全て bool wait 引数を取る)

メソッド対向動作用途
Open / Close双方向ドア・ゲート
Up / Down双方向昇降シリンダ
Left / Right双方向左右移動
Forward / Backward双方向前進/後退
Lock / Unlock双方向固定/解除
Suck / Eject双方向真空吸着/排出
Clamp / UnClamp双方向クランプ
Push / Pull双方向プッシュ/プル
Turn / Return双方向回転動作
Pass通過
Stop即時停止
Toggle現在状態を反転
Off全出力 OFF
  • true 戻り値 — タイムアウト内にセンサ確認完了
  • false 戻り値 — タイムアウトまたはセンサエラー。上位 Step でエラー処理必須

センサ読み取り

メソッド用途
bool ReadSensorA(void)A 側センサ
bool ReadSensorB(void)B 側センサ

主なプロパティ(Cylinder Editor で設定)

フィールド用途
NameDescriptionGroupName識別
TimeOutATimeOutB方向別タイムアウト(ms)
DelayADelayB完了後ディレイ(ms)
SolIndexA1..A4SolIndexB1..B4方向別ソレノイド出力インデックス
SensorIndexA1..A4SensorIndexB1..B4方向別センサ入力インデックス
ActionAActionB方向別アクション名

ヒント

  • ほとんどの Step では wait = true を推奨 — タイムアウト処理が自動化される
  • 並行動作時は wait = false で指令を飛ばし、後でまとめて Wait
  • Cylinder 名は Cylinder Editor の定義と大文字小文字まで完全一致