11-23-2022 01:01 AM
I'm using a PCIe-6351 DAQ card for driving a stepper motor and an encoder. What I need is the Finite Pulse Train Generation as described in X-Series User Manual. Next to the stepper motor I have also a quadrature encoder which uses the sample clock from a counter from the DAQ card.
For this implementation I need 3 counters (one counter for quadrature encoder, one counter for sample clock for encoder and one counter for stepper driver (finite pulse train).
Now I read in X-Series user manual, that in legacy Mode, the finite pulse train generation needs 2 counters:
X-Series User Manual (Chapter 7-29)
When not in legacy Mode, only one counter is used with an internal embedded counter. I found an article on ni.com about NI-STC3 technology (only german version: https://www.ni.com/de-ch/support/documentation/supplemental/09/what-is-ni-x-series-.html). It describes, that with this technology only one counter is used, where former 2 counters are used.
My question now is, what is this Legacy Mode? I didn't find anything about the legacy mode or if my used card has this STC3 technology.
Does this anyone knows?
Thanks for any help.
Solved! Go to Solution.
11-25-2022 07:42 AM
Some thoughts to help you along:
I've used NI DAQ products for a long time, and honestly each "series" of DAQ gets more and more complex. I've never heard of this legacy mode. However, you can try this: after you install NI-DAQmx with LabVIEW, there should be shipping examples in the Example Finder. If your goal is to produce a finite pulse train, try running the VI called "Counter - Finite Output.vi" (see pic for location.) This example is compatible with your hardware PCIe-6351, so I'm confident it should work.
From the front panel you can set your pulse frequency and the number of pulses that you want. However, I would like to point out that for motor control and reading encoders, a motion controller is much easier to use than a general-purpose DAQ card. With a motion controller, you can define velocity and acceleration of your movement, and you won't have to worry about these weird counter synchronization stuff.
Let us know if the example works for you. In the meanwhile, you can check out this for a LabVIEW-compatible motion controller: https://geco-lv.com/geco-motion.html
11-26-2022 10:12 AM
I'm not aware of this "legacy mode" or how to configure it. But I *can* tell you that the normal behavior for the 63xx family of X-series multifunction boards (which all use the DAQ-STC3 timing chip) is to use only 1 counter to generate finite pulse trains. Prior generations of timing chip (DAQ-STC2, NI-TIO, DAQ-STC) used to require 2 counters as described in the verbage about "legacy mode."
I'm quite sure that unless you go out of your way to force the device into "legacy mode" (and again, I don't know how to do it or why one would want to), your 6351 will only need to use 3 of its counters to accomplish the 3 functions you described.
(Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
11-28-2022 03:38 AM
Thank you for your reply.
I have already used this example to implement it in my code and it worked well. I was just wondering, what this legacy mode is and if my used card really has this STC3 timing chip.
A motion controller is not suitable for me, because the used stepper motor is not controlled with encoder. My encoder has another function on another motor-axis. And the stepper motor is an open loop application, I don't need accuracy and it doesn't matter if I loose some micro-steps.
11-28-2022 11:20 PM
Very nice, glad the example code worked for you.