Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronizing 2D axis movement with indepedent velocity and position

I am coding a motion control system using an NI-73xx motion control board and 2 stepper motor linear slides.  The requirement is for both slides to move at the same time (synchronously) yet each slide must have its own velocity and travel distance.  I coded the two axis successfully so they both will run one at a time within a state machine.  Then I created a state where the two axis ran in parallel.  This worked but the 2 axis were out of sync.... duh, I should've known that!

Anyway, I rewrote the state machine "Run Both" instance using the Start Motion.flx set with Axis\VS Map configured to run axis 1 and axis 2 along with the Resource input set to Axis Control (0).  I'm still having problems. The x axis only runs 1 time.  the y axis runs too many times?  I'm not sure whats going on.  Can someone look through the block diagram and tell me what I am missing.  I have been staring at it too long and I know I am overlooking something(s).

 

Thanks,

Christian

Download All
0 Kudos
Message 1 of 10
(6,052 Views)

Hi Christian,

 

This information that you have provided does not give me much information to help the problem.  Have you tried using any of the debugging tools in LabVIEW such as highlight execution?

Stephen Meserve
National Instruments
0 Kudos
Message 2 of 10
(6,035 Views)

Hi all,

 

I am also facing the same problem. My system is conducted with two independent motors. Those two stepper motors are RK566BAE (Oriental Motor). They are connected to UMI-7764 to Axis 1 and Axis 2. The UMI is wired to PCI-7332 controller. I am using LabView to program for the motors. However, I have not been successful yet to drive both motors simultaneously. They are runing sucessively. Could you please advise me how to make them to start at the same time with different velocity, acceleration, decelaration and step.

 

Thank you so much.

0 Kudos
Message 3 of 10
(5,608 Views)

Take a look at the blended move example in LabVIEW.  You should be able to do a blended move and control both motors simultaneously.  This example is located in the Example Finder (Help»Find Examples...) under Hardware Input and Output»Motion Control»73xx»Arc Move»Sequence of Blended Lines and Arcs.vi.  You could also do a contour move which would control both axes simultaneously as well.

Regards,

Chris L
Applications Engineer
National Instruments

Certified LabVIEW Associate Developer
0 Kudos
Message 4 of 10
(5,581 Views)

Dear Chris L,

 

 

Thank you very much for replying me.

 

 

For the Arcs Move: two axes are running simultaneously, but they have the same velocity, acceleration and step (radius). Then i could not control the velocity of each axis as long as its accelaration and step independently.

 

For the contour move: PCI 7332 does not support this movement.

 

My problem is how to run both axes simultaneously with different (adjustable) velocity, acceleration, and step (radius).

 

 

Please advise me.

 

Best regards.

 

 

0 Kudos
Message 5 of 10
(5,571 Views)

Are you configuring each axis independantly?  From the JPG I posted at the beginning of this thread, I configure each axis indepedantly.  Then I start each axis at the same time.  I was using the NI-7334 board.

 

CJ Landry

0 Kudos
Message 6 of 10
(5,539 Views)

You are absolutely right, the 7330 series do not support contour moves.  I apologize about that.  You should still be able to control each axis independently however.  You just need to pull the controls for velocity and acceleration into the while loop.  I have attached an example of the simplest way of doing this.  In this example, you set the board ID and axis before running the program.  Then, during execution, you can change the velocity, acceleration and target position and the motors will respond accordingly.

Regards,

Chris L
Applications Engineer
National Instruments

Certified LabVIEW Associate Developer
0 Kudos
Message 7 of 10
(5,535 Views)

Good morning guys!

 

Hello Chris L,

 

Could you please re-send the Labview 8.6 version of the file for me. I have only LabVIEW 8.6 in my laboratory.

 

Thank you very much for you prompt response.

 

Best regards.

0 Kudos
Message 8 of 10
(5,523 Views)

Because of the specific VI's used in this program, I am not able to save it for previous version.  However, I have taken a screen shot of the block diagram so that you can build it yourself.  It is a very simple program and most of the VI's should still have the same name in 2011 as in 8.6.  One thing I will point out is that the synchronization occurs in the flat sequence structure.  By having the smart motion VI's within the sequence structure, the motors will not be updated until both VI's receive data.  This is still software timed synchronization, and so it will be dependent on Windows OS jitter which can be as much as 500ms depending on how many processes are running.  Depending on your application though this might be a sufficient amount of synchronization.  Please let me know if you have any questions about this program or the VI's I used.

Regards,

Chris L
Applications Engineer
National Instruments

Certified LabVIEW Associate Developer
0 Kudos
Message 9 of 10
(5,515 Views)

Dear Chirs L,

 

Thank you very much for you valuable instruction. Based on it, i figured-out the solution for my problem.

 

I really appreciate your help.

 

Best regards.

0 Kudos
Message 10 of 10
(5,507 Views)