flex_config_inhibit_output

NI-Motion Functions

flex_config_inhibit_output

Device Compatibility

Device Compatibility
7330
Y
7340
Y
7344
Y
7350
Y
7390
Y
NI SoftMotion Controller for CANopen—Xenus
N
NI SoftMotion Controller for CANopen—Accelnet
N

Configure Inhibit Output

Usage

status = flex_config_inhibit_output(u8 boardID, u8 axis, u16 enable, u16 polarity, u16 driveMode)

Purpose

Configures polarity and enables the per-axis inhibit outputs.

Tip  Refer to the Remarks section for information about how the behavior of this function differs between controllers.

Parameters

Name Type Description
boardID u8 assigned by Measurement & Automation Explorer (MAX)
axis u16 axis to configure
enable u16 enables/disables inhibit output on the selected axis
polarity u16 specifies either active low/active open or active high/active closed
driveMode u16 specifies either Open Collector or Totem Pole mode

Parameter Discussion

axis is the axis to configure. Valid values are NIMC_AXIS1 through NIMC_AXIS30. On motion controllers that support fewer than thirty axes, configuring non-existent axes returns error –70006 (NIMC_badResourceIDOrAxisError). Refer to Axes for axis resource IDs.

enable is the inhibit output to enable. An enabled inhibit monitors the motor off (killed) state of the axis.

polarity is the stepper output configured as active low/active open or active high/active closed.

Constant Value Description
NIMC_ACTIVE_HIGH 0 Logical True or On
NIMC_ACTIVE_LOW 1 Logical False or Off

driveMode specifies either Open Collector or Totem Pole mode. driveMode is available only on the NI 7350 and is not configurable on NI 7330/40/90 motion controllers.

Constant Value Description
NIMC_OPEN_COLLECTOR 0 Configures output to be Open Collector
NIMC_TOTEM_POLE 1 Configures output to be Totem Pole

Using This Function

This function enables/disables and sets the polarity of the axis inhibit outputs as active low or active high. When enabled, a per-axis inhibit output is linked to the motor off state of the corresponding axis. A killed axis (motor off) forces the corresponding inhibit output On. When the axis is active, the inhibit output is Off. Note that these On and Off states are logical states. The actual state depends on the polarity of the system.

Inhibit outputs are typically used to disable the servo amplifier or stepper drive for power saving, safety, or specific application reasons.

Note  Killing a servo axis also zeros its DAC output. With torque block amplifiers, this means that the motor freewheels regardless of if the amplifier is disabled. With velocity block servo amplifiers or stepper drives, the motor does not freewheel unless the amplifier/drive is disabled with the inhibit output.

You also can use inhibit outputs as general-purpose outputs. Disabled inhibit outputs ignore the state of their corresponding axis and can be directly controlled through the Set Inhibit Output MOMO function.

You can configure the polarity of each inhibit output as active low or active high. When configured as active low, the output is active when there is a low signal on the output pin. Conversely, active high means that the output is active when there is a high signal on the output pin. The inhibit polarity is always in effect, regardless of if the inhibit is linked to its axis (enabled) or directly controlled through the Set Inhibit Output MOMO function.

For more information about Open Collector and Totem Pole drive modes, refer to the NI 7350 Hardware User Manual. Configuring Drive Mode is supported only on 7350 controllers and is not configurable on NI 7330/40/90 motion controllers.

Remarks

This section includes information about how the behavior of this function differs among the controllers that support it.

NI 73xx Controller Considerations

The following includes considerations you must make when you are using this function with a 73xx motion controller:

The PCI-7390 does not support the polarity parameter. To set the active state on a PCI-7390 use Write Digital I/O Data.