From 11:00 PM CDT Friday, Nov 8 - 2:30 PM CDT Saturday, Nov 9, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From 11:00 PM CDT Friday, Nov 8 - 2:30 PM CDT Saturday, Nov 9, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
Basics
Installation and Licensing
How To
Tips and Tricks
Debugging
Can I do this?
Design Analysis and Optimization
Motion Control Concepts
NI SoftMotion for SolidWorks enables mechanical, electrical and control engineers to collaborate by creating a virtual prototype of the motion control system that integrates mechanical simulation, motion control software, and sensor feedback. As soon as you have a CAD drawing, you can begin prototyping the machine design long before you incur the expense of building a physical machine. The new tools enable you to:
A variety of self paced tutorials, web training videos, and software help documentation are available to help you get started and become proficient in virtual prototyping.
Self Paced Tutorials
LabVIEW Getting Started Tutorials and Guided Tour
Self Paced: Connect to SolidWorks and Create a Virtual Prototype
Getting Started Guide for NI SoftMotion for SolidWorks
Free Web Based Training Videos
LabVIEW-SolidWorks Digital Prototyping Training
Demonstration Examples
To find shipping examples that demonstrate all of the different motion commands available, launch LabVIEW 2009 and navigate to Help>Find Examples. Then in the Example Finder go to Toolkits and Modules>Motion Control>NI SoftMotion. You can find SolidWorks specific examples under the Mechatronics>SolidWorks subfolder.
Software Help Documentation
To access the online help, launch LabVIEW and navigate to Help>>Find LabVIEW Help. Under the Contents section, expand the NI SoftMotion Module tab and then go to Motion Resources>>Working with SolidWorks Assemblies.
For more resources, visit these sites:
Virtual Prototyping Community Site
Post your questions and comments to the Virtual Prototyping Community portal. Please also use the community site to discuss your application, share tips and tricks and comment on the virtual prototyping tools.
The following software versions are required:
• NI LabVIEW 2009 f2 (32-bit) or later (base, full, or professional)
• NI SoftMotion Module Standard or Premium for LabVIEW (purchase includes activation for NI SoftMotion for SolidWorks)
• SolidWorks 2009 Service Pack 2.1 or later or SolidWorks 2010 and SolidWorks Motion Simulation (included with SolidWorks Premium, Simulation Premium, or Simulation Professional)
LabVIEW and the NI SoftMotion Module are both available for 30-day evaluation and can be purchased online. To purchase or evaluate SolidWorks, contact your local reseller.
Purchase | Evaluation | |
LabVIEW 2009 | LabVIEW 2009 | LabVIEW 2009* |
NI SoftMotion Module | NI SoftMotion Module** | NI SoftMotion Module** |
SolidWorks 2009 (SP2.1 or higher) or SolidWorks 2010 | Contact your SolidWorks reseller | Contact your SolidWorks reseller |
* You can upgrade your evaluation version to a fully licensed version without reinstalling. To do this, purchase the software and apply the activation code you receive using the NI License Manager.
** Includes NI SoftMotion for SolidWorks.
Note: You will be prompted to install critical updates during the installation. Please apply these updates or follow these links to download the updates manually.
LabVIEW NI SoftMotion Module 2009f1 Patch
Yes. The NI SoftMotion Module and NI SoftMotion for SolidWorks is part of the Control Design and Embedded Systems option for the site academic license (more details).
Learn more about the NI product offering for education and research.
NI SoftMotion for SolidWorks requires an additional activation that must be applied in addition to the NI SoftMotion activation. This additional activation is included at no additional charge with the purchase of the NI SoftMotion Module Standard or Premium. The activation is done by applying a special serial number.
Complete the following steps to activate this product:
1. Launching the NI License Manager (Start>Programs>National Instruments>NI License Manager).
2. Click Activate in the dialog box that appears. The NI Activation Wizard launches.
3. Select Automatically Activate through a secure Internet connection and click Next.
4. Enter the serial number S12M00101 next to LabVIEW 2009 NI SoftMotion for SolidWorks.
5. Follow the prompts to complete the activation process.
6. Restart LabVIEW.
Notes:
After launching SolidWorks, you must enable the Motion Simulation add-in enabled from the Tools menu in SolidWorks. If you place a checkmark in both the left and right checkboxes then you don’t have to re-enable the add-in each time you use NI SoftMotion for SolidWorks.
First, configure the motors in your SolidWorks motion analysis study for distance mode and confirm that the simulation is working correctly in SolidWorks.
Now you can link to the assembly from LabVIEW and use NI SoftMotion function blocks to create motion profiles using any available move type. Complete the following steps to add a SolidWorks assembly to the LabVIEW Project:
For screenshots of the steps above and instructions on what to do next, open this self-paced hands on training guide.
Details:
SolidWorks simulations start when the NI Scan Engine mode switches from Configuration mode to Active mode and stop when the NI Scan Engine switches from Active mode to Configuration mode.
Starting a SolidWorks Simulation
After you add a SolidWorks assembly to the Project you can only start the SolidWorks simulation using LabVIEW, not by clicking the Calculate button in SolidWorks.
You can start the SolidWorks simulation in one of the following ways:
1.) Deploy an NI SoftMotion resource either for the first time or with updated information. You can deploy all resources at the same time by clicking each resource while pressing <Ctrl>, then selecting Deploy from the shortcut menu.
Note: If you deploy an axis but have not made any configuration changes to any of the associated resources, the simulation does not start because the NI Scan Engine did not switch to Active mode. In this case you must manually switch to Active mode using one of the other methods.
2.) Switch to Active mode manually by right-clicking the SolidWorks assembly in the Project Explorer window and selecting Utilities»Scan Engine Mode»Switch to Active from the shortcut menu. You must have already deployed your motion items for this to work correctly.
3.) Switch to Active mode manually using the NI Distributed System Manager. You must have already deployed your project information for this to work correctly.
Notes:
Stopping a SolidWorks Simulation
You can stop the simulation in SolidWorks in one of the following ways:
1.) Switch to Configuration mode manually by right-clicking the SolidWorks assembly item in the Project Explorer window and selecting Utilities»Scan Engine Mode»Switch to Configuration from the shortcut menu.
2.)Switch to Configuration mode manually using the NI Distributed System Manager.
Note: It is not recommended to click Stop from within SolidWorks. In this situation, NI SoftMotion returns fault FF82 (External Termination Fault) on all axes and the NI Scan Engine remains in Active mode, but SolidWorks does not perform further motion calculations. You must manually switch to Configuration mode, then back to Active mode to restart a simulation.
You can associate Measurements sensors configured for your SolidWorks assembly with available digital inputs and limit inputs. Measurement sensors monitor a dimension in your SolidWorks assembly. For proper operation, sensors you configure in SolidWorks must have a properly configured alarm condition. When the specified condition is met, the alarm state changes to TRUE. You can read this state using the Digital Line or Motion I/O method of the Read function block, depending on what input type you have mapped the sensor to in the Map Sensors dialog box.
To open the configuration dialogue, right-click the SolidWorks assembly item in the LabVIEW project and select Map Sensors.
Notes:
To add friction to a mate in SolidWorks, right-click the mate and select Edit Feature. Then click on the Analysis tab, check the Friction box and configure the friction parameters. Refer to the SolidWorks help documentation for details.
Note: You can also simulate friction by adding a 3D Contact to your motion study via the Motion Manager Toolbar. However, simulation performance is typically much slower when 3D Contacts are used.
To add spring and damper effects (mechanical compliance) to a mate in SolidWorks, right-click the mate and select Edit Feature. Then click on the Analysis tab, check the Bushing box and configure the stiffness, damping and preload force parameters. Refer to the SolidWorks help documentation for details.
Note: You can also simulate springs and dampers by adding a Spring to your motion study via the Motion Manager Toolbar.
There are two ways you can perform collision detection.
1. After the your motion control application is finished running, switch the scan engine to configuration mode. (To do this, right-click on My Computer >Utilities>Scan Engine Mode.) Then, in the SolidWorks motion study Motion Manager Toolbar, right-click on the top item in the tree (which has the same name as your assembly) and select Check Interference. Then click on the parts you want to check for collisions on, and select Find Now. If collisions occured, SolidWorks will tell you the time of the collisions and the volume of overlap.
or
2. You can use a distance sensor to detect collisions. In this case, LabVIEW can monitor the sensor while the motion simulation is running and take action (such as stopping the move and alerting you) if the sensor value changes. This also enables to to detect a "near miss" where the parts came too close for comfort but didn't actually collide. To include proximity sensor feedback in your LabVIEW control applications, add a dimension to your SolidWorks assembly and connecting it to a Measurement sensor in SolidWorks with an Alert configured (for example, alert if the distance is less than 5 mm). Then in LabVIEW, right-click on the SolidWorks assembly item in the LabVIEW project and select Map Sensors. For an example, launch the LabVIEW Example Finder (Help>Find Examples) and try running the shipping example called "Basic SolidWorks Sensors.lvproj".
When you configure your CompactRIO motion axes, be sure to set the scaling so the units match your SolidWorks simulation (mm for linear travel or degrees for rotary travel).
For more information on deploying your motion control application to the NI CompactRIO programmable automation controller (PAC) platform, see this site:
The following lists some of the top tips, tricks and caveats to consider when creating and using SolidWorks assemblies with NI SoftMotion:
Motors
Sensors
Simulations
Motion Programming Functions
You cannot use the following NI SoftMotion function blocks or function block methods with SolidWorks axes:
The following tips may help you when programming with NI SoftMotion function blocks in LabVIEW.
LabVIEW
For faster simulation performance, you may want to increase the Scan Period from 5 ms to 10 ms when simulating with SolidWorks. To do this, right-click on My Computer and go to Properties. Then in the Scan Engine tab and set the Scan Period to 10 ms. Finally, select all of the motion items in the project and deploy again.
SolidWorks
Information on how to configure SolidWorks for faster performance will be added. Visit the Virtual Prototyping Community portal for the latest information and to post questions.
Visit this page for a list of known technical issues.
LabVIEW 2009 NI SoftMotion Known Issues
If you encounter a new issue or need technical support, please post your comments and questions to the Virtual Prototyping Community. Be sure to include screenshots of the issue and a detailed description of the problem.
If you want to draw a 2D or 3D curve in SolidWorks and have LabVIEW execute it as a motion profile, you can export the curve feature from SolidWorks as a text file. Then in your NI LabVIEW SoftMotion Module application, add a contour move function. A contour move is a move expressed as a series of positions that the software uses to extrapolate a smooth curve between the points.
I. Export the curve from SolidWorks and prepare it for reading in LabVIEW:
1. First, change the units and dimensions standard for your SolidWorks assembly to MMGS (millimeter, gram, second). To do this, navigate to Tools>Options>Document Properties>Units.
2. Right-click on the curve item in SolidWorks and select Edit Feature. Save the curve data as a file.
3. Open the .sldcrv text file in Notepad and navigate to Edit>Replace. In the Find What box type "mm". Leave the Replace With box empty and click Replace All. Finally, save the file as a .txt file. Now you are ready to import the file into the LabVIEW project as described above.
4. If you need to change the time interval between data points in the curve, you can read the text file into LabVIEW, use resampling feature of the Align & Resample Express VI to adjust the interval, and then save the new file using the Write to Spreadsheet File VI.
II. Import the tab delimited text file for the curve into the LabVIEW project:
1. Right-click on My Computer and select New>NI SoftMotion Table. Browse to the tab delimited text file you prepared which contains the curve data points.
2. Wire the SoftMotion table resource you created into the table input of the LabVIEW contour move function block.
Yes. NI SoftMotion for SolidWorks does support velocity mode. Just right click on your Straight Line Move function block and navigate to Select Method>Velocity. This executes the straight-line move at the specified velocity until a Stop Move is commanded, a limit is encountered, or you execute a move at a new velocity. You do not specify target positions in velocity mode. The direction of motion is determined by the sign of the specified velocity.
Yes. There are two ways to do it.
1. Adding a shipping example VI to an existing project: You can open any of the shipping examples and copy the VIs into a project you have set up to target a SolidWorks assembly. For example, you could open the Coordinate Straight Line Move example project and copy the Coordinate Straight Line Move.vi into the project you are using for digital prototyping with SolidWorks.
2. Changing a shipping example project to link to SolidWorks: Right-click My Computer to add a SolidWorks assembly to the project. Then click on the motion axis and select Bind to Different Resource to change the binding from a Simulated Axis to a SolidWorks motor. Finally, hold down shift or control to select all of the motion items in the project (including My Computer) and then right-click and Deploy. Normally, since this is your first deployment it will start the SolidWorks simulation running. In this case, you are ready to run the LabVIEW shipping example VI. If not, right-click on My Computer and select Utilities>Scan Engine Mode>Switch to Active.
Note: Most of the shipping examples assume you are using a stepper motor without the axes scaled to degrees or millimeters. However, motion control with SolidWorks always assumes rotary motors are controlled with degree units for rotary motors or millimeter units for linear motors. So you'll normally want to use a smaller number than the default values for the position command. For example, in the Coordinate Straight Line Move.vi example I changed the position commands from 10000, 7500, 5000 (steps) to 100, 75, 50 (millimeters). |
Yes. You can log the simulated position, velocity, acceleration, and torque data to a LabVIEW Measurement format file by enabling the Log Data checkbox in the Assembly Properties dialog box. Logging starts as soon as the simulation starts and completes when the simulation stops, either by switching the NI Scan Engine to Configuration mode or by stopping the simulation from within SolidWorks. When the simulation is stopped from within SolidWorks, log data is not available until the NI Scan Engine switches to Configuration mode, but no more data is added to the file. Refer to Starting and Stopping a SolidWorks Simulation in LabVIEW for more information.
The log file units depend on the SolidWorks motor type, as shown in the following table:
Motor Type | Log File Units |
Linear |
|
Rotational |
|
Note: Simulation data is logged when the NI Scan Engine mode switches to Configuration mode. This means that if you deploy new data when the NI Scan Engine is in Active mode, the NI Scan Engine switches to Configuration mode to apply the changes, and then back to Active mode and the log file is overwritten.
No. NI SoftMotion for SolidWorks is not the right tool for you if your goal is to simulate closed loop dynamics that include the motor electromechanical equations (voltage/current, back-emf, torque constant), the current loop tuning, the percent overshoot/undershoot of the position and velocity loops due to the PID tuning, or to validate advanced control algorithms like LQR or H-infinity control. For those types of applications you can use a tool like MSC.Adams, MapleSim or the NI Control Design and Simulation Module. With LabVIEW 2009, the module now includes simulation examples for servo motors, induction motors and other electrical machinery such as a full wind turbine.
The NI SoftMotion for SolidWorks tool sends position trajectories points from LabVIEW to SolidWorks and the mechanical simulation in SolidWorks calculates all of the forces and torques necessary for the motion assembly to traverse that trajectory. This is called indirect dynamics, since SolidWorks Motion is simulating an ideal motion trajectory. This "ideal trajectory" type of simulation is useful for validating the motion control profiles and logic, checking for collision, analyzing the force and velocity requirements for sizing/selecting motors and linear actuators, calculating force/torque loads for stress analysis, calculating machine cycle time/throughput performance, visualizing the realistic operation of the machine under the control software, determining if mechanical parts (like motor couplings) are strong enough, determining if the mechanism is stiff enough and won't vibrate, etc., etc. For stress/strain and factor of safety analysis, you can determine the amount of force/torque loading you expect the mechanical system to encounter when running under the control of the motion control system using the NI SoftMotion for SolidWorks tools. Because the force/torque calculations are based on the actual motion profiles (straight-line, arc, contour) with the velocity, acceleration, and jerk limits of the motion control system, the results should be much more accurate than a "back of the envelope" calculation and are also easier to get since no math calculations are required.
Learn more about using these tools to analyze your machine design and avoid common pitfalls.
No. Motion simulations run in “virtual time” where LabVIEW and SolidWorks communicate in a point-by-point fashion on a simulated time interval. This virtual time period is defined by the LabVIEW scan period, which is typically 5 milliseconds.
However, it normally takes longer than 5 milliseconds for SolidWorks to calculate the simulation results for that time interval. The amount of time it takes to calculate one simulation time step varies depending on the complexity of the model, the LabVIEW scan engine scan period, and the SolidWorks simulation accuracy requirements. Internally, the SolidWorks simulation is constantly making adjustments to guarantee that the simulation results satisfy the accuracy requirements. This is why the simulation speed may vary depending on a number of different factors.
Once the simulation is finished and you have set the scan engine to configuration mode, you can playback the simulation in SolidWorks at faster rates. Use the Playback Speed control in the SolidWorks Motion Manager Toolbar to adjust the speed.
Yes. For an example, open the project named “Cell Phone Test Machine Advanced.lvproj” and then run the example “LabVIEW Motion Control - 2D Straight Line Move with Performance Monitoring.vi”. This is included in the “..\Exercise 2 (SolidWorks)\Advanced” subfolder of this SolidWorks hands on tutorial.
This example calculates the peak and RMS values for torque and velocity for a single motion axis. The results are stored in an array, where each element in the array corresponds to a move operation.
An axis provides a reference to a motion resource that you can control from LabVIEW. An NI SoftMotion axis can be associated with simulated hardware or with actual hardware. Use the Axis Manager dialog box to associate your hardware with an NI SoftMotion axis.
You can create the following axis types based on the hardware you associate with your NI SoftMotion axis:
A coordinate is a logical grouping of axes that you use as an input to NI SoftMotion function blocks that can use coordinate resources and precisely move multiple axes together. Coordinates allow you to command a move using multiple axes and guarantee that the axes both start and stop at the same time. (Is this right for a straight line move with different position set points?)
This is in contrast to starting individual axes that are not part of a coordinate at the same time, where the axes start the move using software synchronization but do not stop synchronized. Use the Configure Coordinate Space dialog box to organize axes into coordinates.
Use the Configure Table dialog box to add a table for contouring or camming moves. Table resources contain position information for Contour or Camming operations.
Contour Table
Contour tables are provided as a tab-delimited text file where each line provides a new set of axis positions. Using the Check Status and Update Points contour move methods, you can update the contour buffer created from the original table data during execution of the contour move.
Camming Table
Camming tables provide slave positions used to determine the camming profile used in electronic camming operations. Using the specified master cycle the camming table is divided into equal segments. These segments define a set of master/slave positions. Camming tables may also require a non-zero value for the Slave Stroke. This input is used to compensate for differences between the starting and ending position in the camming table.