Hey everybody,
I've developed a data acquisition application that acquires data through a rs-232 port. The way it works is as follows:
I have one while loop that is only responsible for raw acquisition. It acquired raw data strings (such as: On, pressure, 23.3, 34, 3.4...) Each of these raw strings pass through a comma check to ensure they are in the correct format. If the string passes the check, it is passed out of this while loop through a notifier. I have a count that keeps track of every time a strings passes the check, and it adds one to the count each time this happens. Therefore, if a string doesn't pass, the count won't add one, or if the controller stops outputting data, the count will not increase.
In another while loop, I have a VI that is responsible for parsing each data string. It essentially takes each raw data string and parses it into individual values which are inserted into individual arrays. The index at which each of these values is inserted is obtained from the count in the raw acquisition loop. Here something very strange happens. At random points when the program is running, the parse data VI will stop inserting each of these values into the array, but the count still continues increasing and each individual data element is still being parsed out. I use the probe and can still see each value being parsed out and the count being incremented. But at random points the values will simply not be added to the arrays. The arrays will reach some random size and after that not accept any other values! I have about 15 different arrays that are part of a cluster that goes into a shift register for my parse loop. It's very weird that the count still increments, the values are still being parsed out, but the arrays stop growing at random points (one time it will be at 170, antoher time at 400, another time at 520.....completely random)
Any thoughts on why this would be happening??
Thanks!