12-12-2016 08:35 AM
Hi everyone,
I have some problems with the acquisition of a TTL in VeriStand. I'm using a NI 9188 chassis and 9403 digital module, and what I noticed is that VeriStand makes bad acquisition, in fact in 5 s of logging I have more than 100 HP Count, with a target rate of 1000 Hz and a signal rate of 200 Hz. Furthermore it seems that it is acquiring wrong values and the signal that I obtain is very different from how it should be. I tried to acquire it also with LabVIEW and the signal is perfect. Does anyone have an idea of what is happening? In order to let you understand clearly I attached the System Definition File and two tdms files containing VS and LV acquisitions.
Thank you for your attention.
Francesca
12-12-2016 01:18 PM
Hello Francesca,
I believe this post is closely related to this one. The HP Count increases simply because Windows is really unable to run VeriStand's Primary Control Loop at 1000 Hz.
As I mentioned in my reply to the other post, you will need to change your approach as VeriStand will not be able to perform single point acquisition fast enough to appropriately acquire the signal. Please refer to my reply there and let us know if you have further questions about it.
Regards,
12-13-2016 04:49 AM
Hi Camillo,
Thank you for your advices, they will be very helpfull. I would prefer to use VeriStand instead of LabVIEW for the esiest programming method and simpliest possibility of development, but after your reply I will consider it as a possible option. However I have another question: if I will choose to create a Custom Device to acquire rpm signal as you've raccomended me, will it also be controlled by the VeriStand Engine?
Thank you for your support.
Best regards
Francesca
12-13-2016 08:13 AM
Hello Francesca,
The Custom Device will be "controlled" by the VeriStand engine, but both will run asynchronously.
http://www.ni.com/product-documentation/13033/en/
The difference will be that instead of acquiring a single sample each iteration from the Primary Control Loop, you can program the task to run at, for example, 100 kS/s and provide one frequency value each 1000 samples acquired, meaning you will get about 100 frequency values per second. Then, if the Primary Control Loop iterates at 100 Hz (default value), the PCL will receive 1 frequency value per iteration.
This is roughly what I would attempt. Do you need the raw digital data or only the frequency values?
Please be advised that VeriStand was designed for HIL and Test Cell applications and while it still provides some advantages to other applications (like the ones you mentioned in your message), sometimes it is not the most suitable piece of software.
Developing a Custom Device is far more complex than developing a "standard" VI. If the functionality you are trying to implement along with the frequency calculation are rather easy to program in LabVIEW, it is probable that using LabVIEW to create the program will be easier than programming the Custom Device alone.
If you provide some details about the ultimate goals from your application I can try to help you figuring out if this will be the case.
Regards,
01-27-2017 06:48 AM
Hi Cavarval,
Thank you very much for your answer. Now I'm trying to create a CD as you recommended, but I have some questions: the CD rate is set as a decimation of the PCL, but could it be greater then it?
And if I understood what you mean it seems that even if the task goes at 100kS/s at the end I will get only 1S/s (with a 100 Hz PCL), but in this way I will loose a lot of data; is it possible to get all the samples?
Thank you.
Best regards
Francesca