Control of DMX J SA 17 stepper motor in Labview

Hi,
I'm trying to build a simple program to control an Arcus Technology DMX J SA 17 stepper motor via USB. I'm basing my program on the example which Arcus provide on their website, and which I attach in an llb (the program is demo.vi, the rest are sub vi's). 
The motor also comes with a piece of standalone software for controlling it, and this program works fine - which implies that there is no problem with the hardware or connection. 
The problem I'm having is that when running the demo, having input some arbitrary positions for the motor to turn to, it returns error 8004:
"LabVIEW:  An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.
=========================
NI-488:  Command requires GPIB Controller to be Controller-In-Charge."
The error is confusing because the control mechanism does not use GPIB hardware or commands, also the VI was made by Arcus and I would have expected them to handle the formatting of the data inputs correctly.
Any help would be much appreciated
Dan
Attachments:
PerformaxLV_v102.llb ‏500 KB

Hi Jack,
Thanks very much for your help. I've managed to complete the VI now, working as was intended. The principle problem came from trying to use demo.vi as a standalone - it turns out all the vi's in the .lib are sub-vi's apart from utility.vi. This was of course, not at all clear - and I've emailed Arcus recommending that they includ some descriptive documentation with the .lib download. 
What was happening was that demo.vi was trying to send commands without having first established a communication channel, which is done by two other sub-vi's in sequence (device selector and open device). Also, once communication is established, the motor needs to be sent the command string 'EO=1' to be enabled.
I attach the final vi I made 'motor control' and the sub vi library, incase anyone working with the same hardware finds them usefull.
Thanks again,
Dan
Attachments:
Motor control.vi ‏92 KB
PerformaxLV_v102.llb ‏449 KB

Similar Messages

  • Sinusoidal velocity profile of a stepper motor using labview

    Hi I am trying to get sinusoidal velocity profile of the stepper motor using labview.
    Could anyone please help me out...

    I'm also really interested in this solution.
    I think you could do it by controlling the velocity of the stepper with points (excel) or function maybe... but that's an idea...

  • Write a Labview program to control both speed and direction of stepper motors

    Hello,
    I am currently undertaking a project in University. As part of it I have to run two stepper motors at varying speeds, and one of them in forward/reverse. The motor I have for the project is a RS 191-8334 (V9728) and the controller is a RS 240-7920 (v10900). I have no experience of using Labview, and the version I have on my laptop is Labview 10. Any help would be greatly appreciated.
    Ideally I would want a program to do both full/half steps, forward/reverse, have speed control and be able to control the number of steps.

    Hi Wef,
    I would need to know more information about the devices in order to assist you.
    What inputs does the stepper motor controller require and what hardware are you using to supply the required signals to the motor.
    Best regards,
    Stephen C
    Applications Engineer

  • Running 2 stepper motors with LabVIEW using RMV ST400-NT controller and driver

    Hello, I am new to programming as well as motors in general so please bare with me in my attempt to explain myself. I have a project involving laser therapy and I am attempting to control two stepper motors from Falhauber, Type AM2224-R3-AV-4.8. I will be using a RMV ST400-NT controller and driver. Original plan was to use 3 stepper motors for control in 3 axis but realized 2 axis is complicated enough. My power source is an Agilent E3630A. I am new to this whole thing and from what I have read form examples and other posts is that NI drivers seem to work best for these applications. I've written simple programs from examples, reading and watching videos. I want to know whether it's possible for these to work together using LabVIEW and also a nudge to help me get started would be much appreciated. Can someone please help guide me in the right direction, I feel a bit lost when it comes to all this. Thank you for your time and consideration.  Also, I will be using Windows 8 laptop with Labview 8.5. I have attached pics of components I will be using.
    Justo T.
    Attachments:
    photo 1.JPG ‏1150 KB
    photo 2.JPG ‏987 KB
    photo 3.JPG ‏1085 KB

    Hi jtarula,
    I want to preface this response by saying that I am mre familiar with NI controller and driver rather than the one that you have. I am assuming that you are using the dll provided by the manufacturer here:
    http://www.rmv.com/download.htm
    With these, you should be able to interface with LabVIEW using the call library function node. What the controller is capable I am uncertain of. I am certain that you should be able to since another user has commented on the use in LabVIEW before in another forum post.
    I also want to let you know that LabVIEW 8.5 is not supported on Windows 8, which means that you may run into some compatibility issues. Here is the compatibility chart.
    Paolo F.
    National Instruments
    Applications Engineer

  • Stepper motor speed control

    Dear Reader,
    I want to control the speed of a 4-phase stepper motor using LabVIEW 6i and PCI 6024E card. Hence I am approaching you for help and advice. I want to control the speed of a stepper motor, which is used for rotating the diffraction grating used in the monochromator.
    Please try and answer a few of my questions:
    1. Can I interface the stepper motor directly with the card PCI 6024E, or I need a drive for that purpose?
    2. I just want to rotate the stepper motor at a fixed speed, meaning that I don’t want to change the speed of the stepper motor in between, I need a few fixed speeds, what are the problems of controlling the stepper motor using the PCI 6024E cards?
    3.Have you been successful in interfacing your stepper motor
    with the 6025E card?

    I have attached a library about steppers from Brad Hedstrom. It is very old and I think he would write it differently today, but it answers all of your questions. Except the typenumbers of the interface cards and that is answered by: they all are ok.
    greetings from the Netherlands
    Attachments:
    stepper.zip ‏96 KB

  • Suitable card for three stepper motors

    Hello everyone, 
    I want to ask which DAQ card would be suitable for controlling three (X,Y,Z stage) stepper motors using continuous and/or finite pulse generation.  X and Y stages have to be independent on each other (i.e. diagonal movement), Z one does not but it would be nice. Solution may include buying two cards to ensure the independency of counters.
    I have heard that for finite pulse generation two counters are used for one axis (stage). Does it mean I need a card with six counters? Or two cards with four and two counters? In that case, our lab is equipped with the old 6035E card providing two counters (unfortunately not independent in finite pulse generation mode probably due to the statement above), which could handle one of the axes. 
    I dont want to use DIO for pulse generation because there is no possibility to control the frequency of pulses. Frequency for the stepper motor varies from 1000 to 2000 Hz. 

    Hi Diego,
      There is a way to only use one counter to output a finite digital pulse train.
    Normally when performing a finite counter output operation, two counters are required. One counter is used to actually output the pulses and another is used to gate the first counter and therefore output a finite number of pulses.
    The way to accomplish this same behavior with a single counter is by setting up a continuous pulse output task with a start trigger and a pause trigger. The pause trigger takes the place of the second counter normally used as the gate signal, freeing this counter to be used for other operations. 
    Finally, an external source must be used to create a pulse of a desired width in order to achieve a finite pulse train that used a single counter on the PCI-6602.  In the case below the external signal is passed to Dev3/PFI0, which has been configured to be the pause trigger source terminal. 
    Pause triggers are only valid for continuous sampling mode with implicit timing. You can find the properties for the proerpty node in the following locations:
    Properties » More » Pause » Trigger Type
    Properties » More » Pause » Digital Level » Source
    Properties » More » Pause » Digital Level » Pause When
    For each property, right-click the terminal and select Create » Control or Create » Constant  from the shortcut menu.
    Keep in mind also that there are stepper motor controllers available from NI like 7332. For more information check the link above:
    http://sine.ni.com/np/app/main/p/sn/n21:6/ap/globa​l
    May you have further questions dont hesitate to ask!
    Best regards,
    David Varga
    Applications Engeneer
    NIH

  • Which stepper motor is required to connect with labview

    title:fault detection in pen. i am doing a project in image processing using labview .i want to  interface stepper motor with labview using daq how can i interface and which type of stepper motor is suitable for rolling metal sheet in which the pen is placed at the top

    I would start with the motor and work down, Labview will woek with any.
    1.  Figure out how much motor you need: torque, speed, resolution, size (nema 23, 34 .....)
    2.  Select a drive for your motor: many diferent drivers to control a particular motor, How much current is required, motor voltage, inductance
    3.  Determine the interface to the controller: step and direction, cw/ccw, serial.  (I  like step and direction)
    4.  Determine support options for the motor, encoders, limit switches ...
    5.  Now you can select your ni card to match the interface, (NI Motion- good for copmlex interfaces and multimotor synchronization, Digital/ counter timers simple but limited conmplexity, less expensive but more software needs to be written)
    This all depends on budget and requirements.
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • 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

  • 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 can i control the motor movement of stepper motor using a NI PXI 7330

    Good day to all,
    i'm a newbie in programming in motion control of NI. I just want to ask if how can i control the clockwise and counter-clockwise rotation of a stepper motor using NI PXI 7330 module. all i can do is the counter-clockwise rotation using the example vi (Simple one-axis move.vi) found in the examples of LabView 2009.
    Thanks

    what type of limit switch sensor are you using and how did you wire itß What are your MAX settings regarding the limit switches?
    Good day SIr Jochen,
    I am using two reed switch for the reverse and forward limit. I wired the signal wire of the reed switch to the limit ports(forward and reverse Limit) and its ground to the digital ground of the UMI-7764.
    the attachment below is the my max configuration about limit switches
    Attachments:
    max configuration.JPG ‏155 KB

  • How do you control LED lights on the front panel to identify the number of steps a stepper motor has taken?

    I am controlling a stepper motor that is coupled with a valve with four outlets (using an Arduino).  I've got a general understanding of how to control the motor, but I want LED lights on the front panel to light up that indicate which outlet the valve is currently at after the steps are taken.  The method I'm thinking about involves a lot of repetitive code.  I'm not that experienced with LabVIEW, I'm assuming I need some sort of loop structure but I don't know how to set it up in order to control the sequence of the LEDs.  I've attached my current block diagram for a visual aid if needed.
    Attachments:
    Capture.JPG ‏33 KB

    I was thinking about using the Stepper To Go and Stepper Write functions four separate times, using the same constants for the steps each time since the distance between each outlet is equivalent.  The only difference would be what's connected to the "steps remaining" node, which would be the function that activates one of the four LEDs (if that makes sense).  I was thinking that doing it this way would be a little counterintuitive since the only thing that needs to be changed is the LED indicator.

  • Using LabView, Arduino, and Easy-Driver to control a Stepper Motor

    Hello fair folks of the LabView forums!
    I am a humble engineering student in need of some advice and input on a project I am working on.
    I’ve also done a fair amount of reading on the LabView forums with people trying to use LabView and Arduino to control stepper motors, and I’ve used as much information from each as I could. However the problem I'm encountering now is one which is unique to my VI Configuration.
    So, here is what has been done thus far:
    -Installed LabView Interface for Arduino [LIFA]
    -Installed necessary VISA drivers for LabView to communicate with arduino
    -Uploaded firmware to Arduino to allow it to communicate with LabView
    -Properly wired Stepper Motor with Easy Driver and Power Supply; I have verified this by first using the Arduino independently of LabView, using example code found here.
    -I have created a VI, and have just recently got it to run without reporting back any errors. While I suspect the behavior I’m encountering has to do with something inside the VI, it is difficult to determine as there are no errors being reported!
    But here is general problem I am encountering:
    -Connect Joystick to USB Port, connect Arduino to USB Port.
    -Plug in outlet for Power Supply
    -Open LabView VI
    -Run LabView VI
    -LabView successfully detects Joystick, and Arduino.
    -Tilt Joystick; Stepper Motor moves in proper direction, but it only takes a single step. If held, it does not move further. If returned to zero, and then tilted, it again only takes a single step.
    I know that in the example code, the Arduino issued the step command by writing the signal from LOW to HIGH, and varied the speed by how often it did this.
    I assumed that the Write-PWM feature would do this same thing, but perhaps my assumption is wrong. I will continue to tinker with this myself, but I would be extremely grateful for any insight you might be able to lend.
    I’m thinking, if not the Arduino Write-PMW feature perhaps a simple timing-sequence that could be used to alternate between writing 0 and 1, with the timescale of the sequence being scaled to the X-Axis from the Joystick. But, I am open to suggestions, and certainly appreciate any thoughts you may have to offer!
    Attached to this is the VI used in this setup, a picture of said VI, as well as a rough sketch of the hardware configuration.
    Thank you!
    Attachments:
    Arduino Stepper Control.vi ‏1224 KB
    VI Picture.png ‏82 KB
    Configuration Sketch.png ‏522 KB

    Hi danjifraga,
    I am not so familiar with the Arduino toolkit functions, but you may have better luck looking at the Arduino page at:
    www.ni.com/arduino
    I'll ask around on Monday to see if anyone is more familiar with the toolkit.
    Good luck,
    Brian
    Brian G.

  • Can I control a stepper motor by a time varying velocity input?

    I want to control the motion of the stepper motor by a velocity input that looks something like a Sine wave.The velocity is changing as a function of time. Can I change the velocity of the motor at a prescribed time interval?
    Thanks in advance
    Kevin

    Thanks for getting back to me on this. The controller card that I have is the PCI-7342 controller card. The time of a cycle is about seven minutes. I want to ramp the RPM of the motor from zero up to a max value then return it to zero and then go in the opposite direction . A graph of the RPM vs Time is attached.
    I thought that I could input an array of velocities into a Load RPM VI and specify the time for each input.I have not been able to do this as of yet, because the load RPM VI will not take an array input.
    All these inputs would be made in labview so they are inputs for the controller card. I was under the impression that the controller card generates the steps and direction from the data entered in labview and sends the step and direction impulses to the driver. Do I have the method of operation right?
    Do you think this is possible?
    Thanks again

Maybe you are looking for

  • Insert numbers starting with one in each xml files sequentially

    The following is a sample of two of my xml files <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE article SYSTEM "abc.dtd"> <article xyz> <front> <product> <citation citation-type="book" id=""> </citation> </product> <product> <citation citation-type

  • Scanner integration in Business One

    I have a couple of clients that wish to scan documents into activities.    SAP's help indicates "If a scanner is connected to your computer, you can scan documents directly and link them with the corresponding object in SAP Business One. The location

  • PS Elements Update fails.  Suggestions?

    Adobe Photoshop Elements 9.0.3 Update Patch cannot be applied. Please contact product support. Error Code: U44M1P2003

  • RESTful webservice with Jersey

    Hey all, I'm building a RESTful webservice with Jersey on top of my EJB layer. This all goes well, the simple CRUD operations seem to work, but now I seem to have some trouble to add the extra functionality. I've got a category which I can get by id

  • Adobe Captivate 6 Content master slide order changes when used

    Hi, I'm using Captivate 6 to create a template. I made a content master slide with a specific order. But when i insert this content master slide, the object order changes. Is this normal? And is there a (simple) way to fix this? Thanks in advance