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 NI SoftMotion 2010 SP1 sorted by Category.
ID | Known Issue | |||||
---|---|---|---|---|---|---|
AKD Servo Drive | ||||||
225222 Return | On an AKD axis, Clear Faults must be called twice to clear the fault state in some cases. Attempting to clear a fault before the cause of the fault is resolved results in needing to call Clear Faults twice to clear the fault state after resolving the fault. Workaround: None.
| |||||
328711 Return | Turning a motor by hand while the AKD EtherCAT drive is disabled can cause an axis jump upon re-enable. The axis jump occurs when the AKD EtherCAT drive is hardware disabled (controlled by pin X8/4) and software enabled. If the motor is moved by hand and then the drive is hardware enabled, the axis will jump back to its original position. This only happens when the AKD is being used in EtherCAT mode. 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 prevent this issue. For NI SoftMotion 2011 and later, you can reinitialize the NI SoftMotion Module to prevent this issue. 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. If you are using the enable pin on the AKD (X8/4) as an emergency stop button, you can also wire the emergency stop to pin X8/6. Then in the Axis Configuration menu under the Digital I/O tab, map DI4 to E-Stop. This will force you to reset the EtherCAT master in an emergency stop situation.
| |||||
332581 Return | AKD drive faults get returned with the wrong prefix. AKD drive faults are returned to SoftMotion in the form 0106xxxx. However, in the SoftMotion help, the faults are in the form 0101xxxx. Workaround: If you receive a 0106xxxx fault, you can find the description in the LabVIEW help at NI SoftMotion Module » NI SoftMotion Module How-To » NI SoftMotion Faults by looking up the corresponding 0101xxxx fault.
| |||||
350236 Return | Using the slider tuning panel with high gains can cause LabVIEW to crash The gains needed to crash LabVIEW are usually so high that it causes the system to become unstable. The slider tuning panel is only available for AKD EtherCAT drives. Workaround: None
| |||||
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.
| |||||
288167 Return | NI SoftMotion Stepper Drive (NI 9501) axis interface example FPGA VI Drive Enable Boolean has incorrect mechanical action. The Drive Enable Boolean mechanical action in the shipping example is set to "Latch When Pressed." This causes the drive to stay disabled. Workaround: Change the mechanical action of the Drive Enable Boolean on the FPGA VI from "Latch When Pressed" to "Switch When Pressed." You can access this setting by selecting "Mechanical Action>>Swich When Pressed" from the front panel control shortcut menu.
| |||||
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
| |||||
Configuration | ||||||
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.
| |||||
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.
| |||||
296215 Return | Encoder velocity threshold setting does not work correctly for negative velocities. The encoder velocity threshold status is never TRUE for a negative velocity. Workaround: Monitor the negative velocity in your code separately.
| |||||
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.
| |||||
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 | ||||||
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.
| |||||
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 | ||||||
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.
| |||||
Function Blocks | ||||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
256062 Return | Changing the names of axes in a coordinate can lead to errors in the Interactive test panel. Changing the name of axes used in a coordinate can lead to unexpected behavior in the form of difficult to clear errors in the Interactive test panel. When you change the name of the axis, NI SoftMotion updates the coordinate containing it with the new axis name. However, immediately going to the Interactive test panel on the renamed axis does not deploy the coordinate, so the NI Scan Engine fails to transition to Active mode with error -77112 (NIMCDM_axisInCoordinateNotFoundError). Closing interactive and deploying the coordinate still returns this error in the Interactive test panel as the system is in Configuration mode and the old error has not been updated and cleared. Workaround: Deploy the coordinate with the renamed axis and switch back to Active mode before using the axis in the Interactive test panel.
| |||||
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.
| |||||
286804 Return | The Periodic Position Compare function ignores user units. The Periodic Position Compare period input does not use the specified counts per unit value to convert the value. Instead, it interprets the input as encoder counts in all cases. Workaround: Convert the period input to encoder counts from counts per unit.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
315959 Return | SolidWorks proximity sensors are not working correctly with the NI SoftMotion Module. Workaround: Use a different sensor type in your SolidWorks assembly, if possible.
| |||||
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.
| |||||
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.
| |||||
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
| |||||
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