运动轴状态位的具体含义是?
主要软件: Driver Software>>NI-Motion/FlexMotion
主要软件版本: 6.1.2
主要软件修正版本: N/A
次要软件: N/A
问题: FlexMotion和ValueMotion产品的轴状态寄存器中的许多状态位看起来相同,但是他们到底是什么意义呢?
解答: 下列命令和VIs可以用来更改轴状态位:
- flex_read_axis_status (Flexmotion command)
- Read per Axis Status (FlexMotion VI)
- read_axis_stat (ValueMotion command)
- Read Per Axis H/W Status (ValueMotion VI)
同时针对FlexMotion和ValueMotion的状态位:
- Profile Complete 位被置1: 当轨迹发生器成功输出所有运动点时。注意,这通常响应于运动将要结束时,但是由于系统的机械特性,电机在到达轨迹的终点时,可能继续运动一点点。
- Run Status位被置1:当电机在运动时。在闭环情形下,该信息来自于反馈机制(编码器),而且独立于产生的轨迹。正如前面提到的,这会指示在轨迹结束后,电机是否还在运动。使用FlexMotion,你可以使用flex_load_vel_tc_rs函数准确定义“停止”的含义。
- Motor Status位被置1:当轴处于“killed”状态。这可能是由执行stop Motion或者Kill Motion 命令导致的,或者是因为电机超出了允许的错误范围。
只针对FlexMotion的状态位:
- Move Complete 位被置1:当flex_config_mc_criteria命令指定的所有条件都满足时。默认情况下,轨迹结束时即认为运行结束了,但是编程者可以设置其他规范(如motor off,motor stopped,time delay,position deadband)。
- The Blend Complete status bit is set (true) when the current blend is completed. Since the board can accommodate information for only one blend at a time, always poll this bit before loading an additional target position and executing another blend.
- Blend Complete位被置1:当前blend结束时。由于该板可容纳的信息一次只有一个blend,因此总是在加载一个额外的目标位置,和执行其他blend前置1。
相关链接: Drivers and Updates: Current VersionsDeveloper Zone Tutorial: Trajectory Settings for Motion ControllersMotion Control Support
附件:
报告日期: 08/20/1999
最近更新: 02/27/2014
文档编号: 1OJE8AIN
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.