ACS的ExtendedSegmentArc1 方法说明
ExtendedSegmentArc1 方法说明
描述
该方法用于向分段运动中添加一个圆弧段,并指定圆心坐标、终点坐标和旋转方向。
语法
同步调用
object.ExtendedSegmentArc1(MotionFlags flags,Axis[] axes,double[] center,double[] finalPoint,RotationDirection rotation,double velocity,double endVelocity,double time,string values,string variables,int index,string masks
)
异步调用
ACSC_WAITBLOCK object.ExtendedSegmentArc1Async(MotionFlags flags,Axis[] axes,double[] center,double[] finalPoint,RotationDirection rotation,double velocity,double endVelocity,double time,string values,string variables,int index,string masks
)
参数说明
flags
位掩码参数,可包含以下标志:
标志 | 说明 |
---|---|
ACSC_AMF_VELOCITY | 使用当前段指定的速度(而非默认速度)。 |
ACSC_AMF_ENDVELOCITY | 指定段末速度(需小于当前速度,否则忽略)。 此标志仅影响当前段,并禁用段末拐角检测。 |
ACSC_AMF_USERVARIABLES | 将用户变量与段执行同步(需配合 values 、variables 和 masks 参数使用)。 |
axes
轴常量数组,每个元素对应一个参与运动的轴(如 ACSC_AXIS_0
表示轴 0)。数组末尾需以 -1
标记结束。
center
圆心坐标数组,顺序和数量需与 axes
数组一致(不包括末尾的 -1
)。
finalPoint
终点坐标数组,顺序和数量需与 axes
数组一致(不包括末尾的 -1
)。
rotation
旋转方向:
-
ACSC_COUNTERCLOCKWISE:逆时针方向。
-
ACSC_CLOCKWISE:顺时针方向。
velocity
当前段的运动速度(若 ACSC_AMF_VELOCITY
启用)。未使用时设为 Api.ACSC_NONE
。
endVelocity
段末速度(若 ACSC_AMF_ENDVELOCITY
启用)。未使用时设为 Api.ACSC_NONE
。
time
当前段的处理时间(毫秒,仅当 ACSC_AMF_VARTIME
启用时有效)。未使用时设为 ACSC_NONE
。
values
用户定义的整型或实型数组名(最多 10 个元素)。若 ACSC_AMF_USERVARIABLES
启用,此数组的值将在段执行开始时写入变量。未使用时设为 NULL
。
variables
与 values
同类型和大小的用户定义数组名,用于接收 values
的数据。未使用时设为 NULL
。
index
写入 variables
数组的起始元素索引(从 0 开始)。未使用时设为 Api.ACSC_NONE
。
masks
整型掩码数组名(仅当 values
为整型数组时有效)。写入 variables
前,会先对 values
应用掩码:
Variables(n) = values(n) AND mask(n)
若 values
为实型数组,此参数应为 NULL
。
返回值
无。
注意事项
-
调用该方法前,必须通过
SegmentedMotion
或ExtendedSegmentedMotion
方法预先定义所有参与运动的轴。 -
方法会等待控制器响应,若运动缓冲区已满,需重复调用直至成功。
-
失败时,错误信息将填充到
Error
对象中。 -
异步调用需配合
ACSC_WAITBLOCK
使用。