电机组#

要使 motor_group 命令出现在 VEXcode V5 中,必须在设备窗口中配置电机。

有关详细信息,请参阅以下文章:

初始化 motor_group 类#

使用以下构造函数创建 EXP motor_group 对象:

motor_group 构造函数创建一个 motor_group 对象。

您可以创建具有任意数量电机的 motor_group。

// Create 2 Motors, Motor1 and Motor2 in
// Ports 1 and 2 respectively. 
Motor1 = motor(PORT1);
Motor1 = motor(PORT2);
// Using the two previously created Motors, create a
// motor_group named MotorGroup1.
motor_group MotorGroup1 = motor_group(Motor1, Motor2);

当引用 MotorGroup 类方法时,此“MotorGroup1”对象将在本 API 文档的所有后续示例中使用。

MotorGroup.spin()#

MotorGroup.spin(direction, speed, units) 命令用于让电机组永远沿指定方向旋转,直到使用另一个运动命令或项目停止。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.spin(direction, speed, units)”。

这是一个非等待功能,允许下一个命令无延迟运行。

参数

描述

方向

有效的 directionType

速度

**可选。**电机组的旋转速度。如果未指定,则将使用 MotorGroup.setVelocity() 命令设置的默认速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm

**返回:**无。

// Spin motor group forward.
MotorGroup1.spin(forward);

电机组.spinToPosition()#

MotorGroup.spinToPosition(rotation, units, speed, units_v, wait) 命令用于使用提供的参数将电机组旋转到绝对位置。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.spinToPosition(rotation, units, speed, units_v, wait)”。

该函数可以是等待非等待命令,具体取决于是否使用了“wait”参数。

参数

描述

旋转

电机组旋转到的位置。

单位

**可选。**有效的 rotationUnit。默认值为“度”。

速度

**可选。**电机组的旋转速度。如果未指定,则将使用 MotorGroup.setVelocity() 命令设置的默认速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm

等待

可选。 确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**无。

// Spin motor group to 180 degrees.
MotorGroup1.spinToPosition(180);

MotorGroup.spinFor()#

MotorGroup.spinFor(direction, value, units, speed, units_v, wait) 命令用于使电机组旋转特定时长、圈数或直至达到特定的编码器值。该位置相对于电机组的当前位置。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.spinFor(direction, value, units, speed, units_v, wait)”。

这可以是等待非等待命令,取决于是否使用了“wait”参数。

参数

描述

方向

有效的 directionType

价值

电机组旋转的值。

单位

**可选。**有效的 rotationUnit。默认值为“度”。

速度

**可选。**电机组的旋转速度。如果未指定,则将使用 MotorGroup.setVelocity() 命令设置的默认速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm

等待

可选。 确定命令是否阻止后续命令(wait=true)或允许立即执行(wait=false)。如果未指定,则 wait 参数的默认值为 wait=true

**返回:**无。

// Spin 180 degrees from the current position.
MotorGroup1.spinFor(forward, 180);

MotorGroup.停止()#

MotorGroup.stop(mode) 命令用于停止电机组,将其速度设置为 0,并配置当前停止模式。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.stop(mode)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

模式

有效的 brakeType。默认值为 coast,除非之前使用 MotorGroup.setStopping() 命令进行了更改。

**返回:**无。

// Stop the motor group.
MotorGroup1.stop()

MotorGroup.count()#

MotorGroup.count() 命令返回组中的电机数量。

这是一个非等待命令,允许下一个命令无延迟运行。

**返回:**组中的电机数量。

电机组.setVelocity()#

MotorGroup.setVelocity(velocity, units) 命令用于设置电机组的默认速度。如果未提供具体速度,则此速度设置将用于后续调用任何运动函数。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.setVelocity(velocity, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

速度

为电机组设置的新速度。

单位

**可选。**有效的 velocityUnit。默认值为 rpm,除非之前使用 MotorGroup.setVelocity() 命令进行了更改。

**返回:**无。

MotorGroup.setStopping()#

MotorGroup.setStopping(mode) 命令用于设置电机组的停止模式。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.setStopping(mode)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

模式

有效的 brakeType。默认值为 coast,除非之前使用 MotorGroup.setStopping() 命令进行了更改。

**返回:**无。

电机组.重置位置()#

MotorGroup.resetPosition() 命令将电机组位置重置为 0。

这是一个非等待命令,允许下一个命令无延迟运行。

**返回:**无。

电机组.setPosition()#

MotorGroup.setPosition(value, units) 命令用于设置电机组的位置。MotorGroup.position() 函数返回的位置将更新为该新值。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.setPosition(value, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

价值

为电机组设置的新位置。

单位

**可选。**有效的 rotationUnit。默认值为“度”。

**返回:**无。

MotorGroup.setTimeout()#

MotorGroup.setTimeout(value, units) 命令用于设置电机组的超时时间。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.setTimeout(value, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

价值

为电机组设置的新超时。

单位

**可选。**有效的 timeUnit。默认值为“msec”。

**返回:**无。

MotorGroup.isSpinning()#

如果电机组当前正在旋转,则 MotorGroup.isSpinning() 命令返回。

这是一个非等待命令,允许下一个命令无延迟运行。

返回: 如果电机组当前正在旋转,则返回 True。否则,返回 False。

MotorGroup.isDone()#

如果电机组已完成其运动,则返回 MotorGroup.isDone() 命令。

这是一个非等待命令,允许下一个命令无延迟运行。

返回: 如果电机组已完成运动,则返回 True。如果尚未完成运动,则返回 False。

电机组.设置最大扭矩()#

MotorGroup.setMaxTorque(value, units) 命令用于设置电机组的最大扭矩。扭矩可以设置为扭矩、电流或最大扭矩的百分比。

要使用此命令,请将“MotorGroup”替换为所需的电机组,例如:“ArmMotorGroup.setMaxTorque(value, units)”。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

价值

电机组的新最大扭矩。

单位

有效的 torqueUnit、“amp”或“percent”。

**返回:**无。

// Set maximum torque to 2 Newton Meters.
MotorGroup1.setMaxTorque(2, Nm);

MotorGroup.方向()#

MotorGroup.direction() 命令返回电机组当前旋转的方向。

这是一个非等待命令,允许下一个命令无延迟运行。

**返回:**电机组当前旋转的 directionType

MotorGroup.位置()#

MotorGroup.position(units) 命令返回电机组的当前位置。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 rotationUnit。默认值为 dergees

返回: 以指定单位表示的电机组的当前位置。

MotorGroup.速度()#

MotorGroup.velocity(units) 命令返回电机组的当前速度。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 velocityUnit。默认值为 rpm

**返回:**以指定单位表示的电机组当前速度。

MotorGroup.current()#

MotorGroup.current(units) 命令返回电机组正在使用的电流。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**电流的唯一有效单位是“amp”。

返回: 电机组以指定单位吸收的电流。

电机组.功率()#

MotorGroup.power(units) 命令返回电机组消耗的功率。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

可选。 功率的唯一有效单位是“瓦特”。

**返回:**电机组以指定单位消耗的功率。

电机组.扭矩()#

MotorGroup.torque(units) 命令返回电机组产生的扭矩。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 torqueUnit。默认值为 Nm

**返回:**电机组以指定单位产生的扭矩。

MotorGroup.效率()#

MotorGroup.efficiency(units) 命令返回电机组的效率。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**效率的唯一有效单位是“百分比”。

**返回:**电机组的效率百分比。

电机组.温度()#

MotorGroup.temp(units) 命令返回电机组的温度。

这是一个非等待命令,允许下一个命令无延迟运行。

参数

描述

单位

**可选。**有效的 温度单位。默认值为“摄氏度”。

**返回:**以指定单位表示的电机组温度。