发动机#
要使电机命令出现在 VEXcode V5 中,必须在设备窗口中配置电机。
有关详细信息,请参阅以下文章:
发动机构造器#
可以使用以下构造函数之一以不同的方式实例化 V5 电机:
电机 Motor1 = 电机(int32_t index,bool reverse);
index
= 电机所连接的智能端口。reverse
= 一个布尔值,用于保持或反转电机旋转的方向。
电机 Motor1 = 电机(int32_t index, gearSetting 齿轮);
index
= 电机所连接的智能端口。gears
= 电机筒的齿轮比。
电机 Motor1 = 电机(int32_t 索引,齿轮设置齿轮,bool 反向);
index
= 电机所连接的智能端口。gears
= 电机筒的齿轮比。reverse
= 一个布尔值,用于保持或反转电机旋转的方向。
// Construct a V5 Motor that runs in reverse.
motor Motor1 = motor(PORT1, true);
// Construct a V5 Motor with a 6:1 Turbo Gear Cartridge.
motor Motor1 = motor(PORT1, ratio6_1);
// Construct a V5 Motor with a 36:1 Torque Gear Cartridge
// that runs in reverse.
motor Motor1 = motor(PORT1, ratio36_1, true);
电机.旋转()#
Motor.spin(direction, speed, units)
命令用于使电机永远沿指定方向旋转,直到使用另一个运动命令或项目停止。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.spin(direction, speed, units)”。
这是一个非等待功能,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
方向 |
有效的 directionType。 |
速度 |
**可选。**电机旋转的速度。将使用 |
单位 |
**可选。**有效的 velocityUnit。默认值为 |
**返回:**无。
// Spin Motor forward.
Motor1.spin(forward);
电机.spinToPosition()#
Motor.spinToPosition(rotation, units, speed, units_v, wait)
命令用于使用提供的参数将电机旋转到绝对位置。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.spinToPosition(rotation, units, speed, units_v, wait)”。
该函数可以是等待或非等待命令,具体取决于是否使用了“wait”参数。
参数 |
描述 |
---|---|
旋转 |
电机旋转的位置。 |
单位 |
**可选。**有效的 rotationUnit。默认值为“度”。 |
速度 |
**可选。**电机旋转的速度。将使用 |
单位 |
**可选。**有效的 velocityUnit。默认值为 |
等待 |
可选。 确定命令是否阻止后续命令( |
**返回:**无。
// Spin Motor to 180 degrees.
Motor1.spinToPosition(180);
电机.spinFor()#
Motor.spinFor(direction, value, units, speed, units_v, wait)
命令用于使电机旋转特定时长、圈数或直到达到特定的编码器值。该位置相对于电机的当前位置。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.spinFor(direction, value, units, speed, units_v, wait)”。
这可以是等待或非等待命令,取决于是否使用了“wait”参数。
参数 |
描述 |
---|---|
方向 |
有效的 directionType。 |
价值 |
电机旋转的值。 |
单位 |
**可选。**有效的 rotationUnit。默认值为“度”。 |
速度 |
**可选。**电机旋转的速度。将使用 |
单位 |
**可选。**有效的 velocityUnit。默认值为 |
等待 |
可选。 确定命令是否阻止后续命令( |
**返回:**无。
// Spin 180 degrees from the current position.
Motor1.spinFor(forward, 180);
电机停止()#
Motor.stop(mode)
命令用于停止电机,将其速度设置为 0 并配置当前停止模式。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.stop(mode)”。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
模式 |
**可选。**有效的 brakeType。默认值为“coast”,除非之前使用“Motor.setStopping()”命令进行了更改。 |
**返回:**无。
// Stop the Motor.
Motor.stop();
电机.设置速度()#
Motor.setVelocity(velocity, units)
命令用于设置电机的默认速度。如果未提供具体速度,则此速度设置将用于后续调用任何运动函数。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setVelocity(velocity, units)”。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
速度 |
为电机设置的新速度。 |
单位 |
**可选。**有效的 velocityUnit。默认值为 |
**返回:**无。
电机.setReversed()#
Motor.setReversed(value)
命令将电机方向设置为反转。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
价值 |
布尔值来设置方向是否反转。 |
**返回:**无。
电机.setStopping()#
Motor.setStopping(mode)
命令用于设置电机的停止模式。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setStopping(mode)”。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
模式 |
**可选。**有效的 brakeType。默认值为“coast”,除非之前使用“Motor.setStopping()”命令进行了更改。 |
**返回:**无。
电机.resetPosition()#
Motor.resetPosition()
命令将电机位置重置为 0。
这是一个非等待命令,允许下一个命令无延迟运行。
**返回:**无。
电机.设置位置()#
Motor.setPosition(value, units)
命令用于设置电机的位置。Motor.position()
函数返回的位置将更新为该新值。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setPosition(value, units)”。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
价值 |
为电机设置的新位置。 |
单位 |
**可选。**有效的 rotationUnit。默认值为“度”,除非之前使用“Motor.setPosition()”命令进行了更改。 |
**返回:**无。
电机.setTimeout()#
Motor.setTimeout(value, units)
命令用于设置电机的超时时间。Motor.getTimeout()
函数返回的位置将更新为该新值。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setTimeout(value, units)”。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
价值 |
为电机设置的新超时。 |
单位 |
可选。 有效的 timeUnit。默认值为 |
**返回:**无。
电机.getTimeout()#
Motor.getTimeout()
命令返回电机的当前超时时间。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.getTimeout()”。
这是一个非等待命令,允许下一个命令无延迟运行。
**返回:**当前超时值(以毫秒为单位)。
电机是否旋转()#
如果电机当前正在旋转,则 Motor.isSpinning()
命令返回。
这是一个非等待命令,允许下一个命令无延迟运行。
返回: 如果电机当前正在旋转,则返回 True。否则,返回 False。
电机.isDone()#
如果电机已完成其运动,则“Motor.isDone()”命令返回。
这是一个非等待命令,允许下一个命令无延迟运行。
返回: 如果电机已完成运动,则返回 True。如果尚未完成运动,则返回 False。
电机.设置最大扭矩()#
Motor.setMaxTorque(value, units)
命令用于设置电机的最大扭矩。扭矩可以设置为扭矩、电流或最大扭矩的百分比。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.setMaxTorque(value, units)”。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
价值 |
电机的新最大扭矩。 |
单位 |
有效的 torqueUnit、“amp”或“percent”。 |
**返回:**无。
// Set maximum torque to 2 Newton Meters.
Motor1.set_max_torque(2, Nm);
电机.convertVelocity()#
Motor.convertVelocity(velocity, units, unitsout)
命令根据电机传动装置将给定单位的速度转换为指定单位。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.convertVelocity(velocity, units, unitsout)”。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
速度 |
转换的速度。 |
单位 |
速度值的有效 velocityUnit。 |
单位输出 |
**可选。**返回速度的有效 velocityUnit。默认值为 |
**返回:**返回转换为指定单位的速度。
电机.获取电机墨盒()#
Motor.getMotorCartridge()
命令返回电机的齿轮筒设置。
要使用此命令,请将“Motor”替换为所需的电机,例如:“armMotor.getMotorCartridge()”。
这是一个非等待命令,允许下一个命令无延迟运行。
**返回:**电机的齿轮筒设置。
电机.方向()#
Motor.direction()
命令返回电机当前旋转的方向。
这是一个非等待命令,允许下一个命令无延迟运行。
返回: 电机当前旋转的 directionType。
电机.位置()#
Motor.position(units)
命令返回电机的当前位置。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
**可选。**有效的 rotationUnit。默认值为“度”。 |
返回: 以指定单位表示的电机当前位置。
电机.速度()#
Motor.velocity(units)
命令返回电机的当前速度。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
**可选。**有效的 velocityUnit。默认值为 |
**返回:**以指定单位表示的电机当前速度。
电机电流()#
Motor.current(units)
命令返回电机正在使用的电流。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
**可选。**电流的唯一有效单位是“amp”。 |
返回: 电机以指定单位吸收的电流。
电机功率()#
Motor.power(units)
命令返回电机消耗的功率。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
可选。 功率的唯一有效单位是“瓦特”。 |
**返回:**电机以指定单位消耗的功率。
电机扭矩()#
Motor.torque(units)
命令返回电机产生的扭矩。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
**可选。**有效的 torqueUnit。默认值为 |
返回: 电机以指定单位产生的扭矩。
电机效率()#
Motor.efficiency(units)
命令返回电机的效率。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
**可选。**效率的唯一有效单位是“百分比”。 |
**返回:**电机效率的百分比。
电机.温度()#
Motor.temp(units)
命令返回电机的温度。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
**可选。**有效的 温度单位。默认值为“摄氏度”。 |
**返回:**以指定单位表示的电机温度。
电机命令()#
Motor.command(units)
命令返回发送给电机的最后速度。
这是一个非等待命令,允许下一个命令无延迟运行。
参数 |
描述 |
---|---|
单位 |
**可选。**有效的 velocityUnit。默认值为 |
**返回:**以指定单位表示的电机指令速度。
电机.安装()#
Motor.installed()
命令检查电机是否已连接。
这是一个非等待命令,允许下一个命令无延迟运行。
返回: 如果电机已连接,则返回 True。如果未连接,则返回 False。
电机.值()#
Motor.value()
命令返回电机的值。
这是一个非等待命令,允许下一个命令无延迟运行。
**返回:**表示电机值的整数。