Stepper motor

I have a labview program for controlling a stepper motor and allthe necessarry hardware. When I run the labview program there are no errors. However the motor does not move. A friend suggest to run MAX AUTOMATION but I have not. I am concerned if I run MAX I might damage the computer and corrupt the present configuration. I have connected STEP< DIRECTION< PRESET AND CLOCK from the drive board to four DIO. I have not specified that in MAX. What shall I do?

MAX gives you a very useful but limited ability to manipulate your DAQ board's i/o signals. It's often used in place of a full-fledged user program during initial setup and later during troubleshooting because it provides an NI-controlled interface to the DAQ hardware that isn't corrupted by possible user programming bugs. I think you probably ought to use MAX first to work out all the appropriate signals and connections before trying to use your friend's program.
You'll also need to understand the basic principle of operation for your friend's program and the stepper driver board. If you're using a different motor or driver, you may have incompatibilities.
What DAQ board do you have? Who makes the drive board? The signals you mentioned (STEP, DIRECTION, PRESET, and CLOCK) are not a familiar set to me. DIRECTION is very likely a digital bit to determine whether to step CW or CCW. Either STEP or CLOCK (or both?) should probably be a counter pulse train. I've usually seen either one or the other word used in a stepper interface, but not both at once so I'm not sure what's up with that. I really couldn't guess what function PRESET means. And you'll also need your digital GROUND or RETURN connection(s).
As for "assigning pins" to the functions: I would approach it a little differently. The issue is that you can't arbitrarily assign any old signal to any old pin. For example, some pins are for analog input and you can't generate digital bits on them.
So..... First determine what kind of signals you need for each functions (digital bit?, counter pulse train?), then find out which pins from you DAQ board can produce the right signal, and finally wire them up. At that point, you can choose either MAX or LabVIEW programming to put signals onto those pins. MAX will be best for initial testing, but the final app almost always needs to be based on programming.
-Kevin P.

Similar Messages

  • Difference between open loop and closed loop mode when finding the index on a stepper motor axis.

    I have a test system which uses a PXI-7352 motion controller with a MID-7602 stepper motor drive to position a 200 step/revolution stepper motor with an attached 1000 line encoder.  The MID-7602 is configured for 64 microsteps per step, giving 12,800 microsteps and 4000 encoder counts per revolution.  The system is controlled using LabView 7.1 and NI-Motion 6.13.  To home the motor, I've defined a sequence in MAX which first finds the reverse limit switch and then moves forward to the encoder index pulse.
    When finding its reference in open loop mode, the system its reference at the same microstep each time.  When findings its reference in closed loop mode, the system finds its reference somewhere within about a 20 microstep wide range.
    I hope somebody out there with more experience with this controller can describe the difference between finding the encoder index in open loop mode and finding the encoder index in closed loop mode. 
    Thanks,
    Mark Moss

    Hello Mark,
    I suspect that the behavior you are experiencing has today
    with the resolution difference between your encoder and your
    microstepping.  Let me illustrate with an
    example:
    Example Setup
    Stepper
    Motor
    NI
    Motion Controller
    10
    steps per encoder pulse (Every 10 steps the controller gets an encoder
    pulse, therefore positions 0-9 all appear to be 0 to the controller)
    The
    system has a maximum of 3 pull in moves set
    Open Loop Scenario
    The
    system is commanded to go to position 9.
    The
    controller sends out 9 pulses.
    The
    motor moves to position 9.
    Closed Loop Scenario
    The
    system is commanded to go to position 9.
    The
    controller sends out 9 pulses.
    The
    motor moves to position 9.
    The
    controller checks its position and sees that it is still at position 0
    because it has not received an encoder pulse.
    Because
    the controller thinks it is still at position 0, it sends another 9 pulses
    as its first pull in move.
    The
    motor moves to position 18.
    The
    controller checks its position and sees that it is at position 10 because
    it has only received one encoder pulse.
    Because
    the controller thinks it is still at position 10, it sends1 reverse pulse
    as its second pull in move.
    The
    motor moves to position 17.
    The
    controller checks its position and sees that it is at position 10 because
    it has only received one encoder pulse.
    Because
    the controller thinks it is still at position 10, it sends and additional
    single reverse pulse as its third pull in move.
    The
    motor moves to its final position of 16.
    I believe something similar is happening with your
    application as it looks for the index pulse. 
    Because the controller does not compensate for what it perceives as
    position error in open loop mode, the motor always goes to the same commanded
    position.  In closed loop mode, the motor
    is bouncing around inside the single index encoder pulse trying to find a
    certain position.
    There are several recommendations I can make towards
    correcting this behavior.  These
    recommendations are in order of effectiveness:
    Setup
    your system so that there are more encoder counts per revolution than
    steps per revolution.
    Turn
    off pull-in moves by setting them to 0 in MAX.
    Use an
    open loop configuration.
    Play
    around with the pull in window in MAX.
    Regards,
    Luke H

  • Trouble positioning a stepper motor accurately (to one step)

    I'm using a PCI-7344 with an MD7506 motor driver from RS. I'm testing angle sensors whose voltage output is proportional to (you've guessed it...) angle.
    I'm stepping the motor round by one step, checking that it's got there by reading the encoder, measuring the sensor voltage and repeating.
    My problem is that the motor sometimes 'hunts' around the target position. In closed loop (with an encoder associated with a motor) this results in sometimes not being able to reach the target exactly with the pull-in moves.
    Using open-loop and reading the encoder directly I get better results because I can loop more times, but the motor will still 'hunt' around a target point, changing direction a few times as it over
    shoots by a step.
    As there are a million MAX settings for this I won't list them all here, but I'm checking for a move complete when the InPos flag is set and I have a deadband of 0 steps too. I'm only rotating at 120 step/sec with a 10ms pause between steps.
    Do I have to accept that stepper motors are only accurate to +/- 1 step or am I doing something wrong?
    Thanks,
    Mike
    Mike Evans
    TRW Conekt
    N.I. Alliance Member, UK
    http://www.Conekt.net

    Mike,
    Maybe other people will have better suggestions, but in my case I can advise to either:
    1. increase the number of pull-in moves,
    2. increase the microstepping of your drive,
    2a... together with a higher precision encoder...
    Other than that, the accuracy is advertised to +/- 1 step, so maybe you would like to consider a stepper with more steps/rev.
    Good luck!, I hope other people will give other suggestions.
    Nestor.
    Nestor
    National Instruments

  • Stepper motor and loacell PID control - waveform motion.

    Hi, 
    Hardware :  cRio9073, C series module 9403 for stepper motor control and 9215 for load cell data acquisition. 
    I am trying to control a stepper motor in a closed feedback loop system with a load cell. The user would have to input two things : the maximum load applied and the frequency of the motion. At the moment I have it working in open loop controlling how many steps forwards or backwards it does and at what rate, with a display showing the load being applied.
    I am now looking to include the "PID.vi" built into labview into my existing code. I am using the load cell output as the 'process variable' and the 'output' of the PID will control the wait time between an ON and OFF signal to the motor (since I have to do the PWM in software as the 9403 module doesn't do it in hardware. Is this the right way to do it? ) 
    I wish to make the motor do a sinewave motion, thus the 'setpoint' of the PID would be dynamic. I have therefore linked the "Sinewave form.vi" (also built into labview) to the setpoint and the frequency of the "Sinewave form.vi" will be the user input for the frequency of the motor. However my problem lies with the 'Sampling info' of the "Sinewave form.vi" : Previously that is what controlled my number of steps, defining the maximum displacement of the motor. Now I need the peak of the generated sinewave to coincide with the maximum load applied defined by the user. How can I make it do that? 
    I have attached my existing code with how I have attached the PID.vi at the moment. 
    Many thanks for your help
    Lawrence 
    Attachments:
    PIDControl.vi ‏23 KB
    BIOGROWTH.lvproj ‏46 KB

    Hi Lawrence,
    Here is an example PID VI.
    Regards
    Rico P
    Attachments:
    General PID Simulator.vi ‏22 KB

  • Stepper motor closed loop control using 7344

    I have some question about the closed loop control of stepper motor using 7344. From the NI website I got that closed loop steppers work differently from closed loop servos. Instead of adjusting the output on each PID iteration like a servo system, closed loop steppers will do a pull-in move at the end of a move to adjust for any difference between the target position and the encoder feedback. By default, it will attempt the pull-in move three times.
    Now for example I got five points: (0,0) (10,20) (30 40) ( 31 60) (50 65). The request time interval I set as 10ms. This mean that in the first 10ms, the machine should move from (0 0) to (10 20). But for some reasons the machine can not move to (10, 20), it moves to (8,16) and the first 10ms passed. In the second 10ms, how it move? Move from (8 16) to (30 40), If like this, the following error will accumulated. In practise, it is not accumulated. Is there anyone can explain something about the closed loop control of stepp motor? Thanks a lot!

    Requested Interval is additional data for the Position buffer type. The Position buffer type requires a Requested Interval parameter, and indicates the time between contouring data points in milliseconds. For all other buffer types, the Requested Interval parameter is ignored.
    The controller will use the closest value it can that is greater than or equal to the interval value you requested. Your time interval must be an even multiple of the PID rate.
    For example, given a PID rate of 250 ms, a time interval of 11.2 ms between points is physically impossible, so a call to configure buffer with an interval of 11.2 causes the  buffer to actually be configured for 11.25 ms, since 11.25 is the nearest possible interval greater than 11.2. The following table shows valid intervals for each PID rate.
    My question is like this. For example I got five points: (0,0) (10,20) (30 40) ( 31 60) (50 65). The request time interval I set as 10ms. This mean that in the first 10ms, the machine should move from (0 0) to (10 20).  If it is impossible for the machine to move from (0 0) to (10 20), there are two ways to solve this problem. First is the time interval is 10ms and assume it move to (8 16) within 10ms and take (8 16) as the start point and (30 40) as the end point of the second move. Second is extend the time interval, assume it takes 14ms to move from (0 0) to (10 20). After 14ms, the (10 20) is the new start point for the second move. I think it works as the second ways.If not, the following error will accumulated.  Is there anyone can explain something about the closed loop control of stepp motor in detail? Thanks a lot!

  • Stepper Motor with Linear Stage (Position Control and Data Acquisition)

    Hey All,
    So.. I've attached a stepper motor to a linear stage and so far it's working pretty well.  Using a stepper motor driver from Pololu, I've simplified the control of the motor by just using output pulses from the counter output of a PXI-6143.  I've tested the motor using the Pulse Train examples in LabVIEW and all is working well.  
    My goal now is to allow the user to collect data from a pressure sensor, attached to the linear stage, every X number of steps.  From what I can tell so far, and please correct me if I'm wrong, the motor step movement is synchronised with the pulse train input.  That is to say, if I give the motor a 200 step pulse train, the pulse train ouput is completed at the exact time the motor has moved 200 steps.  From this, I've created a VI that moves the motor X steps, aquires the data point, and then repeats this process for the required amount of data points.  The problem with this is that the motor movement is not continuous; it stops for a split second to take the data point.
    How can I have labview ouput a pulse train of say 1000 steps and record a data point every 50 steps?
    Two ideas that came to mind were:
    1. Use the counter input port on the card to count the pulses being sent to the motor.  
    2. Use an encoder connected to the motor shaft.
    I wanted to stay away from theses ideas though since they require resources from the DAQ card.  
    Thanks,
    Ryan

    Hi Ryan,
    Just to cover all the bases, what version of LabVIEW are you using and can you attach your VI? Initially your ideas sound like they should work, do you expect to be nearly maxing out the DAQ?
    Thank you,
    Deborah Y.
    LabVIEW Real-Time Product Marketing Manager
    Certified LabVIEW Architect
    National Instruments

  • How can I output a square wave to control a stepper motor using 7332 controller?

    I have the following system configuration for testing a linear actuator (LA):
    LabView 7.1
    NI FlexMotion 7332 Motion Controller
    NI Flex DMM 4070
    The LA is a stepper motor with Step and Direction of Rotation inputs, as well as some discrete I/O for Power Enable and other functions.
    The LA specification only requires that I send a 50% Duty Cycle square wave signal with frequency less than 300 Hz to it in order to make it step.  The LA has it's own power source.  I only need the 7332 to generate the drive signal and the DOR signal to the LA.  Using some of the example VI's, I can get the LA to work, but I will need to incorporate the functions in to a custom application. 
    How can I weed through the numerous advanced functions the 7332 offers and only generate a DOR signal and a step command at a user-defined frequency.  How do I set up the controller for this?
    Thanks

    Hello,
    All the VIs that you can use to create a pulse train and digital I/O from your motion controller are found in the "Analog & Digital I/O VIs" sub-palette in the "Flex Motion" palette. Use "Load PWM Duty Cycle" and "Configure PWM Output" VIs to create the square wave. Use the "Set I/O Port Direction", "Set I/O Port MOMO", and "Set I/O Port Polarity" VIs to create digital output. I hope you find this information useful. You can learn about the specifics of these VIs and their inputs/outputs in the NI-Motion VI Help.
    Regards,
    Aaron B.
    National Instruments

  • How to generate digital pulses to run stepper motor in a sinusoidal motion profile using NI DAQ 6229 card

    Hi,
             I need to make a stepper motor undergo rotary oscillation with a sinusoidal motion profile. As it nears the extreme points it should decelerate and finally slow down to zero velocity and then it should reverse direction and accelerate until it reaches the other extremity where it should slow down and stop and reverse direction and repeat this motion.
            The hardware is NI DAQ 6229 and the stepper motor can be controlled using digital Hi-Low (1,0) pulses. For each high pulse(1's) the motor turns 1 step. I am able to generate a analog sine wave and convert it to digital data using Analog-to-Digital.vi  But i am not able to convert the digital data to a stream of 1's and 0's in the correct sequence to get the sinusoidal profile with the amplitude and frequency i require.
            The direction of rotation can be changed by giving a pulse to another input of the stepper motor. So only half cycle of sine wave needs to be generated and it can be replayed after changing the direction to get the full sinusoidal profile.
    Any ways of making this approach work or any new approaches to this problem would be helpful. Thank You.
    Regards,
    Prabu.
    Solved!
    Go to Solution.

    Hi,
             I finally figured out a way to do it. The analog sine wave is converted to digital and sampled. Consecutive values are compared and if the least significant bit(LSB) changes then a pulse is sent to the stepper motor to turn one step.
    I have included the sub-VI's that accomplish it for the particular stepper motor and connector block i have. The front panel of both sub-VI's are quite messy but the block diagrams should be much clearer. The sub-VI's get their inputs from a third VI which i have not included. So take a look at the VI connector panel to figure it out. Hope this helps. Kinda messy but worked out fine in the end for my application. 
    Thanks again for all the help. I appreciate it very much.
    Regards,
    Prabu Sellappan
    Graduate Student
    Aerospace and Mechanical Enggineering
    University of Southern California
    Attachments:
    start motor test waveform dtest.vi ‏73 KB
    sine profile generation subVI.vi ‏41 KB

  • Error -70006 when using stepper motor in Open Loop Mode

    We have a LabView program that runs a test in which a table is rotated. At the end of the test, the table is supposed to rewind. Instead, the following message appears:
    Error -7006 occurred at Read Trajectory status.flx
    Possible reasons: For FlexMotion, an invalid axis number or other resource ID (Vector Space, Encoder, I/O Port, and so on) was used.
    We have the PCI-7344 interfaced with a UMI-7764 and a Zeta4 that is controlling a ZETA83-93 stepper motor. There is no encoder in the system for this motor. The stepper loop mode was originally set to closed loop but the motor behaved erratically (moving multiple times when instructed by MAX to move once). The stepper loop mode was changed to open loop and the m
    otor started behaving properly, but that is when the error message starting appearing. Are there any other configuration settings, such as Primary Feedback (which is now set to Encoder) or ? that I may need to correct to resolve this error?

    First of all I would check a couple of things. The reason why your motor was not behaving properly in closed loop stepper configuration is most probably related to the fact that you don't have the encoder counts per revolution adn the stepper steps per revolution properly configured for your motor. Please follow the instructions found in the following knowledgebase:
    http://digital.ni.com/public.nsf/websearch/29edb56​146f274a386256a1c00624310?OpenDocument
    When you configure an axis in closed loop stepper mode, we use the information of the encoder to generate the adequate velocity profile. If the encoder counts and steps per revolution are not properly matched, then the motor will not execute the moves properly. What you need to do is the following:
    1.-Configure your axis as closed loop stepper in the Axis Conifguration Section in MAX.
    2.- In thbe 1-D Interactive Basic panel, kill the motor and click on reset position.
    3.- Manually rotate the motor one revolution.
    4.- In the advanced panel on 1-D interactive, read the Encoder Value. This is the value you should enter on the Axis Encoder Counts per Revolution under Axis Configuration. Press Apply.
    5.- Go back to the 1-D interactive Basic Panel. Change the bullet selector unbder Stepper Loop Mode from Closed to Open. Run a 10000 step move.
    6.- When the move is finished, read the encoder counts from the advanced panel. This will tell you how many counts you have in 10000 steps. You can now calculate the stepper steps per revolution by the following formula:
    (# of steps per count)*(# counts per revolution) = # steps per revolution.
    Your motor should work fine in closed loop stepper configuration now and the error should not appear. Please make sure you are using the latest version of our driver (Ni-Motion 6.0.1)to avoid older firmware errors and fixed bugs from affecting your system. You can get it from:
    http://digital.ni.com/softlib.nsf/webcategories/85​256410006C055586256BB9002C16DF?opendocument&node=1​32070_US

  • What's the type of control for stepper motor?

    Hi,
    I'm using PXI-7358 controller, UMI-7774, Industrial Device NextStep third part microstepping drive, stepper motor SANYO-DENKI (type 103-8932-6421, NEMA42) and incremental encoder 3600 ppr (14400 count/round). I want to say what's the NI onboard type of control used to control motor step position? In the case of servomotor the type of onboard control is a PID, in the case of stepper motor what's the type of control? What's the MAX parameters to set for the project specific (overshoot, settling time, rise time etc..)? What does it means "Pull-in Window" e "Pull-in Tries" in MAX? So, it's possible control the stepper motor with user's algorithm control, excluding the onboard control?
    Thanks for your patience,
    Best regards
    Lorenzo

    >
    Matt wrote:
    > Go to SE24.  Type in cl_dd_document and press enter.  Select the methods tab.  Look for the method "CONSTRUCTOR".  Double click on it.   Click on SIGNATURE button.  The types of the parameters are clearly seen.
    >
    > matt
    TYPE and VALUES OF TYPE -- different things. For example, TYPE C -- CHAR. VALUES of this: A, B, C, ..., 1, 2, 3.
    Thus, return to question.
    TYPES: sdydo_attribute(50) TYPE c
    TYPE: sdydo_attribute
    VALUES: ???
    May be, value ABRAKADABRA correct?

  • How to run a stepper motor for an amount of time determined by a feedback?

    Hi,
    I'm using labview 8.6 and I'm trying to use a ORIEL sterppermike with a 20025 controller.
    I have implemented a VI that has a stack of commands in a for loop. Every loop has the following sequence of commands:
    command 1) start the stepper
    command 2) wait for feedback to reach a certain number
    command 3) stop the stepper
    command 4) wait a certain time before starting again 
    To start the stepper I use a subvi from the example folder:  
    C:\Program Files\National Instruments\LabVIEW 8.6\examples\DAQmx\Counter\generate pulse.llb
    --> Gen Dig Pulse Train-Continuous.vi
    I don't understand why the sequence get stuck at command 1 and never gets to command 2.
    I attach the vi for completeness. 
    Thanks to anyone that will help,
    Matteo 
    Attachments:
    SRL Matteo2.vi ‏121 KB

    Hi, I'm not sure whether this is the right place for asking this question or not and if not, then please guide me to the right place for asking such question. Thanks.
    I have a stepper motor with the Vector Network Analyzer Anritsu MS4623B. I got it up and running with the LabWindows/CVI. I need to sync the motion of the stepper motor with my data acquisition. Basically, I have to acquire the data in a way that in the start the motor will come back to home position wherever it was and then I want to move it to the specific position to do the measurements (For Example, I want to measure the 40 GHz channel between 1m to 3m movement of a stepper motor on a linear positioning system (ball-screw)). I've interfaced the VNA with the PC using LabWindows/CVI and I've controlled the clockwise and anti-clockwise movements of the stepper motor using LabWindows/CVI but I'm unable to sync the system in a way that whenever I run the code, the motor will run back to the home position and then move to a specific measurement start position and move till the end position and in between do the increment and stop and acquire the data. Is there any one to help me please? It's really urgent please and I'm doing this thing first time so please guide me in a proper way. I shall really apprecaite that and will be highly obliged with you. Thanks for your time and concern.
    Thanks and Regards.
    Attachments:
    VNA & Motor Control User Interface.jpg ‏199 KB
    VNA & Motor Control User Interface.jpg ‏199 KB
    VNA & Motor Control User Interface.jpg ‏199 KB

  • Shared variable engine modbus - Getting a stepper motor to work

    Hello,
    I am new to Labview. I need to trigger the stepper motor to start by allowing current to run through the motor. This can be done by turning bit3 on the16 bit register 007Dh. The register address has been attached below as 007Dh.png so please view that before you go any further to have a better sense of what i'm trying to accomplish. Please also note that the decimal conversion of 007Dh is 125.
    So my question is, how do you turn on bit3 of that 16 bit address? How would you translate the holding registers from the manual
    into a 5-6 digit data item that labview can understand?
    (Please refer to this page for the types of data items: http://zone.ni.com/reference/en-XX/help/371618J-01/lvmve/dsc_modbus_using/)
    Attachments:
    007Dh.png ‏17 KB

    Hello Frank,
    Thank you for the help with the modbus slave simulator, everything worked just fine. However I still can't get the real device to work with labview. I am wonding if you can answer a question for me as I am not sure I can do what I want with the equipment I have. 
    What I need to do is turn a stepping motor on and off using Labview as well as get Labview to record the speed and position of the stepping motor over time. I have an AED-AD stepping motor driver made by Oriental Motors. I have attached the user manual in case you need to see it. I am conecting the motor driver device to a computer using an RS485 converter, which oriental motors suggested I use for the purpose of using Labview to collect data. 
    My question is, will this setup work for what I need to do, or do I need some kind of data aquisition device as well? 
    After I solve this, I will be adding three more motors to the Labview program monitoring the same thing as well as some pressure sensors.
    I have just finished my second year in the engineering program and have been hired as a research assistant to solve this problem so I am completely new to Labview. If there is anything else you can suggest to read or someone I can talk to to get more information about this type of control systems I would be very greatful. So far, I have been reading as much stuff as I can find about Labview on the internet but I have not come across anything that helps me figure out if my setup is appropriate for collecting data in Labview.
    Thank you again for your help and advice! I hope you are having a great weekend!
    Kind Regards,
    Meesh
    Attachments:
    HM-60065-3E.pdf ‏1787 KB

  • Anaheim Automation stepper motor with PCI-7330 and UMI-7764

    Hi, I'm fairly new to LabView 2010 and stepper motors in general. I've been trying to get an Anaheim Automation stepper motor and encoder to work with LabView with some success but it isn't quite right. My main problem is when the home switch is activated the whole thing is killed and I cannot get it to respond unless I manually turn the motor so that it is not on the home switch anymore. After that it will run ok, unless it hits the home switch again (btw if it hits the forward limit switch it will stop but it will accept a command to move away from it).
    Could someone please take a look at my wiring diagram in the link below and let me know if there is anything obviously wrong with how I wired it up or if you have any suggestions on where my settings might be going wrong I'd really like to hear from you. 
    Thanks,
    Rob
    Wiring diagram: https://docs.google.com/present/edit?id=0AW08JmeQD7nyZHBzejljOF82OWc4NHg4Z2M4&hl=en_GB&authkey=CPbsv...
    Tech sheets:-
    Stepper motor: http://www.anaheimautomation.com/manuals/stepper/L010130%20-%2023MD%20Series%20Users%20Guide.pdf
    Encoder: http://www.anaheimautomation.com/manuals/encoder/L010723%20-%20ENC-A2N%20Single-Ended%20Encoder%20wi...

    Thanks for the reply, I am trying to run any of the find reference example VIs from NI. I've not edited the code in any way.
    The motors will run with the wiring I've posted, it'll move to the forward limit switch then come back again but it will then hit the home switch, the motor stops and cannot be started again until it is manually moved off the home switch. It has never made it all the way to the reverse limit switch meaning I cannot use home (it stops) or the centre (can't find the reverse limit) as a reference point.
    It was suggested to me I might have the grounds miswired, the manuels were not all that clear so I'm unsure.

  • How to create stepper motor signal (myRIO)?

    Hi there,
    I'm fairly new to LabVIEW, and I'm trying to run a small stepper motor with ULN2003 based driver board (one of these) with a myRIO. I have gone through a few examples in the project guide to get a feel for things, but I can't figure out how to run this stepper.
    What I'm wondering is how do I create the signals to run to the IN1,2,3,4 on the driver board? What functions would I use?
    I don't have a deep understanding of LabVIEW yet, so any specific explanations are welcome. Or, if anyone has an example VI for doing this or something similar, I can just look through that.

    Hey GregRomero,
    I'd start simple.  You can control the stepper motor controller inputs using the Digital Output Express VI, but before you to that, play around with the LED Express VI so you can see how digital outputs work.  Create a VI that looks like this:
    Run the VI and click the buttons to turn on and off the LEDS.  Then switch the LED Express VI to the Digital Out express VI and choose the DO channels you've connected to the stepper drive.  Now you can use the buttons to set the digital outputs and use the logic table on the page you linked to set the motor step.
    Once you get that working you can replace the manual button presses with generated values to drive the motor.
    Let us know if you have questions about any of this.
    -Sam K
    LabVIEW Hacker
    Join / Follow the LabVIEW Hacker Group on google+

  • Smc emy2 stepper motor problems

    Hi,
    I am trying to set up a stepper motor to run with labview 8.2. I am pretty sure that the code I have written should work so I am trying to figure out if I have wired everything correctly, I hope this is the right place for this. I have added the description and manual for the SMC EMY2 stepper motor (page 22 is where I am looking mainly for the wiring, I am using the 5-point Stoppable Type) and manuals for the two NI DAQs I am using, NI9474 for the control singals to the motor and NI9423 for receiving signals from the motor. I am using an external power supply with these that is set to 24V. I have the NI 9474 in slot 5 of the cDAQ-9172 and the NI 9423 in slot 6. I have attached to the power supply cable wires wires as described in the EMY2 manual to the power supply and the motor runs fine when using the attached controller, then I have attached the I/O wires as follows:
    Brown - Vsup of the NI 9474
    Blue - Com of the NI 9474
    Pink - line 0 of the NI 9423
    Orange - line 1 of the NI 9423
    Yellow - line 2 of the NI 9423
    Red - line 3 of the NI 9423
    Green - line 4 of the NI 9423
    Purple - line 3 of the NI 9474
    Gray - line 7 of the NI 9474
    Black - not attached
    White - line 2 of the NI 9474
    I can get the NI 9474 to output a signal but the stepper motor does not seem to react at all. I had a colleague recommend that I connect the - terminal of the power supply to the ground terminal, is that a good idea. If anyone can think of something to help that would be great and if you need more information just ask and I'll try to get it.
    Thanks.
    Attachments:
    Stepper Motor Manual.pdf ‏2396 KB
    NI 9474 Operating Instructions.pdf ‏237 KB
    NI 9423 Operating Instructions.pdf ‏401 KB

    Hi rlacroix156,
    Looking at page 22 of the stepper manual, it looks like there are two seperate power supplies that are referenced.  Are you using 2 power supplies? Also, have you considered using just one module since you are only using 7 lines?  Then you eliminate the split grounds between the modules.  Which brings me to another point.  The 9474 DIO lines are tied to the power supply ground.  The Blue and Brown lines you mention, are those DC2 or DC1?
    Kristen H.

  • Controllin​g three stepper motors

    hiii
       i am using RS232.....
       i want to ask you can i control three stepper motors with a single code.... and how should i connect  the three RS232 with a single pc to get its input from my LabVIEW code....
    i have written my code for a single stepper motor ...will the three stepper motors be got the same data.???
    thanks
    do not hesitate to give kudos

    sahil wrote: 
    the last answer:i think ActiveX can be formed by not only ocx files but with exe and dll files also...
    and i think we can form exe files using labview(by using create project method)..can this be  used to form activex??
    You think that absolutely correct sahil but it is on the manufacturer of the software whether to make the software Activex enabled or not. And also, you are talkin about .exe and .dll. So let me tell you, that this part also depends upon the manufacturer whether to include that in a .ocx file, .exe or .dll.
    Coming to your next part, you are telling that you think that exe can be formed in labVIEW. So dear friend, you think this part right too. You can make a .exe of the VIs  you make in labVIEW. But if you think that you can make an exe of an already existing exe, then you think wrong!!!! 
    Somil Gautam
    Think Weird

Maybe you are looking for