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:超时或传感器错误,上层必须当作错误处理

读传感器

方法用途
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各方向动作名称

要点

  • 多数步骤推荐 wait = true — 超时处理自动完成
  • 并行动作时用 wait = false 发出指令,之后用 Wait 统一等待
  • Cylinder 名称必须与 Cylinder Editor 中完全一致(大小写敏感)