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 2009 SP1 sorted by Category.
ID | Known 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.
| |||||
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.
| |||||
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.
| |||||
194036 Return | Enforce Position Error Boolean is not accessible through the Axis Interface property/invoke nodes. Workaround: None.
| |||||
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 | ||||||
173646 Return | If an axis is camming off of a disabled master axis, no error is reported. Workaround: None.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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 | ||||||
140624 Return | No error is returned when the same axis is selected for both camming master and slave. Workaround: None.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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 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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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 | ||||||
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.
| |||||
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.
| |||||
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.
| |||||
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 | ||||||
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.
| |||||
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.
| |||||
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.
| |||||
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.
| |||||
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
|
Document last updated on 3/5/2013