Softmotion module must for circular motion control?

Hi,
We are planning to use two NI 9514 modules for 2-axis motion (2D motion) control which involves Circular Motion. Is it  compulsory to use the NI Softmotion module with NI 9514 for the motion control? Also would like to know, if it is compulsory to use the Softmotion module, then what is the estimated gate usage?
Thanks in advance.
Pradeep.

Pradeep,
the NI 9514 is meant to be used in scan mode without the need of FPGA programming. The module runs the motion control onboard, so it doesn't use a lot of FPGA resources. NI-SoftMotion in combination with the NI 9514 only requires resources on the RT controller, so the only part that requires significant FPGA resources is the scan engine itself. Depending on the FPGA type the gate usage of the scan engine varies, but a rough estimate is, that it requires about 1 M gates.
As already mentioned, the NI 9514 is meant to be used with the scan engine and NI-SoftMotion. This provides a high-level API (IEC-61131 function blocks), axis coordination, tools for configuring, tuning and testing the axes and so on. There is also a low-level FPGA interface to the NI 9514, but as long as there is not a strong technical reason for progrmaming the module in FPGA mode, I strongly recommend using the NI-SoftMotion approach.
Kind regards,
Jochen Klier
National Instruments

Similar Messages

  • LabVIEW SoftMotion Module version for CompactRIO 13.1

    Dear all,
    I'm trying to use deploy a C-module 9512, which is installed in a cRIO 9024 and NI 9114 chassis.
    I would like to get access to the interactive test panel, but whenever i try to do this it won't let me deploy the unit.
    I get an error message as follows:
    "LabVIEW: (Hex 0x80DF001E) The deployment plug-in for this item cannot be found. Verify the proper software is installed. Deployment completed with errors",
    which leaves me unable to access the test panel.
    I have LabView 2013 SP1 (13.0.1), NI CompactRIO 13.1 [NI-RIO 13.1], and LabVIEW Real-Time 13.0.1, installed. I also download Softmotion Module 2013 SP1 on the host, but it cannot be installed on the cRIO (see attached: SoftMotion_version_for_cRIO-RT.jpg).
    To see the software installed on the cRIO, see the attached image (see attached: cRIO_installed_software.jpg)
    Any idea of what i'm doing wrong? Thanks a lot!
    Best Regards,
    Michael
    Attachments:
    SoftMotion_version_for_cRIO-RT.JPG ‏75 KB
    cRIO_installed_software.JPG ‏153 KB

    You've posted to the wrong board. This is for conversion between different versions of LabVIEW.

  • Need an Instrument Drive for Elmo motion control products.

    Hello,
    I am going to use a Bassoon servo drive from Elmo Motion Control to control a voice coil.  I  haven't found an Instrument Driver for Elmo through my LavVIEW program or on their website.  Does an Instrument Drive for Elmo products exist? 
    Thank You!

    Hello JMJ,
    Here are my answers to your questions:
    1.  Is it possible for me to communicate with the Basic Serial Read
    and Write example and not develop an Instrument Drive?  I see that the
    write VISA VI takes a string and converts it and sends it to the
    control card and the read VI receives a signal and converts it.  Is the
    conversion converting from the Elmo language to the ASCII code?  If I
    don't write an Instrument Drive will I have limited capabilities?You could use the serial example to write your entire program.  If you only need a handfull of commands, then this is probably the most straighforward for you to get going.  Everytime you use the VISA Write, the ascii values are written on the serial lines and transmitted to your device.  Your device reads and interprets these commands and acts depending on what the command is.  Some command may change a setting in the instrument.  Some other command may actually ask for the instrument to write back some data.  In this case, you need to have a VISA Read after the write to be able to read the data into your computer.
    2.  I was informed that there is an Instrument I/O Wizard that would
    potentially be easier to use and program than an Instrument
    Drive.  What is your opinion on such matter?  Could I use either or
    neither?You can definitely use the Instrument I/O Wizard to help you .  This wizard really helps in parsing the data  received from your instrument.  You can look this tutorial if you want to learn more about  it.   You could use either one.  I suggest you try both these methods and see which one seems more obvious to you. 
    3.  If I develope an Instrument Drive are all the seperate commands seperate subVIs?    
    A LabVIEW instrument driver usually has a set of VIs with specific functionality.  For example, you will have one subVI that will initializes the instrument.  This subVI may send 1 to 5 (or more) commands, depending on what you need to initialize your instrument.  You can then have one VI that set's an attritube.  This one would only require sending one command.   You can look at this tutorial for developping a complete instrument driver.  However, keep in mind that this may not me necessary for your application.
    I suggest you first look at what functionality you need.  Then take a look at what commands this will require.  You will then be able to plan out your program a little better.  I also suggest you post all this information on the forum, so that we may be able to help you with more specific details.
    Have a great day.
    O. Proulx
    National Instruments
    www.ni.com/support

  • Download for 7342 motion control

    Are there any downloads avaliable to control an xy stage using Labview 6.1 and a PCI-7342 motion control card?

    Two Axis Vector Move with Position Monitor.vi located in the Multiple Axis.llb ('default LabVIEW path'\Examples\Motion\FlexMotion\) demonstrates two-axis motion and should work with the PCI-7342. That example demonstrates the fundamentals of two-axis vector move but if you need a more specific example let me know.
    Yusuf C.
    Applications Engineering
    National Instruments

  • Is it possible to condition a load cell signal with a 1520 SCXI and then use it as the primary analog feedback for a 735X motion control board?

    My system
    PXI 1052 chassis
    PXI 8196 RT controller
    Flexmotion 7356 motion controller
    Flexmotion 7354 motion controller
    6259 M series DAQ
    1520 SCXI
    1520 SCXI
    1314 SCXI frount mounting terminal block
    DSM strain gage load cells
    Exlar SR Brushless PM motors
    Kollmorgen servo star CD series 5 drives
    My objective:
    I want to measure the force on the load cells with the 1520 SCXI (i.e. excite the load cell then amplify and condition its output) then I want to use this analog (force) signal as the primary feedback for my motion control system (7356 and 7354 motion controller connected to my drives and motors).
    The problem:
    The motion controller boards (7356 and 7354) can be configured for force feedback control via analog feedback from a load cell.  However the boards implicitly expect the load cell signal to be amplified and conditioned with and external signal conditioner rather then using an NI SCXI module.  Currently I’m am reading the SCXI signals via the 6259 M seriers DAQ and consequentially have no way to route the signal into the 735X boards for force feedback control.  I can use softmotion to control the motors but then I loose the fast PID update rates possible with the 735X boards.
    The question:
    Is it possible to condition a load cell signal with a 1520 SCXI and then use it as the primary analog feedback for a 735X motion control board? 
    Thanks
    Patrick Aubin
    Ph.D Candidate
    University of Washington &
    VA MedicalCenter of Excellence for
    Limb Loss Prevention and Prosthetic Engineering  

    Hi GG,
    Thank you for your feedback.
    >create your own external circuitry to amplify the signal.>
    True a few op-amps could amplify and filter the signal externally but the performance of such an amateur built system will never match the accuracy and functionality of the 1520 SCXI.  That’s why we spent the $2500 for the professional version.
    >One thing that you could do is to use a UMI with your motion controller and then wire your signal from your SCXI to the UMI.>
    As I understand it the UMI is basically a break out connectivity interface for third party drives.  After conditioning and amplifying the analog force signal with the SCXI module the analog signal isn’t available to wire into a UMI.  To my knowledge the conditioned signal of the SCXI resides only in the PXI backplane (i.e. there is no physical access to the conditioned analog signal).  Can you explain how the UMI could be help here.
    Again thanks for your input GG.
    Patrick

  • Recommmendation for motion control in mid-7604

    I got a new mid-7604 recently. So what type of PCI card should I use to control mid-7604 in Labview? Does 6023E or DIO32HS works? Thank you.

    Sorry, but I have to add my 2 cents to this thread .
    @AK2DM
    thank you for suggesting a 73xx device for this purpose instead of a DAQ device
    @bighead
    apart from the fact, that the 7604's connector is designed to be connected to a 73xx device, there a a lot of functional reasons, why in general a DAQ board is not a good fit for a motion control application. Here you can find some more information about this topic.
    Kind regards,
    Jochen

  • Where is the output for PWM on NI 7774 connected to motion control card 7356

    Hi,
    I have NI motion control card 7356 which interfaced through 7774 interface board. PWM outputs are written to be on pins 5 and 9 on Digital IO, yet there is no indication about the whereabouts of these PWMs on the interface board (7774). Would you please help???
    Asst. Prof. Vasfi Emre Omurlu, Ph.D.

    Simitci,
    For the digital I/Os a UMI-7774 provides access to 16 digital lines. If you want to access other signals of the digital connector, you shouldn't connect it to the UMI but to another breakout box like the SCB-68. Please note that compared to the UMI-7774 the SCB-68 doesn't provide optical isolation or 24 V connectivity. If this doesn't work for you, you could think of building a customized cable that connects the lines for the16 digital I/Os to the UMI and the rest of the signals to another connector or breakout box.
    You also should be aware of the fact that the PWM outputs of 73xx boards are static. That means that you can change the duty cycle and output frequency of these signals in software only, which is quite slow. In most cases these PWM signals can't be used for motion control tasks.
    What do you intend to do with the PWM signals?
    Thanks and kind regards,
    Jochen Klier
    National Instruments

  • Module pool ---Problem in finding the line index for the table control

    Hi Friends,
    I am working in Module pool programming.
    My requirement is when i select any record on the lead selection I need to find out the index of the line on which  row i have selected.
    Could any one please suggest me the proper solution how to get the line index for the table control in module pool programming.
    Thanks
    Satish Raju

    Hi Raju,
    Follow the steps
    <li>U should take one variable in your internal table or in structure which is used for table control fields.
          DATA :BEGIN OF itab OCCURS 0 ,
                mark TYPE c ,
                matnr LIKE mara-matnr ,
                matkl LIKE mara-matkl,
                maktx LIKE makt-maktx,
            END OF itab .
       controls: tabc types tableview using screen 100.
    <li>This mark variable should be given in Table control properties. follow the path
    double click on the table control-->attributes .->select w/SelColumn and in that give itab-mark.
    <li>Flow logic of the screen
       process before output.
         MODULE status_0100.
         LOOP AT itab with control tabc
         endloop.
       process after input.
         module cancel at exit-command.
         LOOP AT itab.
           MODULE read_table_control.
         ENDLOOP.
         MODULE user_command_0100.
    <li>read_table_control module code
         MODULE read_table_control INPUT.
         MODIFY itab INDEX tabc-current_line."this will update the itab table
                                             "mark field with 'X ' whatever we
                                             "have selected on table control
         ENDMODULE.
    <li>If you want to Delete some of the records from Table control follow this code u2026Create one pushbutton and give Fucnction code to that and write below code
       CASE okcode.
         WHEN 'DELETE'.
           LOOP AT itab WHERE mark = 'X'.
             DELETE itab.
           ENDLOOP.
       ENDCASE.
    I hope that it helps you.
    Thanks
    Venkat.O

  • Is LabView good at precise motion control for things like running an assembly line with lots of cars moving about?

    Is LabView good at precise motion control for things like running an
    assembly line with lots of cars moving about? Precise speed and
    acceleration control? Safety interlocks?
    Thanks for any help you can offer!
    Sent via Deja.com http://www.deja.com/
    Before you buy.

    If you are a long time Nokia/Symbian fan then you will Know full well that Nokia phones ALWAYS improve with software updates, Symbian will not be abandoned and will not be replaced by WP7, it will continue to evolve and improve, as will the handsets. Anyone who desires or wants a different OS should try one, because it's a free world, but really, the 'perfect' OS doesn't exist, and Symbian suits me for now and I will rely on Nokia to keep it up to date, and reliable.
    If I have helped at all, a click on the White Star is always appreciated :
    you can also help others by marking 'accept as solution' 

  • What kind of equipment do i need for motion control

    i'm new to computerized actuators, i need to control a stepper motor that can turn both directions and can be controlled by a 0-5 volt sensor. i need to be able to set the targeted volts and have it turn one direction if its reading over, and the other direction if its reading under. What should i buy.

    Hey Jaspittman,
    I would also recommend the following web site called Build Your Own Motion Control System which will walk you through the steps of what you will need to build your motion system. Also, I would suggest taking a look at the Motion Advisor page if you will be using any 3rd party hardware (i.e. motors, drives, stages) which can be found at the following link Advisors for Motion. These two sites have a lot of helpful information to get you started.
    Regards,
    DJ L.

  • Wanted Computer Controled Electronic Cards with Software for Motion Control

    Hi everybody
    Already worked on designing a cnc table to cut sheet materials.
    But we don't know enough for electronics. We think a system which is
    software driven from pc. So, we look for Wanted Computer Controled
    Electronic Cards with Software for Motion Control but we don't know more
    which motors, electronic cards and control panel we have to use.
    Please help me. Thanks.
    Atilla KESKEKLER
    Ahmet Bayman Cad. No 10/4 Otosanayi 4.Levent 80650 Istanbul Turkiye
    Tel: + 90 212 270 74 00 Fax: + 90 212 270 75 89
    www.aareklam.com.tr [email protected]

    Dear Atilla,
    You should contact AutomationSolutions (www.AutomationSolutions.com) to receive help with designing your system. They can spec your motors and help you picking the correct controllers and drivers from National Instruments to control the motors that you want to use. Please let me know if you need more information about the capabilities of Motion Control systems from National Instruments.
    Thank You,
    Morten Jensen
    National Instruments

  • PCI6602 for motion control?

    Hi, I am wondering if it is possible to use the pulse generation of the
    PCI6602 to control a stepper motor
    driver, the problem is that I need aceleration and deceleration in the
    pulse train.
    I'm using the PCI6602 for event counting (~ MHz), and I need to
    synchronize the data acquisition to the stepper motor pulses at a rate
    of ~10 KHz. It would be nice to use a single card for both acquisition
    and motion control.
    thanx,
    Stefano

    Stefano,
    Yes, you could use the PCI-6602 to control a stepper motor. This will require two counters per stepper axis to control the step/dir or CW/CCW lines, or one counter per axis if you only want to move in one direction. You would need to programmatically ramp up the pulse rate to control acceleration. However, since updating the output pulse train frequency is software timed, acceleration may not be very smooth and you risk losing step. Also, you would need to manually handle any pull in moves.
    While you could achieve reasonable stepper control with the counter board with some trial and error, the PCI-7334 would probably be a better solution. This controller easily handles acceleration and deceleration and allows you to route the encoder signals over the
    RTSI bus to control the data acquisition process.
    Regards,
    Brent Runnels
    Applications Engineer
    National Instruments

  • PCMCIA card for motion control

    Hi,
        I am trying to control a stepper motor through LABVIEW. After perusing through the site, I know that I would need a stepper motor, a corresponding motion controller and a universal motion interface. The problem I have is that I am trying to control the stepper motor through a laptop (which does not have the Parallel Port slot). I am wondering if a PCMCIA card could work (by providing a parallel port to the laptop) or if it would not meet the necessary requirements to operate the motion control through the universal motion interface. 
    Thanks

    It IS possible to drive an UMI interface with a parallel port providing TTL compatible outputs, basically the UMI interfaces are (advanced) break-out boxes feeding the step and direction pulses to a motor driver and connecting feedback signals (encoders, limit switches etc) back to the PC. But in this case, you would have to write your own routines for accelerating and slowing down, as well as evaluating the feedback signals from an encoder or limit switches. There are several manufactures making motor drivers which can be driven via a serial or USB interface, in case you cannot use a NI controller board it will be much easier to use such a setup since the motor drivers usually incorporate at least a basic motor controller providing a set of commands which makes it much easier to control a motor than with doing everything from scratch. 

  • Velocity profiling with SoftMotion Module

    Hi Folk,
    I need to move a stepper motor following a velocity profile, i.e. I need to change continuously the velocity while motion is in progress.
    I intend to perform the move with a cRIO platform equipped with a NI 9512 module.
    By using the property & invoke nodes, introduced first in NI SoftMotion Module 2009 SP1, I have created a small test routine to perform my task.
    I have used the property & invoke nodes, instead of the function blocks, because I want to update the velocity profile as fast as possible.
    For the test routine I have used a simulated axis (a servo motor) and the routine is developed by using the scan interface.
    In the main loop, a sinusoidal wave (point by point) generates a sample velocity profile, the velocity is passed to the "velocity" Straigth-Line Move property node and it is applied to the axis by the "Start" Straigth-Line Move invoke node.
    The test routine runs circa correctly until the velocity profile cross the zero, at that time the routine stops with the following Error -77070.
    I have added an offset to the generated sinusoidal profile. The test routine runs correctly if the offset sets the sinusoidal profile all positive or all negative, i.e. the offset is greater than sinusoidal amplitude.
    Question (1)
    I beleave that this behavior is due to a bug in the Straigth-Line Move node. I am right?
    Question (2)
    I have written that the routine runs "circa" correctly because furthermore the previous bug there is a timing issue.
    I have set the Scan Period = 5 ms as it is requested for 951x modules.
    If the timed loop (Synchronize to Scan Engine) is set to 5 scans or more the timing of the timed loop seems to be correct (the sinusoidal wave shows the period that has been configured).
    If the timed loop is set to 4 scans or less the timing of the timed loop becomes longer  (the sinusoidal wave shows a longer period as that has been configured).
    Any idea about this timing issue?
    Question (3)
    Any suggestion how to write a faster velocity profiling with the SoftMotion Module?
    Thanks for your help,
    Asper
    P.S.
    Error -77070 occurred at Invoke Node in Axis_Velocity_profiling.vi
    Possible reason(s):
    NI SoftMotion:  A Start operation is pending. Please add a delay between consecutive preemptive Start Motion calls.
    Attachments:
    velocity_profile_exemple.zip ‏77 KB

    Hi Reid,
    I am developing a system for low-force tests of very thin tissues in tension and fatigue.
    The force is measured with a load cell and is applied by pulling the sample with a linear translation stage and the elongation is measured with a linear encoder.
    The linear stage is motorized with a 2-phase-stepper motor, and with two limit switches. The stepper is designed for applications with very limited space conditions and the motor is hollow.
    The linear encoder has a 20 nm resolution and a 1 um accuracy, and includes an electronic for signal conditioning that is compliant with the encoder input of the NI 9512 module.
    The load cell is a full bridge with an accuracy better than 0.01 %. For acquiring and conditioning the full bridge, the system uses a NI 9237.
    The system will provide tests that are controlled both in force and in elongation.
    For the tests controlled in force, the loop is closed with the signal measured by the load cell and the translation stage is driven in velocity.
    For the tests controlled in elongation, the loop is closed with the encoder signal and the translation stage is driven in position.
    For both type of tests, the user can select different test profiles, for example: a linear increasing, a sinusoidal profile for fatigue test, etc.
    The user can pause the test at any time, and the system must take the condition, until the next proceed command.
    My previous post: question (1)
    Your reply:
    I ran the code  Axis Override Test 1 on my machine on a simulated Axis and this was the performance I observed:
    Our versions maybe differing did you see the same behavior on a simulated axis?
    Concerning the velocity that is read from the Read (Data) function block, I observe the following:
    With a simulated axis (both in My computer and in cRIO-9073) the values are positive for forward move and they are negative for backward move (as you also have observed).
    With the real axis (NI 9512) the values are positive both for forward move and backward move.
    Please see the next images.
    With simulated axis
     With real axis (NI 9512)
     My system is as follows:
       LabVIEW: 9.0f3
       SoftMotion: 9.0.1
       NI-Motion: 8.1.0.3037
       NI-RIO: 3.3.1
       NI-RT: 9.0.0
    I want to point out that the simulated-axis is a servo drive while the real axis is a stepper drive (NI 9512).
    With my software release, I believe that this behavior is due to a bug, probably in the stepper drive interface. I am right?
    I suggest that you try on a real stepper axis (NI 9512).
    My previous post: question (2)
    Your reply:
    These two questions I feel share the same root cause. It takes a little bit longer to calculate the a preemptive move in the opposite direction.
    Considering the observation on the Read (Data) function block issue, now I note that my second question arises from the sum of two different behaviors. In case the Read (Data) function block issue is solved, as for simulated axis, the sentence can be rewritten as:
    The velocity plot shows some computation troubles as the velocity is approaching the zero, with the derivative both positive and negative.
    Furthermore I have discovered that this computation troubles gives a blocking error if the velocity is approaching the zero with a zero derivative.
    Once the velocity reaches the zero with a zero derivative, the "Velocity Override" Write is no any more able to change the velocity!
    No errors or warnings comes out in this situation!
    This behavior is true with an axis both real and simulated, and is still true both with an all function blocks code and a mixed function blocks/invoke nodes code.
    From this point of view, the velocity troubles with the approaching to zero are very very bad!
    Please consider that in the previous posted example you can find an all function blocks code, Axis Velocity Override_test_0.vi, and a mixed function blocks/invoke nodes code,  Axis Velocity Override_test_1.vi.
    You can easily test the velocity blocking error by putting the parameter offset = amplitude in the previous posted example.
    My previous post: question (3)
    Your reply:
    I am curious if you are observing that around zero % the override function performs poorly, was this present on the function block example? I think the problem here is the preemptive move being called from the straightline move function.  Basically, the trajectory generator is still calculating points when send the command to it. Since we are updating the velocity at a  very fast interval we notice some of this breakup due to the longer latancy times. Even with this
    Error -70216 occurred at an unidentified location
    Possible reason(s):
    Motion:  A required resource is busy and unable to accept further commands at this time.
    To get around this error you will need to call into the trajectory generator at a slower period of time to allow it to finish the operation in progress. Keep in mind the control loop we are calling into in RT is the command loop to the trajectory generator and the position control loop is performed on the FPGA of the module itself.
    I want to underline that the computation troubles as the velocity is approaching the zero has not apparent connection with the Error -70216.
    I have tested the posted routines with Scan Period = 5 ms and the Number of  Scans = 5 or more (25 ms for cycle or more) and the computation trouble is still there every time that the velocity is approaching the zero.
    The Error -70216 come out randomly and increases as the cycle time decreases.
    I did not observe any decay in the time to perform the Velocity Override around zero %, but you have to consider that I did not make any test to investigate this issue.
    I agree with you, the Error -70216 can arise from some commands that try to access the same resource a the same time.
    In my opinion the Velocity Override has to be predominant, i.e. no matter what the routine is actually doing, the routine should start immediately to correct the actual velocity to reach the new value.
    Suggestion: for the future release of the Velocity Override, please consider to leave the opportunity to select from percentage velocity (as it is now) an absolute velocity.
    Regards,
    Asper

  • Motion control through RS232

    Hi guys,
    I'm trying to use RS232 cable to control motor directly (motor model: Mecapion APD-VS05N). I don't want to buy any motor controller such as PXI 73XX. I was considering using NI Softmotion Module (not sure if its the best way to do), but the motion driver used was not available on NI website. Anyone can help me? Really appreciate if provide with demo VI.
    Thanks a lot!
    Vv

    The Aries drive are nice, I have many currently in use.
    I use the 6K platform to control them, never attempted interfacing to them with LabVIEW.
    There are sample vi's here (poorly designed) along with a link the to a COM server:
    http://www.parkermotion.com/dmxreadyv2/faqsmanager/faqsmanager.asp?question=acr-labview
    You may also want to search the NI forums for Parker, I think there are other threads from the past.
    -AK2DM
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~

Maybe you are looking for