XScript マニュアル · Chapter 11
title: "Cylinder — シリンダ制御" chapter: 11 images:
- xscript-cylinder-example.png
Cylinder — シリンダ制御
Cylinder[name] でアクセス。ソレノイド出力とセンサ入力がまとまったシリンダ機器を制御します。
各動作メソッドはタイムアウト内でセンサにより完了を確認します。
캡처 대기
public/manual/gui/xscript-cylinder-example.png例
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 で設定)
| フィールド | 用途 |
|---|---|
Name・Description・GroupName | 識別 |
TimeOutA・TimeOutB | 方向別タイムアウト(ms) |
DelayA・DelayB | 完了後ディレイ(ms) |
SolIndexA1..A4・SolIndexB1..B4 | 方向別ソレノイド出力インデックス |
SensorIndexA1..A4・SensorIndexB1..B4 | 方向別センサ入力インデックス |
ActionA・ActionB | 方向別アクション名 |
ヒント
- ほとんどの Step では
wait = trueを推奨 — タイムアウト処理が自動化される - 並行動作時は
wait = falseで指令を飛ばし、後でまとめてWait - Cylinder 名は Cylinder Editor の定義と大文字小文字まで完全一致