终端指令
终端指令是控制器接受的字符串指令集,经 ExecuteCommand 通道下发。它是一套独立的指令词汇,包含于 C# SDK 的能力范围(C# 既提供强类型 API,也可以直接下发 Terminal 字符串)。点击指令名查看独立介绍页。
执行入口
| 入口 | 写法 |
|---|---|
| C# | controller.Commands[TaskId.T01].Execute("MOVEABS X 100 500") 或 controller.Commands.Execute(...) |
| C/C++ | DLLExecute(推荐,见 DLLExecute) |
语法约定
- 大小写不敏感;逗号视同空格(
MOVEABS X, 100, 500≡MOVEABS X 100 500)。 - 轴写法三选一:配置轴名(
X)、轴号(0)、字母映射(XYZUVWABC= 0~8)。 - 支持 G-code 紧写:
CW X0 Y40 I20 J0 F100等价CW X 0 Y 40 I 20 J 0 F 100。 - 关键字值按内部固定顺序(F、R、I、J、E)入队,书写顺序无关。
- HOME 支持
CONDITIONAL后缀(条件回零)。 - 参数读写用「参数名.轴名」语法,TASK 参数用
.T<n>后缀(见下文)。 - IO 读写用
$语法(见下文)。
运动指令
| 指令 | 语法示例 | 说明 | OneScript 对应 |
|---|---|---|---|
LINEAR |
LINEAR X0 Y50 F200 |
多轴协调直线,前瞻规划 | Linear |
RAPID |
RAPID X50 Y30 / RAPID XF100 |
快速点位,可按轴给速 | Rapid |
MOVEABS |
MOVEABS X 100 500 |
绝对点位(轴、位置、速度) | MoveAbs |
MOVEINC |
MOVEINC Y -5 100 |
增量点位 | MoveInc |
CW / CCW |
CW X0 Y40 I20 J0 F100 |
顺/逆时针圆弧(IJ 圆心法) | CW / CCW |
OSCILLATE |
OSCILLATE X 5 50 3 |
往复摆动 | Oscillate |
FREERUN |
FREERUN X 50 |
持续速度输出 | FreeRun |
FREERUN STOP |
FREERUN STOP X |
停止 FreeRun | FreeRunStop |
DWELL |
DWELL 1000 |
等待指定毫秒 | Dwell |
轴状态控制
| 指令 | 语法示例 | 说明 | OneScript 对应 |
|---|---|---|---|
ENABLE |
ENABLE X Y |
使能 | Enable |
DISABLE |
DISABLE X |
禁用 | Disable |
HOME |
HOME X Y / HOME X CONDITIONAL |
回零 / 条件回零 | Home / HomeConditional |
FAULTACK |
FAULTACK X |
清除轴故障 | FaultAck |
ABORT |
ABORT X |
中止运动(所有任务) | Abort |
模态设置
| 指令 | 语法示例 | 说明 | OneScript 对应 |
|---|---|---|---|
ABS / INC |
ABS / INC |
绝对 / 增量编程模式 | Abs / Inc |
F |
F 300 |
默认进给速度 | Feed |
XF |
XF 50 / XF 50 YF 100 |
单轴点位速度(RAPID 用) | Feed |
RAMP RATE |
RAMP RATE X 1000 |
加减速率 | RampRate |
RAMP TYPE |
RAMP TYPE SCURVE |
斜坡类型 | RampType |
SCURVE |
SCURVE 20 |
S 曲线平滑 | SCurve |
VELOCITY ON / VELOCITY OFF |
VELOCITY ON |
拐角平滑模式开关 | VelocityOn / VelocityOff |
抱闸
| 指令 | 语法示例 | 说明 | OneScript 对应 |
|---|---|---|---|
BRAKE |
BRAKE X 1 / BRAKE X 0 |
抱闸吸合/释放 | Brake |
PCO(位置比较输出)
PCO 在轴经过指定位置时由硬件直接输出脉冲,时间精度由 FPGA 保证。指令随任务运动流按序执行(配置先于其后的运动生效)。
| 指令 | 语法示例 | 说明 | OneScript 对应 |
|---|---|---|---|
PCO UNIT |
PCO UNIT 0 |
距离单位:0=EU,1=EU/1000,2=counts | PcoUnit |
PCO CONFIG |
PCO CONFIG X 10 |
标量触发间隔(可带方向) | PcoConfig |
PCO CONFIGV |
PCO CONFIGV X Y 5 |
矢量模式:按两轴轨迹长度触发 | PcoConfigV |
PCO PULSE |
PCO PULSE X 100 |
脉冲波形(脉宽/周期/次数) | PcoPulse |
PCO WINDOW |
PCO WINDOW X 200 800 |
窗口门控 | PcoWindow |
PCO WINDOW OFF |
PCO WINDOW OFF X |
关闭窗口 | PcoWindowOff |
PCO ARM |
PCO ARM X |
打开 PCO(锁存配置开始输出) | PcoArm |
PCO DISARM |
PCO DISARM X |
关闭 PCO | PcoDisarm |
触发计数读取无 Terminal 指令,经查询 API:C# PCO.Count(轴)、C/C++ DLLPcoGetFiredCount、OneScript PcoCount(均为即时 SDO 读)。
标定与诊断
| 指令 | 语法示例 | 说明 |
|---|---|---|
MSET |
MSET X 1.5 90 |
手动 Auto-MSET(轴、电流、电角度) |
MC |
MC X 1.5 |
换向搜索(轴、电流) |
LOOPTRANS |
LOOPTRANS X, 0, 1.0, 100 |
环路传动测量控制 |
SDOREAD / SDOWRITE |
SDOREAD X 0x2132 0x00 |
EtherCAT SDO 读/写 |
以上标定与诊断指令无 OneScript 对应,为 Terminal 通道独占能力。
参数读写
Terminal 通道可直接读写控制器参数(脚本内不可以):
CountsPerUnit.X -- 读 X 轴 CountsPerUnit
MaxSpeedClamp.X = 100 -- 写 X 轴 MaxSpeedClamp
JunctionDeviation.T3 -- 读任务 3 的 JunctionDeviation(.T<n> 任务后缀)
IO 读写
Terminal 通道可直接读写虚拟 IO(脚本内不可以):
$DI[0].X -- 读数字输入
$DO[1].X = 1 -- 写数字输出
$AI[0].X -- 读模拟输入
$AO[2].X = 3.5 -- 写模拟输出
$WI[0].X / $WO[0].X = 123 -- 字输入/输出