跳转至

Linear(C#)

签名: 全局形式(controller.Commands[TaskId.T01].Motion):

public void Linear(string[] axisNames, double[] Distance)
public void Linear(string axisName, double Distance)
public void Linear(int[] axisIndexes, double[] Distance)
public void Linear(int axisIndex, double Distance)
public void Linear(AxisMask axisMask, double[] Distance)
public void Linear(AxisMask axisMask, double Distance)
// 以下 6 个重载在末尾多一个 double CoordinatedSpeed
public void Linear(string[] axisNames, double[] Distance, double CoordinatedSpeed)
public void Linear(string axisName, double Distance, double CoordinatedSpeed)
public void Linear(int[] axisIndexes, double[] Distance, double CoordinatedSpeed)
public void Linear(int axisIndex, double Distance, double CoordinatedSpeed)
public void Linear(AxisMask axisMask, double[] Distance, double CoordinatedSpeed)
public void Linear(AxisMask axisMask, double Distance, double CoordinatedSpeed)

轴组形式(controller.Commands.Axes["X","Y"].Motion,轴已预选):

public void Linear(double[] Distance)
public void Linear(double[] Distance, double CoordinatedSpeed)

多轴协调直线运动,轨迹进入前瞻规划,连续平滑。

所属:Controller.Commands · 协调运动

参数

参数 说明
axisNames / axisIndexes / axisMask 参与插补的轴(全局形式)
Distance 各轴终点/距离,长度必须与轴数一致,否则抛出 ArgumentOutOfRangeException;解释方式跟随 ABS/INC 模态
CoordinatedSpeed 可选。合成进给速度;省略时可用 Execute("F <速度>") 预设

生成的指令

LINEAR <轴1> <终点1> [<轴2> <终点2> …] [F <协调速度>]

说明

  • 两轴及以上协调运动用 Linear;互不干扰的并行运动请拆分到不同任务。
  • 端点解释跟随 Scurve 所在任务的 ABS/INC 模态(默认增量)。
  • 异步受理、同任务串行(MotionError (53))语义同 MoveAbs

示例

var cmds = controller.Commands[TaskId.T01];
cmds.Motion.Linear(new[] { "X", "Y" }, new[] { 100.0, 50.0 }, 200);   // 直线到 (100, 50),合成速度 200
cmds.Motion.Linear("X", 100, 200);                                    // 单轴形式

// 轴组形式
var xy = controller.Commands.Axes["X", "Y"].Motion;
xy.Linear(new[] { 100.0, 50.0 }, 200);

相关页面