04-18-2018 02:31 PM - edited 04-18-2018 02:32 PM
Hi kmgurl,
all your VIs look very old, using TypeCast marked as "4.0" version or those old timestamp functions…
And they look very complicated and error prone!
I guess that "2000 proof date" could be replaced by this little item:
This isn't related to your problem, but shows the complicated (or "unusual", or "error prone") way your VIs are written.
They surely used to work for LabVIEW7 (or older), but times have changed a lot since then!
Please follow Kevin's suggestion…
04-19-2018 11:33 AM
Again, thank you guys so much for your time and input. I can't say I 100% understand the problem, but I think I've pretty well localized it to the Matlab script, and I'm betting that this page is pretty important: https://www.mathworks.com/help/matlab/ref/flintmax.html. It says that the largest consecutive integer in IEEE single precision is -- you guessed it -- 2^24. I don't fully why my array suddenly zeros out every other number, while every other one seems to be reasonable data, but something clearly goes haywire when that limit is reached, and I should be able to work around it by reading the binary file into an array of doubles.
You're all absolutely right that this code is sloppy and old. If I had a firmer grasp of LabView programming and more time, I'd invest it into fixing up the system.. perhaps I still will!
04-19-2018 03:08 PM
I just tested what happens in LabVIEW if you try to convert doubles slightly greater than 16777216 to singles, and what I found is that the result is always even. Sometimes you'll get three in a row of the same value and sometimes just one, but essentially it ends up counting by twos, skipping all of the odd values.