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 the LabVIEW 2016 SoftMotion Module sorted by Category.
ID | Known Issue | |||||
---|---|---|---|---|---|---|
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.
| |||||
404235 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.
| |||||
601616 Return | VxWorks RT Controllers do not work with SoftMotion Remote Axes. NI Real-Time Controllers running the VxWorks OS and SoftMotion do not work with SoftMotion Remote Axes or the Interactive Test Panel. They will function correctly until the target is restarted. Workaround: None.
| |||||
EtherCAT | ||||||
300628 Return | Losing connection to an AKD EtherCAT servo drive requires a reinitialize or reboot to recover. Losing connectivity with an AKD EtherCAT servo drive will result in a communication watchdog error -77055 when accessing the axis. This can happen if you power up an AKD EtherCAT drive when the master is already powered, disconnecting the EtherCAT cable on an AKD EtherCAT drive, or powering off the AKD EtherCAT drive at any time. 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. This can also be found in KB 75LA9L6R.
| |||||
607840 Return | SoftMotion Drive Interface (SDI) VIs will not deploy when SoftMotion is not licensed The Axis:Execute Plugin Read and Write methods require licensing and will not deploy to a real-time target if SoftMotion is not licensed. This prevents the use of SDI axes when SoftMotion is not licensed on the development computer. Workaround: None.
| |||||
583192 Return | SDI Axes do not implement the Smoothing attribute on reference moves On other SoftMotion axes, the Smoothing attribute calculates suitable acceleration values when supplied the position and velocity of a move. Because reference moves (home, limit, and index moves) are performed entirely by the EtherCAT drive, SoftMotion does not perform trajectory generation for these moves, and an acceleration and deceleration value of 0 will be used if none is commanded. Workaround: Always give the position, velocity, acceleration, and deceleration values for reference moves with SDI axes. Some drives may error when commanded a homing move with an acceleration of 0.
| |||||
591142 Return | SDI Axes do not have Home Switch Enabled by default or available in Axis Configuration dialog SoftMotion Drive Interface (SDI) Plug-in axes (third party EtherCAT drives) do not have the ability to set the Home Switch as enabled. Even though homing moves will be handled correctly by the drive, the Read: Motion I/O method does not show if the home switch is active. Workaround: Use the Axis property node Enable Home Switch to programmatically enable this setting.
| |||||
615087 Return | SDI Axes can fault when changing move modes SDI Axes can operate in four move modes (homing, velocity, torque, position). While operating in homing, velocity, and torque modes, the position setpoint is not updated in SoftMotion's trajectory generator. When switched back to position mode directly, the position error is calculated as the last known position and the current feedback position. This causes the axis to jump and fault when changing modes. Workaround: Use Reset Position before moving back to using position moves with SoftMotion. The position error on the axis keeps the axis position from resetting to its actual position (0 in the case of a limit move) if the axis is enabled. Disabling the axis allows the position to be reset.
| |||||
623781 Return | SDI Axes may fault when reacting to limit switches SoftMotion's reaction to limit switches may not be compatible with third party EtherCAT drives using SDI Plug-ins. When a limit switch is activated and the drive's stop routine is complete, the drive returns to accepting position setpoints from SoftMotion. The last position setpoint generated by SoftMotion's trajectory generator is used as a valid setpoint, which may either cause the motor to suddenly move away from the limit switch, stay in place without an error, or stay in place with an error. The behavior depends on the drive and the programmed reaction to limit switches. Workaround: If possible, use an immediate, full torque stop reaction to limit switches with SDI drives. This will minimize position difference between the stop location of the motor and SoftMotion's position setpoint.
| |||||
631324 Return | Scan Engine returns to Configuration Mode if accessing EtherCAT SDOs with SDI Axes returns an error The error handling behavior of the SoftMotion Drive Interface (SDI) framework is to transition the Scan Engine to Configuration mode. Any errors that are returned inside an SDI Plug-in's VIs will cause this transition. SDI Plug-ins should be thoroughly tested to remove any EtherCAT SDO read or write operations that will cause a third-party EtherCAT drive to return an error. Workaround: Use the SDI Plug-in's override VIs to modify or remove SDO read or write operations that return an error from the EtherCAT API.
| |||||
632971 Return | SDI Axes do not work after SoftMotion is re-initialized SoftMotion Initialization code can be found in KB 75LA9L6R and is needed to clear Scan Engine faults that would otherwise require power cycling the real-time controller. This code cannot be used with SDI Axes due to configuration data that is not reset. Workaround: Initialize SoftMotion before activating SDI Axes using the SoftMotion Set Plugin Mode VI. If errors occur during operation, restart the real-time controller.
| |||||
643434 Return | SDI Axis position cannot be reset following a home move SDI Axes can operate in four move modes (homing, velocity, torque, position). While operating in homing, velocity, and torque modes, the position setpoint is not updated in SoftMotion's trajectory generator. When switched back to position mode directly, the position error is calculated as the last known position and the current feedback position. After a homing sequence on an SDI Axis, the EtherCAT drive will report a position of 0. SoftMotion will display an axis position error of the last known position. Workaround: First, call a Reset Position to 0 to clear position error. Second, call a Relative Straight Line Move to a position of 0 to return to position mode. Third, call a Reset Position to 0.
| |||||
Ethernet Steppers | ||||||
585856 Return | Ethernet Steppers do not implement the Smoothing attribute on moves On other SoftMotion axes, the Smoothing attribute calculates suitable acceleration values when supplied the position and velocity of a move. Ethernet Steppers do not calculate this velocity and will apply the last used values for acceleration and deceleration. Workaround: Always give the position, velocity, acceleration, and deceleration values for moves with Ethernet Stepper resources.
| |||||
633432 Return | Error -52007 can be generated when accessing Ethernet Stepper resources in parallel When accessing Ethernet Stepper resources in parallel with the SoftMotion API (Express VIs or Property and Method Nodes), it is possible to receive a timeout error from SoftMotion. This occurs very infrequently, and retrying the operation when the error is returned should result in successful execution. This is separate from an earlier issue (CAR 579212) which resulted in Error -52007 being thrown when using multiple Ethernet Stepper resources on the same network. Workaround: There are two workarounds for this issue. 1) Retry the API call when the error is returned. 2) Only access Ethernet Stepper resources in series from LabVIEW code.
| |||||
Express VIs | ||||||
612846 Return | SoftMotion Express VIs cannot be used with more than one coordinate resource When using the SoftMotion Express VI API to command moves with Coordinate Spaces, do not wire two different Coordinate Spaces to the resource input of one Express VI. Workaround: Use a unique Express VI instance for each Coordinate Space.
| |||||
NI SoftMotion Engine | ||||||
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.
| |||||
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.
| |||||
325655 Return | Starting a move that has a final position larger than 1E16 will produce error -77109 (NIMCDM_parametersDefineOutOfRange). 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.
| |||||
595072 Return | Position Error resets without being commanded. SoftMotion's Position Error parameter is the difference between the position setpoint and position feedback of an axis. This issue affects all axis types and causes the position error to be reset when commanding moves. Workaround: None.
| |||||
600105 Return | Position move setpoint can jump out of range on move start. On multi-core real-time controllers, it is possible for position data to be corrupted before a move is executed. For more information, visit the following site. Workaround: None.
| |||||
602055 Return | Wait Until Done VI completes execution before move is complete. The SoftMotion Wait Until Done VI is used as a blocking function to determine when the current move reference is complete. The Wait Until Done VI does not correctly evaluate the move complete conditions and completes execution before the move is complete. Workaround: Add a two Scan Engine cycle period delay after the Wait Until Done VI to ensure that the axis has successfully finished the move.
| |||||
606584 Return | Simulated Axes can cause Scan Engine faults if using a low scan period. When using Scan Engine periods lower than 5 ms on some targets, SoftMotion simulated axes can cause the Scan Engine to fault. Workaround: Increase the Scan Engine period.
| |||||
612844 Return | Simulated Axes do not work with Windows executables SoftMotion Simulated Axes will not work when a VI with SoftMotion code is built into a Windows executable. The deployment process is not compatible with standalone LabVIEW executables, and Error -77005 will be returned from any SoftMotion API operation on the axis. Workaround: None.
| |||||
Properties and Methods | ||||||
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. Function Block and Express VIs also fail to return an error when using these unsupported values. 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). Workaround: Only use valid values for all properties and methods.
| |||||
408297 Return | LabVIEW crash when operating on an NI SoftMotion reference while destroying it. Workaround: Don't operate on a reference that you are destroying. In applications where you create a motion reference once and destroy it at the end of the application, you can remove the Destroy Motion Reference VI and let LabVIEW destroy it for you automatically.
| |||||
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.
| |||||
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.
| |||||
447463 Return | Error -77108 with Specific Combinations of Target Position, Acceleration, and Velocity. Rarely SoftMotion can fail to calculate a valid motion profile with specific combinations of Target Position, Acceleration, Velocity, Jerk or other move parameters. Workaround: Make a minor change to any of the move parameters, and SoftMotion should be able to calculate a valid profile.
| |||||
478105 Return | Straight Line Move in Velocity Mode will not allow the velocity to change to zero When using the Straight Line Move set to Velocity Mode, updating the velocity to zero does not work. This affects moves for both single axis and coordinate space. Workaround: Instead of commanding zero velocity to the move, call a Stop Move instead. To begin moving again, command a new Straight Line Move.
|
Document last updated on 11/21/2017.