Windows系统下(Linux和MAC系统下请自行了解清楚)NI的各种软件、模块、工具包、驱动程序,使用NI许可证管理器来激活的,绝大部分的都可以使用NI Lincense Activator来激活,以下链接可下载:
NI序列号Serial Number生成激活工具NI License Activator,LabVIEW/VBAI/VDM/VAS等软件模块工具包破解工具不限版本
http://pcmv.cn/thread-490-1-1.html
视觉论坛的各种资源,除了视觉相关的模块有使用外,大部分的都不会使用,所以仅提供资源不能提供技术支持。资源的下载地址一般会同时提供NI官方地址和百度网盘的下载地址。某些工具包NI的地址失效或没有NI的下载地址,那视觉论坛也没有办法,只能尝试使用百度网盘地址下载;如果百度网盘的下载地址失效过期,可联系论坛客服更新。现在NI的下载服务器对我国IP地址不是很友好,有些时候速度很慢或大的资源下载很容易出错,这样会造成安装过程各种类型报错而无法安装。建议在下载完成后,对下载资源做校验和验证(NI一般会提供MD5或SHA256等),与官方或视觉论坛提供的校验和对比,一致就可以安装,如果不一致,则需要重新下载。视觉论坛早期下载的资源,那时候NI没有这么多限制,基本上都是正常下载的资源;后期下载的资源,都与NI的正确校验和对比过,保证是正确的资源才上传到百度网盘,所以百度网盘的资源基本上是正确的。校验和工具下载地址:
文件Hash计算器FHash,文件校验和验证下载文件正确性验证,MD5值计算、SHA1值计算、SHA256值计算、CRC32值计算
http://pcmv.cn/thread-26524-1-1.html
NI-Motion 6.1.5 Update Win32Eng NI运动驱动程序6.1.5版升级工具 适用LabVIEW7.1
NI-Motion为NI运动器件的驱动程序,开发软件为NI SoftMotion,及Motion Assistant。
NI-Motion 6.1.5(仅为升级工具,请先安装6.1版~6.14版)
发布日期
04-11-1
受支持的操作系统
Windows 2000
Windows 98
Windows ME
Windows NT
Windows XP
语言
英文
校验和
(MD5)
e4a3d61caf0ee33c65f230c998aeb032
百度网盘下载(限速,请开会员或使用破解限速工具):
链接: 请注册视觉论坛用户,登陆后购买附件下载查看 提取码: 请注册登陆视觉论坛会员,购买附件查看
NI官方下载地址(可能无效或无法下载完成):
请注册登陆视觉论坛会员,购买附件查看
NI-Motion 6.1.5 Update Win32Eng NI运动驱动程序6.1.5版升级工具 适用LabVIEW7.1
http://pcmv.cn/thread-24154-1-1.html?fromuid=9
(出处: 视觉论坛VISIONBBS|视觉之家VISIONHOME)
NI-MOTION 6.1.5
Release Notes
NI-Motion 6.1.5 is the motion control software you use to interface with all National Instruments motion controllers using LabVIEW, LabVIEW DSC, C, LabWindows™/CVI™, or Visual Basic development platforms.
The NI-Motion VI Library 6.1.5 is compatible with LabVIEW 6i or later and LabVIEW DSC 2.0 or later.
Recompiling Code
If you have developed motion control systems using a previous version of NI-Motion, you might need to recompile your code before it will work correctly with NI-Motion 6.1.5.
LabVIEW Real-Time Users
To use the updates and features included in NI-Motion 6.1.5, you must update the NI-Motion driver software on the LabVIEW Real-Time system using Measurement & Automation Explorer (MAX).
Error -70095 (NIMC_DSPCommunicationsTimeoutError) and Error -70052 (NIMC_FPGAProgramError)
On some computers, NI motion controllers using NI-Motion 6.1 return error -70095 (NIMC_DSPCommunicationsTimeoutError) or error -70052 (NIMC_FPGAProgramError) when the host computer is first powered on. In some cases, you might see one of these errors when you reset the motion controller in MAX. To correct these errors, upgrade the firmware on the motion controller to version 6.1.2 or later.
Installation and Configuration Instructions
Complete the following steps to install this update:
Download the NI-Motion 6.1.5.exe file, and then run it.
Download the updated firmware to your controller(s):
Launch MAX.
Expand Devices and Interfaces.
Select the appropriate motion controller.
Click the Firmware tab.
Right-click the controller name in the firmware configuration view and select Update All Firmware Sectors.
6.1.5 Changes and EnhancementsChanging Feedback While Axis is Enabled
In previous releases (6.1.4 or earlier), you must disable an axis before you can configure it. With this update, you can configure axes on-the-fly. This feature is currently supported only on NI 735x controllers.
Note Before you reassign the axis feedback, the new feedback device must be enabled and must not be associated with any other enabled axes. |
Note Use this functionality to change the feedback device on axes configured as closed loop stepper or servo using external commutation. |
Complete the following steps to configure axes on the fly:
Configure and enable the axis with the first feedback device as you typically do.
Enable the second feedback device. Verify that the device is working properly by reading the analog feedback (ADC) or encoder.
If you are using the controller with a servo system, load and enable the second PID set. The new feedback device might require the system to have a new set of PID gains loaded immediately after the axis is reconfigured. To minimize the delay, the motion controllers allow you to configure an additional set of PID gains.
Use the Load All PID Parameters and Load Single PID Parameter functions/VIs to load the PID values. Instead of using regular axis resource IDs, such as axis 1 = 0x1, axis 2 = 0x2, and so on, use the following alternate resource IDs: axis 1 = 0xA1 or 161, axis 2 = 0xA2 or 162.
Use the Load Advanced Control Parameter function/VI to enable the new set. Set Control Parameter to NIMC_SECONDARY_PID_MODE (0xD), and enter 1 as the Value to enable the second gain set.
Configure the axis with a new feedback device. The current position of the axis is updated to reflect the current reading of the feedback device.
The second PID values and enable mode are saved as part of the user-defined default settings. When the controller starts up from reset, the first, or primary, set of PID values is always used by default. In addition to using the primary set of PID values by default, the controller also uses it under the following conditions:
Controller is reset
Axis is configured while it is disabled
Second PID set is disabled using flex_load_advanced_control_parameter
Axis is configured on-the-fly for the second time. The controller switches between the two PID sets.
Support for ADC Feedback with Stepper Axes (all NI Motion Controllers)
Previously, if you were using an axis with analog feedback (ADC), the position and velocity reported were not correctly scaled to steps. With this update, position and velocity are scaled according to the ADC codes (LSBs) per rev and steps per rev ratio. In the Load Counts/Steps per Revolution function/VI, counts per rev is now interpreted as number of encoder counts per revolution for encoder feedback or number of ADC codes (LSBs) per revolution for analog feedback.
Support for Remote PCI Motion Controllers
This update adds support for remote PCI motion controllers on LabVIEW Real-Time Module (ETS) targets that are running the real-time operating system Venturcom Phar Lap Embedded ToolSuite (ETS). Previously, NI-Motion software supported remote devices only on PXI systems.
Tip For information about LabVIEW Real-Time Module (ETS), refer to the Using Desktop PCs as RT Targets with the LabVIEW Real-Time Module for ETS Targets manual, which you can view and download from ni.com. |
End of Contour Move Has an Anomaly
In NI-Motion versions 6.0.x thru 6.1.4, the spline calculation between the final two points in a contour move contains a deviation from the expected position profile. This update removes this anomaly.
Using Find Index Reference Moves after Performing a Buffered High-Speed Capture
Previously, if you attempted to execute a Find Index move after a buffered high-speed capture, the Find Index move did not execute correctly. With this update, a Find Index move functions correctly after a buffered high-speed capture.
Note If you want to execute another buffered high-speed capture after a Find Index move, you must configure the buffer and enable high speed capture again. |
Refer to the sections below for information about the updates and changes included in previous versions of NI-Motion.
NI-Motion 6.1.4 Contents
Feature Correction: Saving User Data
Previously, saving user data on an NI 7350 Series controller occasionally resulted in corrupt user data and corrupt calibration data. This issue has been resolved and saving user data on this device no longer results in corrupt data.
Feature Correction: Downloading Onboard Programs
Previously, downloading an onboard program to one device on a motion control system that includes multiple devices blocked all motion control devices. Now, when you download onboard programs to one device, only that device is blocked.
Feature Correction: Wait on Condition
The Wait on Condition VI and the flex_wait_on_event function now work correctly when you use IO Port Match condition.
Feature Correction: 2D-Interactive panel in MAX
The Move Mode drop-down list now inlcude the correct options. Previously, it included only straight-line moves for the NI 7340 Series and NI 7350 Series controllers, and it erroneously included contour moves for the NI 7330 Series when it should include only straight-line and arc moves.
Feature Correction: Find Reference Settings for Axis 2
In MAX, the Axis 2 Find Reference settings for NI 7330 Series controllers are now correctly displayed and set. Previously MAX displayed and set the Find Reference settings for Axis 1 instead of Axis 2.
Feature Correction: Finding Home
When the axis is on the home switch, it now correctly finds home. Also, the axis now correctly finds home if it overshoots the home switch during the find home process.
New Feature: Documentation for the flex_setu32 Function Includes New Information
The NI-Motion Function Help now includes the following attribute information for the flex_setu32 function:
Attribute | Resource | Constant | Description | Possible Values |
NIMC_STEP_ DUTY_CYCLE | Axis | 0x0600 | Duty cycle of the step output. This function sets the duty cycle to either 25% or 50%. | 25 or 50 |
New Feature: Documentation for the Set u32 VI Includes New Information
The NI-Motion VI Help now includes the following property information for the Set u32 VI:
Attribute | Resource | Description | Possible Values |
Step Output Duty Cycle | Axis | Duty cycle of the step output. This VI sets the duty cycle to either 25% or 50%. | 25 or 50 |
Known Issue: Documentation for the Return Data Buffer is Incorrect in NI-Motion Function Help
The NI-Motion Function Help now includes the following updated information for the Return Data Buffer:
Data or status requested by the host is buffered in the Return Data Buffer (RDB) in FIFO mode. The FIFO is 16 commands deep. When data exists in the RDB, the Ready to Send bit in the Communication Status Register (CSR) is set. You can use the RDB either as a temporary buffer that holds a single return data packet, or as a small FIFO buffer. When the requested data is available in the RDB, it is read back by the host. You also can request multiple data items and leave them in the buffer for retrieval at a later time. If the RDB becomes full and cannot accommodate requested return data, NI-Motion generates an error and sets the Error Message bit in the CSR.
New Documentation: Documentation for the Set Stepper Loop Mode VI in the NI-Motion VI Help Includes New Information about P-Command Mode
Sets a stepper axis to operate in either open-loop, closed-loop, or P-Command mode. Details.
Control/Indicator | Datatype | Parameter | Description |
Control | U16 | Loop Mode (Open) | sets the mode for the stepper axis. |
Control | U16 | Board ID | is a unique number assigned by Measurement & Automation Explorer used to send and receive commands and data to or from a specific NI motion controller. |
Control | U8 | Axis | is the axis for which to load PID parameters. Valid axis numbers are 1 through 8 for all NI motion controllers. On controllers with less than eight axes, configuring non-existent axes has no effect. |
Control | Cluster | error in (no error) | is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using the error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.status | is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. | code | is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message. | source | is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred. |
|
Indicator | U8 | Bd ID Out | is provided for flow control. You can string together NI-Motion VIs by wiring the Board ID Out terminal of one VI to the Board ID terminal of the next VI. |
Indicator | U16 | Resource Out | indicates the resource wired in from another VI. This indicator is applicable when you string multiple motion control VIs together. |
Indicator | Cluster | error out | is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.status | is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. | code | is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message. | source | is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred. |
|
Using This VI
You can operate stepper axes in both open and closed-loop modes. In open-loop mode, the stepper axis controls the trajectory profile and generates steps but has no feedback from the motor or actuator to determine if the profile is followed correctly.
In closed-loop mode, the feedback position is constantly compared to the number of steps generated to see if the stepper motor is moving correctly. When the trajectory profile is complete, missing steps (if any) are made up with a pull-in move. If, at any time during the move, the difference between the instantaneous commanded position and the feedback position exceeds the programmed following error threshold, the axis is killed and motion stops.
You use P-Command mode for systems in which a servo drive receives step/dir (cw/ccw) from the motion controller. The drive closes the PID loop, and the motion controller provides the trajectory generation. Any time you use the axis in P-Command mode, and the axis goes from a kill state to a halt state, reset the axis position to synchronize the encoder and the step generation. Similarly to closed-loop mode, in P-Command mode, the axis trips on the following error.
Caution For proper closed-loop and P-Command operation, the correct values for steps/rev and counts/rev must be loaded with the Load Counts/Steps per Revolution VI. Incorrect counts to steps ratio can result in failure to reach the desired target position and erroneous closed-loop stepper operation. |
To operate in closed-loop or P-Command mode, a stepper axis must have a primary feedback resource, such as an encoder, mapped to it prior to enabling the axis. Refer to the Configure Axis Resources VI for more information about feedback resources. You can operate an axis with a primary feedback resource in open-loop, closed-loop, or P-Command mode and you can switch the mode at any time. You can still read the position of the mapped feedback resource even when the axis is in open-loop mode.
New Documentation: Documentation for the flex_set_stepper_loop_mode function in the NI-Motion Function Help Includes New Information about P-Command Mode
Set Stepper Loop ModeUsage
status = flex_set_stepper_loop_mode(u8 boardID, u8 axis, u16 loopMode)
Purpose
Sets a stepper axis to operate in either open-loop, closed-loop, or P-Command mode.
Parameters
Name | Type | Description |
boardID | u8 | assigned by Measurement & Automation Explorer |
axis | u8 | axis to be controlled |
loopMode | u16 | mode of the stepper axis |
Parameter Discussion
axis is the axis to be controlled.
loopMode sets the mode for the stepper axis.
0 = open-loop (default)
1 = closed-loop
2 = P-Command
Using This Function
You can operate stepper axes in both open and closed-loop modes. In open-loop mode, the stepper axis controls the trajectory profile and generates steps but has no feedback from the motor or actuator to determine if the profile is followed correctly.
In closed-loop mode, the feedback position is constantly compared to the number of steps generated to see if the stepper motor is moving correctly. When the trajectory profile is complete, missing steps (if any) are made up with a pull-in move. If, at any time during the move, the difference between the instantaneous commanded position and the feedback position exceeds the programmed following error threshold, the axis is killed and motion stops.
You use P-Command mode for systems in which a servo drive receives step/dir (cw/ccw) from the motion controller. The drive closes the PID loop, and the motion controller provides the trajectory generation. Any time you use the axis in P-Command mode, and the axis goes from a kill state to a halt state, reset the axis position to synchronize the encoder and the step generation. Similarly to closed-loop mode, in P-Command mode, the axis trips on the following error.
Caution For proper closed-loop and P-Command operation, the correct values for steps/rev and counts/rev must be loaded with the Load Counts/Steps per Revolution function. Incorrect counts to steps ratio can result in failure to reach the desired target position and erroneous closed-loop stepper operation. |
To operate in closed-loop or P-Command mode, a stepper axis must have a primary feedback resource, such as an encoder, mapped to it prior to enabling the axis. Refer to the Configure Axis Resources function for more information about feedback resources. You can operate an axis with a primary feedback resource in open-loop, closed-loop, or P-Command mode and you can switch the mode at any time. You can still read the position of the mapped feedback resource even when the axis is in open-loop mode.
NI-Motion 6.1.2 Contents
Known Issue: Using Breakpoints with High-Speed Captures
Enabling a high-speed capture when a breakpoint is enabled may cause the breakpoint to be missed. If you are using a breakpoint on the same axis on which you are performing the high-speed capture, ensure that both the breakpoint and the high-speed capture are configured and enabled before starting the move.
NI-Motion 6.1.1 Contents
NI-Motion 6.1.1 contains updates to NI-Motion 6.1. Refer to the following sections for information about the updates.
Maximum PID rate is increased for NI 7340 Series and NI 7350 Series controllers
The maximum Control Loop Update Period in the Default Settings»Axis Configuration configuration tree item in MAX is now 5 ms for NI 7340 Series and NI 7350 Series controllers. Previously, the maximum Control Loop Update Period was 500 μ.
Auto Tune now correctly maintains the rate you specify
When you change the Auto Tune setting in the Main tab of the Calibration configuration tree item in Measurement & Automation Explorer (MAX), NI-Motion maintains the setting you specify. Previously, NI-Motion briefly changed the setting you specified to 250 μ before setting it to the rate you specified.
Downloading the NI-Motion 6.1.1 firmware onto NI 7340 Controllers
You must install NI-Motion 6.1.1 before downloading NI-Motion 6.1.1 firmware onto NI 7340 controllers. This requirement applies only to 7340 controllers. You can use older versions of NI-Motion to download the NI-Motion 6.1.1 firmware onto other NI motion controllers.
Lowpass and Notch filter in MAX
You can now use MAX to configure controllers to use the Lowpass and Notch filters.
Load Advanced Control Parameter VI is now wired correctly
Previously, an indicator on the VI was not wired to the connector pane properly.
Onboard circular interpolation with NI 7330 Series controllers
NI 7330 Series motion controllers can now perform onboard circular interpolation.
Configuring input signals for In Position and Drive Fault monitoring
This update includes support for configuring input signals from the drive for In Position and Drive Fault (Servo Alarm) monitoring.
Configure Drive Signal VI
This VI configures the drive signal.
Use this VI to configure and reserve I/O lines to receive signals from the drive. The following drive signals are available: In Position and Drive Fault (Servo Alarm).
Use the In Position drive signal when the drive is controlling a servo motor and the input to the drive is step/direction. This signal tells the motion controller when the drive considers the motor to be at the commanded position.
When the In Position drive signal is configured, the Move Complete status is linked to the state of the In Position signal. The move is not considered complete unless the In Position signal is active.
Use the Drive Fault drive signal to connect a servo alarm signal to the motion controller so that when an alarm or other drive fault occurs, the motion is stopped using a kill stop. A kill stop disables the control loop and zeroes the DAC so that frictional forces stop the motion.
Control/Indicator | Datatype | Parameter | Description |
Control | U16 | Pin | is the specific bit (0 to 7) in the port specified by port. For the HSC port, trigger 1 = pin 0, trigger 2 = pin 1, trigger 3 = pin 2, trigger 4 = pin 3, trigger 5 = pin 4, trigger 6 = pin 5, trigger 7 = pin 6, and trigger 8 = pin 7. |
Control | U16 | Port | is the general purpose I/O port (1 to 8) or HSC software port (10) to be controlled. |
Control | U8 | Board ID | is a unique number assigned by MAX used to send and receive commands and data to or from a specific NI motion controller. |
Control | U16 | Axis | is the axis to be configured. |
Control | Cluster | error in (no error) | is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using the error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.status | is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. | code | is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message. | source | is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred. |
|
Control | U16 | Mode | is the mode that pin will be reserved for. Options include Clear All, In Position, and Drive Fault. If a DIO or high-speed capture line has been reserved for a drive signal, I/O functionality is blocked for the reserved pin. You must use the Read Drive Signal Status VI to read the status of this signal. |
Control | Boolean | Polarity | is the polarity applied to the requested pin. Options are Active Low or Active High. |
Indicator | U8 | Bd ID Out | is provided for flow control. You can string together NI-Motion VIs by wiring the Board ID Out terminal of one VI to the Board ID terminal of the next VI. |
Indicator | U16 | Resource Out | indicates the resource wired in from another VI. This indicator is applicable when you string multiple motion control VIs together. |
Indicator | Cluster | error out | is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.status | is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. | code | is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message. | source | is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred. |
|
Read Drive Signal Status VI
This VI returns the status of the drive signal when an active signal is detected.
Use this function to read the status of the drive signal when an active drive signal is detected. If In Position is active, bit 0 = True. If Drive Fault is active, bit1 = True.
Control/Indicator | Datatype | Parameter | Description |
Control | U8 | Board ID | is a unique number assigned by MAX used to send and receive commands and data to or from a specific NI motion controller. |
Control | U16 | Axis | is the axis to be configured. |
Control | U16 | Ret Vect | is the destination for the return data. |
Control | Cluster | error in (no error) | is a cluster that describes the error status before this VI executes. If error in indicates that an error occurred before this VI was called, this VI may choose not to execute its function, but just pass the error through to its error out cluster. If no error has occurred, then this VI executes normally and sets its own error status in error out. Use the error handler VIs to look up the error code and to display the corresponding error message. Using the error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.status | is TRUE if an error occurred before this VI was called, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. | code | is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message. | source | is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred. |
|
Indicator | Cluster | Drive Signal Status | contains the status of the drive signals, where bit0 = In Position and bit1 = Drive Fault. |
Indicator | U8 | Bd ID Out | is provided for flow control. You can string together NI-Motion VIs by wiring the Board ID Out terminal of one VI to the Board ID terminal of the next VI. |
Indicator | Cluster | error out | is a cluster that describes the error status after this VI executes. If an error occurred before this VI was called, error out is the same as error in. Otherwise, error out shows the error, if any, that occurred in this VI. Use the error handler VIs to look up the error code and to display the corresponding error message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next.status | is TRUE if an error occurred, or FALSE if not. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. | code | is a number identifying an error or warning. If status is TRUE, code is a nonzero error code. If status is FALSE, code is zero or a warning code. Use the error handler VIs to look up the meaning of this code and display the corresponding error message. | source | is a string that indicates the origin of the error, if any. Typically, source is the name of the VI in which the error occurred. |
|
flex_configure_drive_signal
Usage
status=configure_drive_signal(BOARD, u8 axis, u16 port, u16 mode, u16 polarity)
Purpose
Configures the drive signal.
Parameters
Name | Type | Description |
deviceID | u8 | Assigned by MAX. |
axis | u8 | Axis to be configured. |
port | u16 | General-purpose I/O port (1 to 8) or HSC software port (10) to be controlled. |
pin | u16 | Specific bit in the port (0 to 7). |
mode | u16 | Mode that the pin will be reserved for. Options include: NIMC_DRIVE_SIGNAL_CLEAR_ALL(0), NIMC_IN_POSITION_MODE(1) or NIMC_DRIVE_FAULT_MODE (2). |
polarity | u16 | Polarity applied to the requested pin, either NIMC_ACTIVE_HIGH(0) or NIMC_ACTIVE_LOW(1). |
Parameter Discussion
Using This Function
Use this function to configure and reserve I/O lines to receive signals from the drive. The following drive signals are available: In Position and Drive Fault (Servo Alarm).
Use the In Position drive signal when the drive is controlling a servo motor and the input to the drive is step/direction. This signal tells the motion controller when the drive considers the motor to be at the commanded position.
When the In Position drive signal is configured, the Move Complete status is linked to the state of the In Position signal. The move is not considered complete unless the In Position signal is active.
Use the Drive Fault drive signal to connect a servo alarm signal to the motion controller so that when an alarm or other drive fault occurs, the motion is stopped using a kill stop. A kill stop disables the control loop and zeroes the DAC so that frictional forces stop the motion.
flex_read_drive_signal_status
Usage
status=read_drive_signal_status(BOARD, u8 axis, u8 ReturnVector)
Purpose
Reads the status of the drive signal when an active signal is detected.
Parameters
Name | Type | Description |
deviceID | u8 | Assigned by MAX. |
axis | u8 | Axis to be configured. |
returnVector | u8 | Destination for the return data. |
Parameter Discussion
Using This Function
Use this function to read the status of the drive signal when an active drive signal is detected. If In Position is active, bit0 = 1. If Drive Fault is active, bit1 = 1.
flex_read_drive_signal_status_rtn
Usage
status=read_drive_signal_status_rtn(BOARD, u8 axis, u16 *driveStatus)
Purpose
Returns the status of the drive signal when an active signal is detected.
Parameters
Name | Type | Description |
deviceID | u8 | Assigned by MAX. |
axis | u8 | Axis to be configured. |
driveStatus | u8 | Contains the status of the drive signal, where bit0 = In Position and bit1 = Drive Fault. |
Parameter Discussion
Using This Function
Use this function to read the status of the drive signal when an active drive signal is detected. If In Position is active, bit 0 = 1. If Drive Fault is active, bit1 = 1.
deviceID is the ID of the device as assigned by MAX.
axis is the axis to be configured.
port is the general purpose I/O port (1 to 8) or HSC software port (10) that you are controlling with the drive signal.
pin is the specific bit in the port (0 to 7) specified by port. For the HSC port, trigger 1 = pin 0, trigger 2 = pin 1, trigger 3 = pin 2, trigger 4 = pin 3, trigger 5 = pin 4, trigger 6 = pin 5, trigger 7 = pin 6, and trigger 8 = pin 7.
mode is the mode that the pin will be reserved for. Options for mode are NIMC_DRIVE_SIGNAL_CLEAR_ALL(0), NIMC_IN_POSITION_MODE(1) or NIMC_DRIVE_FAULT_MODE (2). If a DIO or high-speed capture line has been reserved for a drive signal, I/O functionality is blocked for the reserved pin. You must use the flex_read_drive_signal_status function to read the status of this signal. NIMC_DRIVE_SIGNAL_CLEAR_ALL(0) clears any reservations for In Position or Drive Fault signals for the specified axis. Use this mode to unconfigure I/O lines and reset them to their default functionality.
polarity is the polarity applied to the requested pin. Valid options are NIMC_ACTIVE_HIGH(0) or NIMC_ACTIVE_LOW(1).
deviceID is the ID of the device as assigned by MAX.
axis is the axis to be configured.
returnVector indicates the desired destination for the return data generated by this function. Available return vectors include return data to the host (0xFF), to a variable (0x01 through 0x78), to an indirect variable (0x81 through 0xF8), and do not return data (0).
deviceID is the ID of the device as assigned by MAX.
axis is the axis to be configured.
driveStatus contains the status of the drive signal, where bit0 = In Position and bit1 = Drive Fault.
LabWindows/CVI
The following new functions are available for configuring input signals from the drive for In Position and Drive Fault (Servo Alarm) monitoring:
LabVIEW VI
The Configure Drive Signal and Read Drive Signal Status VIs are available for configuring input signals from the drive for In Position and Drive Fault (Servo Alarm) monitoring.
Notch and lowpass filter configuration now accounts for PID rate multiplier
Previously, the notch and lowpass filters were configured incorrectly when a PID rate multiplier was used. With the NI-Motion 6.1.1 update, changing the PID rate or its multiplier disables the notch and lowpass filters. Re-enabling the filters does not require reloading filter parameters.
flex_select_signal disables high speed capture
Using the flex_select_signal function to route the high speed capture source disables high speed capture. Invoke the flex_select_signal function before enabling high speed capture.
NI-Motion 6.1 Contents
The following sections include information about the changes and enhancements included in NI-Motion 6.1.
Installation Issues
For hardware and software installation procedures, refer to Getting Started with NI Motion Control, which is included with each NI motion controller. This document is included on the NI-Motion 6.1 installation CD in portable document format (PDF).
MSI 2.0 is automatically installed when you install NI-Motion, if it has not been installed previously. On most systems, this requires you to reboot after the MSI 2.0 installation and before the NI-Motion 6.1 installation. After rebooting, the NI-Motion 6.1 installer begins automatically. If it does not automatically begin, start the NI-Motion 6.1 installation manually.
If you are installing NI-Motion on a Windows NT 4.0 system, you must have Service Pack 6 or later installed.
Updating the Firmware on NI-Motion Controllers
If you have an NI-Motion controller with version 6.0 firmware or earlier, you must download the version 6.1 firmware for the controller to work properly with the new 6.1 software.
Refer to the MAX embedded help for more information about updating your firmware.
Upgrading from NI-Motion 5.2.5
NI-Motion 5.2.5 does not properly detect newer versions of NI-Motion when selecting features in the custom installer dialog. You might receive four errors indicating that you cannot install over a newer version. If you encounter this problem, click OK for each of the four error messages. The installer continues, correctly installing the remaining components.
Controllers
The following table lists all NI motion controllers that work with NI-Motion 6.1 as well as the bus types for each controller.
Controller | Bus Type |
PXI-7350 Series | PXI/CompactPCI |
PXI-7340 Series | PXI/CompactPCI |
PCI-7340 Series | PCI |
FW-7344 | IEEE-1394 |
NI PCI-7330 Series | PCI |
PXI-7330 Series | PXI/Compact PCI |
Application Software
NI-Motion 6.1 supports programming NI motion controllers using the following environments:
LabVIEW 7.0
LabVIEW 6.1
LabVIEW 6i
LabVIEW RT 6.0.3
LabVIEW RT 6.1
LabVIEW RT 7.0
LabWindows/CVI
Microsoft Visual C
Microsoft Visual Basic
The NI-Motion 6.1 software is compatible with Windows 2000/NT/XP/Me/98.
Changes and Updates
The latest version of NI-Motion includes several feature changes and updates, including support for the latest hardware, performance enhancements, and several new functions and VIs.
ValueMotion
NI-Motion 6.1 cannot be installed side-by-side with ValueMotion. If you need to continue using ValueMotion, do not install NI-Motion 6.1.
PID Rate Multiplier
You can use this attribute to slow the effective rate of the PID loop for servo motion control. The multiplier is applied to the configured PID rate to create a new lower rate. This attribute has a range of 1 to 10 and the default value is 1. This attribute is available in the Load Advanced Control Parameter VI. In C, this attribute is called NIMC_PID_RATE_MULTIPLIER and is in the flex_load_advanced_control_parameter function.
Slave axis trips on following error when gearing enabled
Previously, when enabling gearing while the master axis position is greater than 65536 or less than -65536, the slave axis tripped on following error. This behavior has been corrected.
Exporting settings for remote systems in MAX
You can now export motion settings in MAX for remote motion controllers that are part of a LabVIEW Real-Time system.
Initialization function/VI changed to set PID gain parameters before enabling axes
The Initialization function and VI have been modified to load the PID gain parameters before an axis is enabled, which ensures that servo motors are enabled in a controlled state.
Find Index (compatibility function) returning error when called
Previously, the compatibility function/VI Find Index returned an error when called on a servo axis. This behavior has been corrected.
Error Codes in the correct range
The error codes returned from some functions are now in the correct range.
Find Reference
Starting a Find Reference move at a limit now works correctly.
Lowpass and notch filter
Using the Load Advanced Control Parameter function/VI, you can now enable a lowpass and notch filter on the PID output. Notch filters remove a narrow band of frequencies around a given point to filter output signals that could cause system instability. Lowpass filters remove output signals above a specific cutoff frequency.
Enhanced system performance
NI-Motion includes several performance enhancements that increase the response time of commands executed by the onboard CPU. For example, the Load RPM and Load RPSPS commands now execute faster.
Default Settings name in MAX
The Default Settings names in MAX have changed as shown in the following table.
NI-Motion 6.0 | NI-Motion 6.1 |
Default 7344 Settings | Default 7340 Settings |
Default 7342 Settings | Default 7340 Settings |
Default 7334 Settings | Default 7330 Settings |
This change in settings names allows a setting object to be used by any controller in a common series. For example, the NI 7342 and NI 7344 are both part of the NI 7340 Series and can share setting objects.
New functions and VIs
In NI-Motion 6.0, the following functions/VIs were not directly accessible. You could access these functions and VIs only through MAX. These functions are now exported and can be included in applications as required. National Instruments continues to recommend using MAX to configure motion controller.
flex_load_advanced_control_parameter (Load Advanced Control Parameter)
flex_configure_stepper_output (Configure Stepper Output)
flex_configure_breakpoint_output (Configure Breakpoint Output)
flex_configure_encoder_polarity (Configure Encoder Polarity)
flex_read_device_temperature (Read Board Temperature)
flex_load_commutation_parameter (Load Commutation Parameter)
flex_config_inhibit_output (Configure Inhibit Outputs)
Known Issues for NI-Motion 6.1
The following sections include late-breaking information concerning NI-Motion 6.1.
LabWindows/CVI 7.0 examples are not installed by NI-Motion 6.1
Manually enabling sinusoidal commutation axes
Axes that are configured for sinusoidal commutation do not enable on boot up when the settings are saved to Flash ROM. You must manually call flex_enable_axis/Enable Axes to initialize the commutation phases and enable the axes.
Hall Effect Sensor support issues
NI-Motion supports only Hall Effect Sensors that are 120° apart, and whose offset between Hall state transition and zero-degree phase is not 0.
Zero velocity in velocity mode
When you run an NI motion controller in velocity mode, changing the velocity from a non-zero value to zero and applying the velocity change by calling Start Motion causes the axis to continue to move at a very slow rate of one count/step every few seconds. To avoid this behavior, decelerate to a stop using the Stop Motion command.
FlexMotion-6C compatibility
For legacy FlexMotion-6C controllers, National Instruments recommends you continue using FlexMotion 5.1.x. NI-Motion 6.1 is not compatible with FlexMotion-6C controllers.
FW-7344
If you disconnect power or remove the IEEE 1394 cable from the FW-7344 without notifying the system beforehand, MAX might crash when it is refreshed. To avoid this, use the Safely Remove Hardware process to remove the FW-7344 by clicking the icon in the lower right part of the Windows task bar near the clock.
Analog gearing with stepper motors
When using analog gearing, and the slave axis is a stepper motor, set the polarity for step and direction to active high.
Virtual devices
Adding or removing virtual devices requires administrator privileges.
Assigning resources to non-default axes
If you assign to one axis the default output and feedback resources of a second axis, and then disable the second axis, the first axis becomes unusable. To avoid this, enable the second axis and assign to it an unused feedback resource.
Initialize controller now unconfigures all vector spaces
Initialize Controller (flex_initialize_controller) now unconfigures all vector spaces.
LabVIEW Real-Time users: flash functions are not accessible from the host
Functions that access flash, when called on a remote device mapped to the host, fail due to a timeout error. The affected functions include Save Defaults, Reset Defaults, Object Memory Manage, and Enable Auto Start. If you want to use these VIs, you must download them to the RT target before you run them. Also, the onboard memory manager tab in MAX does not work on a remote device that is mapped into the system.
Errata
These sections include information about documentation updates that are relevant to NI-Motion 6.1 users.
MID 7604/02 users
Although the MID-7604/7602 User Guide indicates that the polarity for the step and direction lines are active-low, the polarity is active high. The default setting for step and direction in MAX is active low. National Instruments recommends that you change the stepper polarity setting to active high in MAX. Furthermore, you might also need to switch Motor Phase A and Motor Phase B on the Stepper Motors connector on the back of the MID-7604/7602 to maintain the same direction of travel.
Sinusoidal commutation on NI 7350 Series controllers
Sinusoidal commutation is available on axes 1, 2, 5, and 6 only.
Using the Online Manuals
The NI-Motion documentation that ships with the software is in Adobe Acrobat portable document format (PDF). The software documentation is also installed as a Windows online help file.
Note If you do not already have Acrobat Reader version 6.0 or later installed, you can install it from the autorun program on the NI-Motion Software CD, or by clicking the Adobe Web site link. To view the installed PDF documents, click the Start button on the Windows task bar, select Programs»National Instruments»NI-Motion, and select the document you want to open. You can assemble your own printed manuals, printing either the entire documentation set or just the sections relevant to your application. When you are viewing the PDF file, you can click any entry in the table of contents to jump directly to the corresponding manual page. Also, you can jump to major sections within each document quickly and easily by clicking on the bookmarks. When you choose the View»Go To Page option or are printing pages, use the page numbers in the lower left corner of the Acrobat window, not the number displayed in the bottom center of each manual page. |
NI-Motion 6.0.x Contents
The following sections include information about the changes and enhancements included in NI-Motion 6.0.x
Changes and Updates
Support for the NI 7350 Series motion controller
This version of NI-Motion adds support for the latest NI 7350 Series motion controller. The 7350 series motion controller features support for up to eight axes of motion control, buffered breakpoints and high-speed capture, periodic breakpoints (4 MHz), and sinusoidal commutation. Refer to the NI 7350 User Manual for more information about the hardware.
Sinusoidal commutation
This version of NI-Motion adds support for sinusoidal commutation on the 7350 series motion controller. Sinusoidal commutation allows you to use less expensive servo power drives for brushless DC servo motors.
Buffered breakpoints & high-speed capture and periodic breakpoints
This version of NI-Motion adds support for buffered breakpoints, buffered high-speed capture, and periodic breakpoints (4 MHz) on the 7350 series motion controller. Refer to the NI-Motion User Manual for more information.
Updated Find Reference functions
The Find Home and Find Index functions are now replaced with six reference functions, including include Find Reference, Wait Reference, Check Reference, Read Reference Status, Load Reference Parameter, and Get Reference Parameter. Refer to NI-Motion C Reference Help or NI-Motion VI Help for more information.
Updated velocity reporting
The accuracy and precision of velocity reporting is enhanced in NI-Motion 6.0. Also, velocity reporting is more flexible, allowing you to customize it to your specific application. Refer to Load Velocity Filter Parameter in NI-Motion C Reference Help or NI-Motion VI Help for more information.
New location in the start menu
NI-Motion 6.0 is now located under National Instruments in the Windows Programs menu. Click Start»Programs»National Instruments»NI-Motion to launch NI-Motion 6.0.
New NI-Motion default installation directory
NI-Motion 6.0 installs to ..Program FilesNational InstrumentsNI-Motion by default when you install NI-Motion for the first time. If you are upgrading an older version of NI-Motion, the installer uses the existing NI-Motion directory.
New time slice function
NI-Motion 6.0 includes the Load Program Time Slice function, which you can use to programmatically control the time slice for onboard programs. Refer to NI-Motion C Reference Help or NI-Motion VI Help for more information.
New flex_load_run_stop_threshold function and Load Run/Stop Threshold VI
NI-Motion 6.0 includes the flex_load_run_stop_threshold function and Load Run/Stop Threshold VI, which you can use to programmatically set the velocity threshold above which an axis is considered running. Refer to NI-Motion C Reference Help or NI-Motion VI Help for more information.
Updated Documentation
The NI-Motion documentation has been updated to include the following features:
NI-Motion User Manual—Task-based document that provides information and examples on how to create motion control with NI-Motion.
NI-Motion VI Help and NI-Motion C Reference Help—These help files now include additional content.
Getting Started with NI Motion Control—This document is designed to help you install the hardware and software for your NI motion control system, verify the installation, and test the installation with a first move.
New Function Names
The following functions have changed names. Code that uses the older function names continues to work with NI-Motion 6.0 when run on NI 7330 Series and NI 7340 Series motion controllers. You must use the new functions and VIs with the NI 7350 Series motion controllers.
Configure Velocity Filter (flex_load_vel_tc_rs) has been separated into Load Velocity Filter Parameter (flex_load_velocity_filter_parameter) and Load Run/Stop Threshold (flex_load_run_stop_threshold).
Select_MOMO is now Select Momo (change applies to VI only).
Select is now Select Resource (change applies to VI only).
flex_enable_limits is now flex_enable_axis_limit (function name change only).
flex_enable_axes is now flex_enable_axis (function name change only).
flex_read_dac_limit_status is now flex_read_dac_output_limit_status (function name change only).
flex_read_limit_status is now flex_read_axis_limit_status (function name change only)
flex_set_inhibit_momo is now flex_set_inhibit_output_momo (function name change only)
flex_set_limit_polarity is now flex_set_limit_input_polarity (function name change only)
flex_set_breakpoint_momo is now flex_set_breakpoint_output_momo (function name change only)
flex_read_adc is now flex_read_adc16 (function name change only)
flex_set_port_momo is now flex_set_port (function name change only)
flex_jump_label_on_condition is now flex_jump_on_event (function name change only)
flex_wait_on_condition is now flex_wait_on_event (function name change only)
Known Issues for NI-Motion 6.0
The following sections include late-breaking information concerning NI-Motion 6.0.
MAX-only configuration parameters
The following MAX configuration parameters are available only through MAX:
Breakpoint output drive mode (Open Collector vs. Totem Pole)
Sinusoidal commutation configuration
Inhibit output drive modes (Open Collector vs. Totem Pole)
Encoder line polarities
Limit filter enable/disable
Stepper output drive mode (Open Collector vs. Totem Pole)
Updating the firmware on motion controllers
If you have an NI-Motion controller with version 5.2 firmware or earlier, you must download the 6.0 firmware for your controller to work properly with the new version 6.0 software.
Refer to the MAX embedded help for more information about updating your firmware.
Manually enabling sinusoidal commutation axes
Axes that are configured for sinusoidal commutation do not enable on boot up when the settings are saved to Flash ROM. You must manually call Enable Axes to initialize the commutation phases and enable the axes.
Hall Effect Sensor support issues
NI-Motion supports only Hall Effect Sensors that are 120° apart, and whose offset between Hall state transition and zero-degree phase is not 0.
Zero velocity in velocity mode
When you run an NI motion controller in velocity mode, changing the velocity from a non-zero value to zero and applying the velocity change by calling Start Motion causes the axis to continue to move at a very slow rate of one count/step every few seconds. To avoid this behavior, decelerate to a stop using the Stop Motion command.
FlexMotion-6C compatibility
For legacy FlexMotion-6C controllers, National Instruments recommends you continue using FlexMotion 5.1.x. NI-Motion 6.0 is not compatible with FlexMotion-6C controllers.
ValueMotion
NI-Motion 6.0 does not contain ValueMotion. The latest version of ValueMotion is 5.0.2. You can download this version from www.ni.com/support. FW-7344
If you disconnect power or remove the IEEE 1394 cable from the FW-7344 without notifying the system beforehand, MAX might crash when it is refreshed. To avoid this, use the Safely Remove Hardware process to remove the FW-7344 by clicking the icon in the lower right part of the Windows task bar near the clock.
Analog gearing with stepper motors
When using analog gearing, and the slave axis is a stepper motor, set the polarity for step and direction to active high.
Virtual devices
Adding or removing Virtual Boards requires administrator privileges.
Assigning resources to non-default axes
If you assign to one axis the default output and feedback resources of a second axis, and then disable the second axis, the first axis becomes unusable. To avoid this, enable the second axis and assign to it an unused feedback resource.
Initialize controller now unconfigures all vector spaces
Initialize Controller (flex_initialize_controller) now unconfigures all vector spaces.
LabVIEW Real-Time users: flash functions are not Accessible from the host
Functions that access flash, when called on a remote device mapped to the host, fail due to a timeout error. The affected functions include Save Defaults, Reset Defaults, Object Memory Manage, and Enable Auto Start. If you want to use these VIs, you must download them to the RT target before you run them. Also, the onboard memory manager tab in MAX does not work on a remote device that is mapped into the system.
Updates and Features Included in NI-Motion 6.0.1
The following sections include the updates and features included in NI-Motion 6.0.1.
PID Rate Multiplier
You can use this attribute to slow the effective rate of the PID loop for servo motion control. The multiplier is applied to the configured PID rate to create a new lower rate. This attribute has a range of 1 to 10 and the default value is 1. This attribute is available in the Load Advanced Control Parameter VI. In C, this attribute is called NIMC_PID_RATE_MULTIPLIER and is in the flex_load_advanced_control_parameter function.
Slave axis trips on following error when gearing enabled
Previously, when enabling gearing while the master axis position is greater than 65536 or less than -65536, the slave axis tripped on following error. This behavior has been corrected.
Exporting settings for remote systems in MAX
You can now export motion settings in MAX for remote motion controllers that are part of a LabVIEW Real-Time system.
Initialization function/VI changed to set PID Gain parameters before enabling axes
The Initialization function and VI have been modified to load the PID gain parameters before an axis is enabled, which ensures that servo motors are enabled in a controlled state.
Find Index (compatibility function) returning error when called
Previously, the compatibility function/VI Find Index returned an error when called on a servo axis. This behavior has been corrected.
Error codes in the correct range
The error codes returned from some functions are now in the correct range.
Find Reference
Starting a Find Reference move at a limit now works correctly.
Errata
The sections are documentation updates that are relevant to NI-Motion 6.0 users.
MID 7604/02 users
Although the MID-7604/7602 User Guide indicates that the polarity for the step and direction lines are active-low, the polarity is active high. The default setting for step and direction in MAX is active low. National Instruments recommends that you change the stepper polarity setting to active high in MAX. Furthermore, you might also need to switch Motor Phase A and Motor Phase B on the Stepper Motors connector on the back of the MID-7604/7602 to maintain the same direction of travel.
Sinusoidal commutation on NI 7350 Series controllers
Sinusoidal commutation is available on axes 1, 2, 5, and 6 only.
Using the Online Manuals
The NI-Motion documentation that ships with the software is in Adobe Acrobat portable document format (PDF). The software documentation is also installed as a Windows online help file.
Note If you do not already have Acrobat Reader version 5.1 or later installed, you can install it from the autorun program on the NI-Motion Software CD, or you can launch the Acrobat Reader installer manually from the CD, located at adobeAcroReader51_ENU.exe. To view the installed PDF documents, click the Start button on the Windows task bar, select Programs»National Instruments»NI-Motion 6.0, and select the document you want to open. You can assemble your own printed manuals, printing either the entire documentation set or just the sections relevant to your application. When you are viewing the PDF file, you can click any entry in the table of contents to jump directly to the corresponding manual page. Also, you can jump to major sections within each document quickly and easily by clicking on the bookmarks. When you choose the View»Go To Page option or are printing pages, use the page numbers in the lower left corner of the Acrobat window, not the number displayed in the bottom center of each manual page. |