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.
Counter tasks can only take 1 channel, due to the nature of timed signals, obviously. When setting up a system with 16 DUTs with counter outputs, this requires 16 tasks. Every single one has to be painstakingly created and configured. (As an aside: Defining a tabulator sequence still seems a mystery to NI's programmers, even though LabVIEW supports this)
Wouldn't it be nice to have a Ctrl+c,Ctrl+v sequence for tasks and then only modify physical channel? IMHO: yes.
If you use Global Virtual Channels instead of Tasks, you can right-click and choose duplicate. This will bring up a dialog allowing you to choose the physical channel for the new virtual channel. You can then create tasks that use those Global Virtual Channels.
This will allow you to avoid redoing the channel-specific configuration. Unfortunately, the timing and triggering is still task-specific.
So I tried and I can confirm that while a copy of a Virtual Channel is created, still the individual timing config remains the same nuisance as with tasks.
Hence I still see it as a viable idea..... Kudos apreciated 🙂
I will add a Kudos, but I am somewhat torn on duplicating tasks.
Tasks normally have a large number of channels associated with them. The interface to remap them on copy/paste or duplicate would likely end up being significantly more complex than the one for channels.
You make a valid point in the notion of multichannel tasks. However, in my line of work, I often encounter DUTs that work with PWM signals in either direction and preferably with 8, 16 or more DUTs.
Analogue and digital tasks use common timing for all of their channels. But since counter pulses come with their implicit timing, only one channel per task is permitted.
Of course, I could start with an iterative LabVIEW construct to define the tasks within the VI. Or use the Global Virtual Channel C'n'P and change only timing parameters in a loop. So it may a little bit of laziness, wishing for a C'n'P solution.