Archived: LabVIEW 2009 SP1 NI SoftMotion Module Known Issues

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Overview

This document has been archived and is no longer updated by National Instruments.

This document contains the LabVIEW 2009 SP1 NI SoftMotion Module known issues that were discovered before and since the release of LabVIEW 2009 SP1 NI SoftMotion Module. Not every issue known to NI will appear on this list; it is intended to only show the severe and more common issues that can be encountered.

Each Issue appears as a row in the table and includes these fields:

Issue ID—Contains the number in at the top of each of the cells in the first column. When you report an issue to NI, you may be given this ID, you can also find IDs posted by NI on the discussion forums or in Knowledge Base articles.

Legacy ID (optional)—Contains the legacy CAR ID, if an issue has a legacy ID from NI's legacy/deprecated bug reporting database. This ID appears on a separate line directly below the Issue ID in the table, or to the right of the Issue ID in the table of contents (separated by a space).

Issue Title (in italics)—Describes the issue in one sentence or less.

Problem Description—Describes the problem in further detail. The brief description given does not necessarily describe the problem in full detail, and it is expected that you might want more information on an issue. If you would like more information on an issue feel free to contact NI (contact information below) and reference the ID number given in the document.

Workaround—Provides possible ways to work around the problem. The workarounds that appear in the document are not always tested by NI and are not guaranteed to resolve the issue. If a workaround refers you to the NI KnowledgeBase, please visit www.ni.com/kb/ and enter that KB number in the search field to locate the specific document.

Reported Version—Contains the earliest version of the NI SoftMotion Module the issue was reported in. If you discover the issue appears in an earlier version of the NI SoftMotion Module than is reported in this field, you can report that to NI (contact information below) to have the field updated.

Resolved Version—Contains the version the issue was resolved or was no longer applicable. If an issue has not been resolved "N/A" will be reported.

Date Added—Contains the date the issue was added to the document (not the reported date).

Contacting NI

Feel free to contact NI regarding this document or issues in the document. If you are contacting NI in regards to a specific issue, be sure to reference the ID number given in the document to the NI representative. The ID number contains the current issue ID number as well as the legacy ID number (use the current ID number when contacting National Instruments). You can contact us through any of the normal support channels including phone, email, or the discussion forums. Visit the NI Website to contact us. Also consider contacting us if you find a workaround for an issue that is not listed in the document so that we can add the workaround to the document.

Known Issues by Category

The following items are known issues in NI SoftMotion 2009 SP1 sorted by Category.

Axis Interface
133066The Control Loop (Fixed Point PID) used in the Axis Interface FPGA VI can cause the motor to oscillate around the target position.
168467Axis Interface examples do not pass the Pos. Error Status Boolean from FPGA to NI SoftMotion.
173423Some Axis Interface examples are not designed to work with motion modules using the Scan Interface programming mode at the same time.
194036Enforce Position Error Boolean is not accessible through the Axis Interface property/invoke nodes.
315478Unbound axes stop working correctly if there is a simulated axis deployed to the same system
Configuration
173646If an axis is camming off of a disabled master axis, no error is reported.
177122Unable to switch to Active mode after removing an axis and associated module from the LabVIEW project.
180007Disabling an axis from the LabVIEW project and trying to switch to Active mode returns error -77054.
201612A torque offset of 10 V results in -10 V when you deploy.
205936NI SoftMotion Stepper Generator VI does not work in a LabVIEW FPGA Module single-cycle Timed Loop at loop rates slower than 40 MHz.
298886Encoder velocity filter distances greater than 1 do not work.
349494After a system reboot or system re-initialization, the position error limit is not properly scaled using user units.
352516Rebinding an axis to a different hardware resource can cause parameters to be outside of the valid range.
EtherCAT
170110Error -2132869095 occurs in large EtherCAT motion systems.
Express VIs
299144Using the Read Faults and Clear Faults Express VIs at the same time could cause a timeout error
Function Blocks
140624No error is returned when the same axis is selected for both camming master and slave.
178558Executing a Reference move to find index with Limit and Home switches not configured can lead to confusing behavior.
186332Executing a Function Block inside of a functional global variable does not work.
303800Executing a Function Block inside of a functional global variable does not work.
192042Simultaneously calling two instances of the Clear Faults function block does not work.
197432Wiring an empty array to the "Position []" input of the read function block causes LabVIEW to crash the second time the VI is executed.
Interactive and Tuning
349432Resetting an axis position on an RT target to +/- 1x10^68 or greater causes the target to lock up.
NI 951x Comm Module
195497Communication watchdog settings over 5 cause the NI 9512 drive interface module to fail.
NI SoftMotion Engine
196515After rebooting the RT target and before enabling the NI SoftMotion axis, a position error is incorrectly reported.
196714Find Index does not work properly when using the NI 9512 drive interface module as an open-loop stepper axis.
221697Contour Move Update Points returns error -77104 (NIMCDM_bufferCanNotWriteError) when used with a Finite contour move.
227752Using a contour table configured for one axis with a multi-axis contour move does not immediately return an error.
252820Starting an Index reference move with an active limit causes the axis to move until the opposite limit is reached.
279080Function Blocks do not execute when called faster than the scan rate.
298886Encoder velocity filter distances greater than 1 do not work.
356333Starting a new move while another move is in progress can cause a hang
356790Clearing a fault on an axis in a coordinate space causes the axis to re-enable
Other
168466NI 9505 examples sample current at the wrong time.
342652Disabling or Enabling one axis in a coordinate space will disable or enable all axes.
Properties and Methods
299384Generating motion profiles that require a large amount of memory returns an ambiguous error.
341045Some Method and Property Inputs do not Have Range Checking
SolidWorks Interface
297066Moving an NI SoftMotion Module project using SolidWorks axes from Windows XP to Windows 7 does not update the log file path.
382922NI SoftMotion for SolidWorks only works with the most recent installed version of the NI SoftMotion Module.
Trajectory Generator
181155Velocity override percentage only applies to current move and is lost when next move starts.
196509Jump in position occurs when velocity, acceleration/deceleration, and acceleration/deceleration jerk are close to the same values.
197894Applying a velocity override of 0% during an arc move causes the move to immediately jump to the final position.
221638Preempting a move in the opposite direction can return error -77070 (NIMCDM_startPendingError).
349617When blending a single axis straight line move after a coordinate arc move, the arc move does not execute
349659Blending coordinate moves using the At Deceleration blend mode can cause velocity spikes



IDKnown Issue
Axis Interface
133066

Return
The Control Loop (Fixed Point PID) used in the Axis Interface FPGA VI can cause the motor to oscillate around the target position.
Due to rounding errors in the Control Loop (Fixed Point PID) VI, it is possible to generate position commands that "backtrack" 1 encoder count or step (i.e. 100, 100, 99, 100, 99, 100, 100, 101, 100...).

Workaround: None.

Reported Version: 2009  Resolved Version: 2011  Added: 08/03/2009
168467

Return
Axis Interface examples do not pass the Pos. Error Status Boolean from FPGA to NI SoftMotion.
The Axis Interface examples do not have the Pos. Error Status Boolean connected to the Axis Interface. This means that NI SoftMotion is not informed of a position error, which results in your motors failing to move without returning any errors.

Workaround: Wire the Pos. Error Status from the FGPA to the Axis Interface Write Execution Data invoke node.

Reported Version: 2009  Resolved Version: 2010 SP1  Added: 08/03/2009
173423

Return
Some Axis Interface examples are not designed to work with motion modules using the Scan Interface programming mode at the same time.
In order to use a motion module with the Scan Interface programming mode, you must deploy and run the FPGA VI before switching the NI Scan Engine to Active mode. Some of the Axis Interface examples assume that the NI Scan Engine is in Active mode before the example is started.

Workaround: The Axis Interface examples for the NI 9514 and NI 9516 demonstrate a more robust design that downloads and runs the FPGA bitfile without assuming that the NI Scan Engine is in Active mode at the start of the example.

Reported Version: 2009  Resolved Version: 2010 SP1  Added: 08/03/2009
194036

Return
Enforce Position Error Boolean is not accessible through the Axis Interface property/invoke nodes.

Workaround: None.

Reported Version: 2009 SP1  Resolved Version: 2010  Added: 12/15/2009
315478

Return
Unbound axes stop working correctly if there is a simulated axis deployed to the same system
The limit switches will always be on and the actual moves don't match the commanded moves.

Workaround: None

Reported Version: 2009  Resolved Version: 2011 f1  Added: 08/17/2012
Configuration
173646

Return
If an axis is camming off of a disabled master axis, no error is reported.

Workaround: None.

Reported Version: 2009  Resolved Version: 2010  Added: 12/15/2009
177122

Return
Unable to switch to Active mode after removing an axis and associated module from the LabVIEW project.
If you had an NI 951x module attached in your LabVIEW project and an associated axis, then removed both from the project. You will not be able to switch to Active mode.

Workaround: Reboot the controller.

Reported Version: 2009  Resolved Version: 2010  Added: 12/15/2009
180007

Return
Disabling an axis from the LabVIEW project and trying to switch to Active mode returns error -77054.
Error -77054 (NIMCDM_axisDisabledError) is thrown when trying to switch from Configuration mode to Active mode when an axis is disabled.

Workaround: Enable the axis, but don't use it, or remove disabled axes from the project.

Reported Version: 2009 SP1  Resolved Version: 2010 SP1  Added: 12/15/2009
201612

Return
A torque offset of 10 V results in -10 V when you deploy.
In the Drive Command tab of the axis properties page, setting a torque offset of 10 V results in -10 V when you deploy.

Workaround: Do not use a 10 V torque offset. Realistic values for torque offset are between +5 V and -5 V.

Reported Version: 2009  Resolved Version: 2012  Added: 07/30/2010
205936

Return
NI SoftMotion Stepper Generator VI does not work in a LabVIEW FPGA Module single-cycle Timed Loop at loop rates slower than 40 MHz.
When the NI SoftMotion Stepper Generator VI is compiled in a single-cycle Timed Loop at rates slower than 40 MHz there is drift between the setpoint and the output steps from the VI.

Workaround: Only use a 40 MHz single-cycle Timed Loop clock with the Stepper Generator VI.

Reported Version: 2009 SP1  Resolved Version: 2012  Added: 07/30/2010
298886

Return
Encoder velocity filter distances greater than 1 do not work.
Setting the Encoder Velocity Filter Distance to a value greater than 1 causes the velocity returned to never update. This is only apparent if you are using the Encoder Velocity Filter Distance only (setting the Velocity Filter Time to 0 to disable it).

Workaround: None.

Reported Version: 2009  Resolved Version: N/A  Added: 07/29/2011
349494

Return
After a system reboot or system re-initialization, the position error limit is not properly scaled using user units.
After rebooting, the position error limit uses the default scaling, and does not take into account any user-specified unit scaling.

Workaround: Redeploy the axis after reboot. The deploy must be a meaningful deploy, meaning that at least one axis parameter must have been changed.

Reported Version: 2009  Resolved Version: 2012 SP1  Added: 08/03/2012
352516

Return
Rebinding an axis to a different hardware resource can cause parameters to be outside of the valid range.
When you bind an axis to a different hardware type than what it was originally configured with, it can cause parameters to fall outside the valid range for the new hardware type.

Workaround: When you are rebinding axes, make sure to check that the axis configuration parameters are still valid.

Reported Version: 2009  Resolved Version: N/A  Added: 08/03/2012
EtherCAT
170110

Return
Error -2132869095 occurs in large EtherCAT motion systems.
Error -2132869095 occurs in large EtherCAT motion systems when transitioning from configuration mode to active mode. The transition completes successfully, but the error message box creates concern.

Workaround: None. The error is benign and can be ignored.

Reported Version: 2009  Resolved Version: 2011  Added: 08/03/2009
Express VIs
299144

Return
Using the Read Faults and Clear Faults Express VIs at the same time could cause a timeout error
If you use the Read Faults and Clear Faults Express VIs at the same time and one of them has an asynchronous timing model and the other is synchronous, you will receive error -70229 (NIMC_communicationTimeoutError).

Workaround: Make sure that the Read Faults and Clear Faults Express VIs are either both synchronous or both asynchronous. Refer to "Using NI SoftMotion Express VIs" in the "NI SoftMotion Module" book of the "LabVIEW Help" for more information about using synchronous and asynchronous Express VIs in the at the same time.

Reported Version: 2009  Resolved Version: 2011  Added: 03/19/2012
Function Blocks
140624

Return
No error is returned when the same axis is selected for both camming master and slave.

Workaround: None.

Reported Version: 2009  Resolved Version: 2010  Added: 08/03/2009
178558

Return
Executing a Reference move to find index with Limit and Home switches not configured can lead to confusing behavior.
The find index routine temporarily enables the limit switches even if they are not configured. If the active states of the limit switches are such that one or both of the limit switches are always "on" then the find index routine finishes without an error and without the index being found.

Workaround: Even if there are no limit switches connected to the system, enable the limit switches and set their active state so that NI SoftMotion sees the limit switches as being connected but always being in the "off" state.

Reported Version: 2009  Resolved Version: 2010 SP1  Added: 08/03/2009
186332

Return
Executing a Function Block inside of a functional global variable does not work.
You cannot use NI SoftMotion function blocks with functional global variables. Doing so will result in the VI not being deployed to the RT target.

Workaround: None.

Reported Version: 2009  Resolved Version: 2011  Added: 08/03/2009
303800

Return
Executing a Function Block inside of a functional global variable does not work.
You cannot use NI SoftMotion function blocks with functional global variables. Doing so will result in the VI not being deployed to the RT target.

Workaround: None.

Reported Version: 2009  Resolved Version: 2011  Added: 08/03/2009
192042

Return
Simultaneously calling two instances of the Clear Faults function block does not work.
Simultaneously calling two instances of the Clear Faults function block may cause both function blocks to permanently get stuck in the busy state.

Workaround: Ensure that the first instance of the Clear Faults function block completes execution (done is TRUE) before executing the next Clear Faults function block.

Reported Version: 2009 SP1  Resolved Version: 2010  Added: 12/15/2009
197432

Return
Wiring an empty array to the "Position []" input of the read function block causes LabVIEW to crash the second time the VI is executed.

Workaround: Make sure that the "Position []" input array is properly initialized.

Reported Version: 2009 SP1  Resolved Version: 2010  Added: 12/15/2009
Interactive and Tuning
349432

Return
Resetting an axis position on an RT target to +/- 1x10^68 or greater causes the target to lock up.
When you reset the axis position past +/- 1x10^68 the target locks up until it is rebooted. This occurs for all axis types.

Workaround: None.

Reported Version: 2009  Resolved Version: N/A  Added: 08/03/2012
NI 951x Comm Module
195497

Return
Communication watchdog settings over 5 cause the NI 9512 drive interface module to fail.

Workaround: Use a watchdog setting of 5 or less, or, set the watchdog timeout to 0 to disable the watchdog timeout.

Reported Version: 2009 SP1  Resolved Version: 2010 SP1  Added: 12/15/2009
NI SoftMotion Engine
196515

Return
After rebooting the RT target and before enabling the NI SoftMotion axis, a position error is incorrectly reported.

Workaround: Enable the NI SoftMotion Axis to clear the position error.

Reported Version: 2009 SP1  Resolved Version: 2010 SP1  Added: 12/15/2009
196714

Return
Find Index does not work properly when using the NI 9512 drive interface module as an open-loop stepper axis.
When trying to find the index of an encoder associated with an open-loop stepper axis, the motor may run on forever attempting to find the Index position.

Workaround: Reset position to 0 before executing the find Index function block or enable the "Enforce Position Error Limit" checkbox on the "Open-Loop" tab of the "Stepper" page in the Axis Configuration dialog box.

Reported Version: 2009 SP1  Resolved Version: 2010 SP1  Added: 12/15/2009
221697

Return
Contour Move Update Points returns error -77104 (NIMCDM_bufferCanNotWriteError) when used with a Finite contour move.
Calling the Update Points method when running a Finite contour move returns error -77104. This error is misleading as the buffer cannot be updated when executing a Finite contour move.

Workaround: To update points when executing a contour move use the Continuous Contour method instead.

Reported Version: 2009  Resolved Version: N/A  Added: 07/30/2010
227752

Return
Using a contour table configured for one axis with a multi-axis contour move does not immediately return an error.
The move will start on the single axis, but as the buffer points are consumed NI SoftMotion eventually returns error -77032 (NIMCDM_bufferNotUpdatedError).

Workaround: None.

Reported Version: 2009  Resolved Version: N/A  Added: 07/30/2010
252820

Return
Starting an Index reference move with an active limit causes the axis to move until the opposite limit is reached.
Starting a Find Index reference move on an active forward or reverse limit correctly returns error –77025 (NIMCDM_limitSwitchActiveError ), but the axis continues moving until the opposite limit switch is encountered.

Workaround: Move off of the active limit before executing a Find Index reference move.

Reported Version: 2009  Resolved Version: N/A  Added: 02/14/2011
279080

Return
Function Blocks do not execute when called faster than the scan rate.
If Function Blocks are used in a loop that is set to run faster than the NI Scan Engine scan rate, the Function Blocks do not update in a synchronized manner and may be skipped.

Workaround: Do not place any Function Blocks in loops that execute faster than the NI Scan Engine scan rate. Either place Function Blocks in Timed loops that are synchronized to the NI Scan Engine, or use the Wait Until Next ms Multiple function to ensure that your loop runs slower than the scan rate.

Reported Version: 2009 SP1  Resolved Version: 2011 SP1  Added: 02/14/2011
298886

Return
Encoder velocity filter distances greater than 1 do not work.
Setting the Encoder Velocity Filter Distance to a value greater than 1 causes the velocity returned to never update. This is only apparent if you are using the Encoder Velocity Filter Distance only (setting the Velocity Filter Time to 0 to disable it).

Workaround: None.

Reported Version: 2009  Resolved Version: N/A  Added: 07/29/2011
356333

Return
Starting a new move while another move is in progress can cause a hang
The hang occurs when a move is in progress and you start another move in the same direction. If the move parameters would not allow the motion to stop at the specified position without moving in the opposite direction, the move does not start and the VI hangs.

Workaround: Abort the VI.

Reported Version: 2009  Resolved Version: N/A  Added: 08/03/2012
356790

Return
Clearing a fault on an axis in a coordinate space causes the axis to re-enable
If you perform a coordinate space enable and an axis in the coordinate space gets a fault, upon clearing the fault, the axis automatically re-enables.

Workaround: Disable the coordinate space before clearing the fault.

Reported Version: 2009  Resolved Version: N/A  Added: 08/03/2012
Other
168466

Return
NI 9505 examples sample current at the wrong time.
The NI 9505 examples try to sample the current halfway between the rising and falling edge of the PWM output signal. Currently, the sample timing is implemented incorrectly, which can result in inaccurate and misleading current measurements when using low inductance loads.

Workaround: None.

Reported Version: 2009  Resolved Version: 2010  Added: 08/03/2009
342652

Return
Disabling or Enabling one axis in a coordinate space will disable or enable all axes.
If you perform a move on a coordinate space and then enable or disable an individual axis, all other axes in the coordinate space will enable or disable.

Workaround: None.

Reported Version: 2009  Resolved Version: N/A  Added: 03/19/2012
Properties and Methods
299384

Return
Generating motion profiles that require a large amount of memory returns an ambiguous error.
Generating a motion profile that requires a large amount of memory, such as a large travel distance with a very small velocity, or generating a move profile with a very small time interval, causes NI SoftMotion to return error -70236 (NIMC_sessionNotValidError). This error indicates that there is not enough memory for the operation to complete with the given parameters.

Workaround: Modify the distance, velocity, or time interval if possible until the error is not returned.

Reported Version: 2009 SP1  Resolved Version: 2011 f1  Added: 07/29/2011
341045

Return
Some Method and Property Inputs do not Have Range Checking
The following SoftMotion methods and properties only support certain values, but NI SoftMotion does not return an error if you use an unsupported value: 1) The Line input of Read Analog Line, Write Analog Line, Read Digital Line, and Write Digital line should not have inputs less than 0 or greater than the number of valid lines. 2) Any method or property with an enum or ring input may not work correctly when using an unsupported value. Refer to the NI SoftMotion Module Help for supported values. 3) The Position Compare Period property should not be set to a value less than 0 (the minimum value depends on your hardware). Function Block and Express VIs also fail to return an error when using these unsupported values. This Known Issue replaces previous Known Issues 117781 and 207784.

Workaround: Only use valid values for all properties and methods.

Reported Version: 2009  Resolved Version: N/A  Added: 03/19/2012
SolidWorks Interface
297066

Return
Moving an NI SoftMotion Module project using SolidWorks axes from Windows XP to Windows 7 does not update the log file path.
By default, a LabVIEW project containing a SolidWorks axis on Windows XP saves log files to "C:\Documents and Settings\<username>\...". If you move this project to a computer running Windows 7, the log file path does not change and the selected path does not exist.

Workaround: Manually change the log file path in the Assembly Properties dialog box. Right-click the SolidWorks assembly in the Project Explorer window and select Properties from the shortcut menu to display the Assembly Properties dialog box.

Reported Version: 2009  Resolved Version: N/A  Added: 07/29/2011
382922

Return
NI SoftMotion for SolidWorks only works with the most recent installed version of the NI SoftMotion Module.
If you have multiple versions of the NI SoftMotion Module installed on the same computer and try to use NI SoftMotion for SolidWorks in one of the earlier versions, the simulation will not start. Everything will work normally in the most recent installed version.

Workaround: Use the most recent installed version of NI SoftMotion for all SolidWorks simulations. For example, if you have SoftMotion 2011 and SoftMotion 2012 installed on your computer, you will have to do all SolidWorks simulations using NI SoftMotion 2012.

Reported Version: 2009  Resolved Version: N/A  Added: 02/28/2013
Trajectory Generator
181155

Return
Velocity override percentage only applies to current move and is lost when next move starts.

Workaround: Reapply velocity override percentage each time a new move is started.

Reported Version: 2009  Resolved Version: 2010  Added: 12/15/2009
196509

Return
Jump in position occurs when velocity, acceleration/deceleration, and acceleration/deceleration jerk are close to the same values.

Workaround: Adjust your move constraints so that acceleration jerk and deceleration jerk are approximately four times higher than the acceleration/deceleration and the acceleration/deceleration are approximately four times higher than velocity.

Reported Version: 2009 SP1  Resolved Version: 2010  Added: 12/15/2009
197894

Return
Applying a velocity override of 0% during an arc move causes the move to immediately jump to the final position.

Workaround: Do not set the velocity override to 0 when performing an arc move.

Reported Version: 2009 SP1  Resolved Version: 2010  Added: 12/15/2009
221638

Return
Preempting a move in the opposite direction can return error -77070 (NIMCDM_startPendingError).
NI SoftMotion automatically performs a decelerate stop move when commanding a move in the opposite direction. If you command a second move before the stop has completed, error -77070 is returned.

Workaround: Wait for the direction to change before starting a new move.

Reported Version: 2009  Resolved Version: N/A  Added: 07/30/2010
349617

Return
When blending a single axis straight line move after a coordinate arc move, the arc move does not execute

Workaround: Do not use both axis and coordinate moves in the same application. If you have to do a single axis move, do a coordinate move that only moves one axis.

Reported Version: 2009  Resolved Version: 2012  Added: 08/17/2012
349659

Return
Blending coordinate moves using the At Deceleration blend mode can cause velocity spikes
The velocity spikes are not very noticeable on servo motors but can cause stepper motors to stall. At high velocities, motion may be halted without any errors or warnings.

Workaround: None

Reported Version: 2009  Resolved Version: 2012  Added: 08/17/2012

Document last updated on 3/5/2013

Glossary of Terms

 

  • Bug ID - When an issue is reported to NI, you may be given this ID or find it on ni.com.  You may also find IDs posted by NI on the discussion forums or in KnowledgeBase articles.
  • Legacy ID – An older issue ID that refers to the same issue.  You may instead find this issue ID in older known issues documents.
  • Description - A few sentences which describe the problem. The brief description given does not necessarily describe the problem in full detail.
  • Workaround - Possible ways to work around the problem.
  • Reported Version - The earliest version in which the issue was reported.
  • Resolved Version - Version in which the issue was resolved or was no longer applicable. "N/A" indicates that the issue has not been resolved.
  • Date Added - The date the issue was added to the document (not the reported date).