From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Send a clock pulse for a certain period of time

Hi,
I'm using Labview 6.1 and a PCI 6024 E-series. I have an x-y table which is controlled by two stepper motors. I have driver boards for the stepper motors so all I need Labview to do is send a clock pulse to the driver boards. I have a VI constructed that allows me to move the motors at different speeds and directions. What I want to do is move the device in a certain sequence. The device starts in the top left corner and moves horizontally until it reaches the end (indicated by a digital input going low), I then want it to move for say 2 seconds downwards. After it has moved downwards I need it to travel back towards the left until it hits the left hand side (indicated by another digital input going low), it will then move downwards again for another 2 seconds and this process will continue until the bottom is reached (indicated by yet another digital input goin low). So basically, I need a way of activating the clock output to the vertical motor for 2 seconds when a digital input is triggered. At the same time the horizontal motor needs to stop for 2 seconds. Is this possible to achieve? Any ideas are very welcome!! I have attached the program that I've constructed so far.
Cheers
0 Kudos
Message 1 of 2
(2,406 Views)
Study the event structure operation.
I think it will make the coding a whole thing a lot easier for a manual control system.

Perhaps you could send the number of pulses to a counter which counts at set rate then when pulse train reaches zero the motors will stop exactly at the correct position. I am not familiar with the board so I don't know if it supports a counter, you can look this up easily enough though.

Make the limit checking a bit more generic. You do lots of looking at various inputs then looping and stuff. I suggest that in principle you only need to initialise the system to the limits then if you can use the system suggested you will always know where the system is on the XY plane.

Generally -
Think more along the lines of Input - Process - Output

You want a generic positioning system which monitors its own hardware limits. Then layer on top a set of code (VI) to 'Block Program' positions.

I hope this is of some help.
0 Kudos
Message 2 of 2
(2,389 Views)