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.
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).
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.
The following items are known issues in LabVIEW 2012 NI SoftMotion Module sorted by Category.
ID | Known Issue | |||||
---|---|---|---|---|---|---|
AKD Servo Drive | ||||||
300628 Return | Disconnecting the EtherCAT cable on an AKD EtherCAT servo drive requires a reinitialize or reboot to recover. Workaround: Reinitialize the NI SoftMotion Module or reboot the controller. Refer to the Reinitialize example in the <labview>\examples\Motion\ConfigurationAPI\Reinitialize directory for an example showing how to programmatically reinitialize the NI SoftMotion Module.
| |||||
Axis Interface | ||||||
356868 Return | User-defined variable axes cannot easily switch between single and periodic position compare. User-defined variable (UDV) axes should be able to use the Periodic Position Compare FPGA VI to perform both periodic and single compare operations by using a period of 0 to enable a single compare. However, a period of 0 is not currently supported by the NI SoftMotion Module. Workaround: You can use a pulse width of 1 and a period of 1 to generate a single compare with the Periodic Position Compare VI.
| |||||
382941 Return | Certain limit switch configurations may cause your drive to enable when a bitfile is loaded to the FPGA. When using a User-Defined Variable Axis, if any of the limits or home switches are enabled, have a Stop Mode of Immediate, and have an Active State of On, the NI SoftMotion Engine transitions the state machine to Operation Enable when a bitfile is loaded to the FPGA. This may cause your drive to enable. Workaround: Make sure that the NI Scan Engine Mode is set to Configuration mode when loading the bitfile.
| |||||
Configuration | ||||||
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.
| |||||
305115 Return | Setting the closed-loop stepper correction profile velocity to 0 returns error -77037 (NIMCDM_invalidDataError). When configuring a closed-loop stepper axis using the instructions found in the "Configuring a Closed-Loop Stepper Axis (NI SoftMotion Module)" topic in the NI SoftMotion Help, error -77037 is returned when the correction profile velocity is set to 0 when you attempt to enable the drive. Workaround: Set the correction profile velocity to 0.01 instead of 0.
| |||||
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.
| |||||
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.
| |||||
360277 Return | When the NI Scan Engine is set to boot into Configuration Mode and you try to deploy changes to an axis, you will get error -70235 (NIMC_resourceNotSet) This error only occurs when you set the RT target to boot into Configuration Mode and you try to deploy new settings to an axis while still in Configuration Mode. Workaround: If you have already received error -70235, you must reboot the target to clear it. To avoid getting this error, either have the NI Scan Engine boot into Active Mode or switch the NI Scan Engine from Active Mode and then back to Configuration Mode before deploying changes to an axis.
| |||||
370414 Return | Inverting the Drive Command Output on the NI 9514 or NI 9516 can cause the Drive Command signal to continuously output +10V or -10V When you have the "Invert" button checked on the "Drive Command" page of the Axis Configuration dialog and the Drive Command output of the NI 9514 or NI 9516 goes to either +10V or -10V, it is possible that the Drive Command will stay stuck at one of these values. This will cause your motor to spin out of control. Workaround: Set the Positive Torque Lim to be any value less than 10V and the Negative Torque Lim to be any value greater than -10V.
| |||||
370476 Return | Velocity Feedforward (Vff) and Acceleration Feedforward (Aff) do not get scaled by the Encoder Counts Per Unit setting. When tuning a servo system, the values of Vff and Aff are higher or lower than you expect if the Encoder Counts Per Unit setting is anything other than 1. Also, if you have a tuned system and change the Encoder Counts Per Unit Setting, the tuning changes if you do not also scale Vff and Aff by the same scale factor. Workaround: If you change Encoder Counts Per Unit, make sure to also change Vff and Aff by the same scale factor. For example, if you tuned your motor with Encoder Counts Per Unit set to 2 and then change it to 100, you would have to scale your Vff and Aff values by 50.
| |||||
EtherCAT | ||||||
296911 Return | Axis properties cannot be set while in configuration mode for NI 951x modules in a 9144 chassis. Any axis properties configured using property nodes when the NI Scan Engine is in Configuration mode are reset to the values configured in the Axis Configuration dialog box when the NI Scan Engine switches to Active mode. Workaround: Any axis properties that cannot be set in Active mode must be configured using the Axis Configuration dialog box rather than the NI SoftMotion axis property node.
| |||||
300628 Return | Disconnecting the EtherCAT cable on an AKD EtherCAT servo drive requires a reinitialize or reboot to recover. Workaround: Reinitialize the NI SoftMotion Module or reboot the controller. Refer to the Reinitialize example in the <labview>\examples\Motion\ConfigurationAPI\Reinitialize directory for an example showing how to programmatically reinitialize the NI SoftMotion Module.
| |||||
332899 Return | Powering an AKD EtherCAT slave when the master is already powered can put NI SoftMotion into a bad state. If you power up an AKD EtherCAT slave when the master is already powered, you may get error -77055 (NIMCDM_axisCommunicationWatchdogError) when trying to enable the drive. Workaround: Reboot the EtherCAT master. Prior to NI SoftMotion 2011, you can switch the NI Scan Engine from Active to Configuration mode, then back to Active mode to clear the error. For NI SoftMotion 2011 and later, you can reinitialize the NI SoftMotion Module to clear the error. Refer to the Reinitialize example in the <labview>\examples\Motion\ConfigurationAPI\Reinitialize directory for an example showing how to programmatically reinitialize the NI SoftMotion Module.
| |||||
Express VIs | ||||||
304109 Return | Trying to use NI SoftMotion Express VIs that are not supported in NI SoftMotion Module Lite returns an ambiguous error. The error returned is "This node is not executable because an unexpected error occurred during code generation." This is because the selected Express VI is only supported in NI SoftMotion Module Standard or NI SoftMotion Module Premium. Go to ni.com/info and enter nismpkg for more information about the NI SoftMotion Module options. Workaround: None.
| |||||
349912 Return | A function block and express VI with the same caption can cause the function block to break. If you have a function block and express VI on your block diagram with the same caption and you change the timing model of the express VI, the function block will break. When you double-click the function block, you receive error 56004: Cannot configure function block properties. Workaround: Make sure that function blocks and express VIs do not have the same caption. If you encounter this error, replace the function block with a new function block of the same type and then change the caption.
| |||||
Function Blocks | ||||||
349912 Return | A function block and express VI with the same caption can cause the function block to break. If you have a function block and express VI on your block diagram with the same caption and you change the timing model of the express VI, the function block will break. When you double-click the function block, you receive error 56004: Cannot configure function block properties. Workaround: Make sure that function blocks and express VIs do not have the same caption. If you encounter this error, replace the function block with a new function block of the same type and then change the caption.
| |||||
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.
| |||||
Motor Control VIs | ||||||
364012 Return | The Periodic Position Compare FPGA VI does not work correctly when the period input is 2. When the compare period is 2 and the pulse width is 1, the period of the compare output will be 4 instead of 2. Compare periods greater than 2 work as expected. Workaround: None.
| |||||
369535 Return | The Position Compare FPGA VI does not work properly when using the Digital Output polymorphic instance. When you enable position compare, the compare output resets. Workaround: The Position Compare FPGA has to be modified for proper operation. 1. Open the VI, 2. Find the subVI called nism.ApplyCompareAction.vi, 3. Wire the reset input of this VI directly to the reset control on the block diagram instead of going through the OR gate.
| |||||
371917 Return | The Current Limit Algorithm FPGA VI only clamps positive currents and can clamp the current at the wrong value Workaround: If possible, upgrade to SoftMotion 2012SP1. If you can't upgrade, please contact National Instruments for a workaround.
| |||||
376990 Return | The Spline Engine and Step Generator FPGA VIs in the Motion » NI SoftMotion » Advanced palette don't work when dropped from the palette. You can drop these VIs on your block diagram and compile a bitfile, but they do not give you the correct outputs. Workaround: Open a shipping example that uses one of these VIs and drag the VI from the shipping example block diagram to your block diagram.
| |||||
381344 Return | The Pulse Width Modulation FPGA VI does not behave as expected while in a reset state. The PWM output of both the center aligned and left aligned versions is TRUE only if the duty cycle input is nonzero when the reset input goes TRUE. If the duty cycle is zero when reset input goes TRUE, the PWM output is FALSE. Workaround: The best workaround is to not use the reset input if it isn't necessary. If you need to use the reset input, then you must ignore the PWM output during a reset state. When the reset input goes FALSE, the Pulse Width Modulation VI operates properly again.
| |||||
383688 Return | The Position Capture FPGA VI cannot be used more than once in a top-level FPGA VI. This issue only applies to the Single » Digital Input polymorphic instance. One of the subVIs within this VI is set to non-reentrant execution and therefore can only be used once in a single-cycle timed loop. Workaround: Open up the Digital Input polymorphic instance of the Position Capture VI and change the nism.isCaptureTriggered.vi to be reentrant.
| |||||
NI 951x Comm Module | ||||||
370414 Return | Inverting the Drive Command Output on the NI 9514 or NI 9516 can cause the Drive Command signal to continuously output +10V or -10V When you have the "Invert" button checked on the "Drive Command" page of the Axis Configuration dialog and the Drive Command output of the NI 9514 or NI 9516 goes to either +10V or -10V, it is possible that the Drive Command will stay stuck at one of these values. This will cause your motor to spin out of control. Workaround: Set the Positive Torque Lim to be any value less than 10V and the Negative Torque Lim to be any value greater than -10V.
| |||||
380860 Return | Using multiple NI 951x modules in Scan Interface mode can sometimes cause fault 8130: NI 951x Heartbeat Communication Fault. This fault most often occurs when deploying new settings to the module, but can also occur when switching from Configuration mode to Active mode. Workaround: Upgrade to the LabVIEW 2012 SP1 NI SoftMotion Module. If you see this fault in versions prior to the LabVIEW 2012 NI SoftMotion Module and increasing the Watchdog Timeout in the Axis Configuration dialog box does not fix the problem, please contact NI support.
| |||||
NI SoftMotion Engine | ||||||
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.
| |||||
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.
| |||||
231035 Return | You can preempt a coordinate move with an axis move. NI SoftMotion currently allows you to preempt a coordinate move with an axis move. This is unsupported and can lead to undesired effects on the motion system. Workaround: Stop the coordinate move before executing a move on an axis resource.
| |||||
231425 Return | Profile Complete and Move Complete are True when the drive is disabled during a move. The Profile Complete status is incorrectly set to TRUE when the drive is disabled during a move. Because the Profile Complete status is always included in the Move Complete Criteria, Move Complete is also true when the drive is disabled even when it is not included in the Move Complete Criteria. Workaround: None.
| |||||
235309 Return | Relative to Capture moves on a coordinate resource function as regular relative moves. Coordinate resources do not support the Relative to Capture straight-line move mode. Using this move mode on a coordinate move is the same as executing a straight-line move using the Relative mode. Workaround: None.
| |||||
236390 Return | NI 951x Module Cannot Clear Position Error When Performing Coordinate and Single Axis Moves on the Same Axis. When performing both coordinate and single axis moves in the same VI it is possible to have a position error occur that cannot be cleared even by switching the NI Scan Engine to Configuration mode and back to Active mode. The error typically occurs after writing a setpoint greater than the maximum step length specified on the module. Workaround: Perform individual axis moves by using a coordinate move that only moves a single axis.
| |||||
251637 Return | Distributing an NI SoftMotion application to a Windows machine results in a missing DLL. Creating a LabVIEW executable and installer for an application using the LabVIEW NI SoftMotion Module and running it on a computer without NI LabVIEW installed results in nimclv.dll being reported missing. Workaround: Copy dm*, nism*, nimc* from [labview]\resource to the same directory as the executable.
| |||||
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.
| |||||
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.
| |||||
325655 Return | Starting a move that has a final position larger than 1E16 will produce error -77109 (NIMCDM_parametersDefineOutOfRange). Workaround: None.
| |||||
327032 Return | Disabling a drive or performing an immediate stop could cause the reported commanded velocity to be incorrect. If you disable the drive or perform an immediate stop during a move, the reported commanded velocity does not change from the last reported value. The actual commanded velocity to the drive is still correct. Workaround: None
| |||||
329767 Return | The Reported Velocity is incorrect for certain axis types. If you are using an NI 951x axis, an AKD EtherCAT axis, or an unbound axis, the reported velocity does not correctly use the Steps Per Unit setting in the Axis Configuration menu. Workaround: In your code, multiply the returned velocity by the value of Steps Per Unit to get the actual velocity.
| |||||
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.
| |||||
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.
| |||||
Other | ||||||
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.
| |||||
342896 Return | Disabling an axis in a coordinate space can cause a timeout error. If you have two or more axes in a coordinate space and you use the Power function block, express VI, or method to enable the coordinate space, you will get error -70027 when trying to disable any individual axis. You will still be able to disable all of the axes together. Workaround: Enable/Disable the individual axes instead of enabling/disabling the coordinate space.
| |||||
357667 Return | Relative to capture moves do not work on user-defined variable (UDV) axes. When performing a relative to capture move with a UDV axis, the move always occurs as if the capture was at position 0. Workaround: Implement your own relative to capture move by reading the captured position, adding your desired offset, and performing an absolute move to that position.
| |||||
Properties and Methods | ||||||
319192 Return | Certain axis properties cannot be read or written programmatically. The following axis properties can be set in the Axis Configuration page, but not programmatically from LabVIEW: Brake, Use Multiple Gain Sets, AR Filter Type, Digital Output Mapping, DAC Scaling Coeff, Analog Input Scaling units, Encoder Units, and Stepper Units. If you try to read or write these properties from LabVIEW, you will either get error -77037 (NIMCDM_invalidDataError) or -77004 (NIMCDM_invalidAttributeError). Workaround: Set these properties using the Axis Configuration dialog box.
| |||||
335246 Return | A Velocity-Time contour move must have a velocity change between move segments. When doing a Velocity-Time contour move with the Solve Profile method, you will get error -77108 (NIMCDM_parametersDefineImpossibleMove) if you have two consecutive move segments with the same velocity. Workaround: Making the velocities differ by even a small amount allows you to meet the timing constraints.
| |||||
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.
| |||||
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.
| |||||
378476 Return | NI SoftMotion for SolidWorks does not work if only LabVIEW and the NI SoftMotion Module 2012 are installed. When only LabVIEW and the NI SoftMotion Module 2012 are installed, you will see errors about missing deployment plugins when trying to deploy a SolidWorks project item. Workaround: Install either NI-Motion 8.4 or the NI LabVIEW Real-Time Module for the necessary support to use NI SoftMotion for SolidWorks. Note that this issue is only for the NI SoftMotion Module 2012 and in every previous and future release of SoftMotion, neither NI-Motion nor the LabVIEW Real-Time Module are necessary to use NI SoftMotion for SolidWorks.
| |||||
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.
| |||||
Trajectory Generator | ||||||
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.
| |||||
296142 Return | Blending a Spherical or a Helical arc to a Circular arc causes velocity spikes when used with the "At Decelerate" blend mode. This is an error in reporting only and does not have an adverse affect on the motion system. Workaround: None.
| |||||
330144 Return | The Solve Profile method can fail on moves that have an acceleration greater than the deceleration. The Solve Profile method may fail on a move with a much faster acceleration than deceleration. On a real-time target, NI SoftMotion returns error -77108 (NIMCDM_parametersDefineImpossibleMove). On Windows, LabVIEW may crash. Workaround: None
| |||||
374856 Return | Large position error values can cause position oscillations when in closed-loop stepper mode. These oscillations only occur when travelling in one direction and only if the position error is greater than ~0.25 revolutions. Workaround: Use a motor that is properly sized for your application to eliminate the need for large position error corrections.
|
Document last updated on 3/5/2013