I`m making a series of VIs that calibrate a series of outputs. The outputs are connected to the inputs of the same board through a loopback board so that both inputs and outputs can be tested at the same time. After the calibration I turn on one or more outputs and then read back the state of the inputs.
I`m reading to and from a serial port and the commands are set up as a series of menus that are usually viewed in TeraTerm. Each time I send a command the menu or menu item and all information is sent to the recieve buffer.
My VI to read this information back uses a VISA read command which returns all the information starting at the first command made in the VISA session. I then search through this information to find the information I want (I know this might not be the best way.) This works fine when I run it in LabView and reads over 18000 bytes (the same number that there are at the receive buffer) that are then displayed in the front panel of the VI.
However, when I put it in TestStand the VI only shows about 4000 bytes at the receive buffer and only reads back 2 or 3.
Is there some setting I need to change in LabView or TestStand
Any help would be much appreciated.
What versions of Teststand and Labview are you using? Also are you configured to use the Labview Development System or the Run-Time Engine from Teststand? To ensure that you are using the Dev System you can follow the instructions in this article. Is the VI being run with the same configuration and under the exact same circumstances in both scenarios?
I`m using TestStand 2010 and LabView 2011 (they`re both evaluation versions.) I am using the development system. There are multiple VIs but they are configured the same in each case.
Are you running the VI from a Teststand sequence which performs other operations? Have you tried running it from a sequence which only runs that VI. If it is being run with the same configuration and while receiving the same data, then the behavior should be identical whether it is run from Teststand or not.
Configure each step or the sequence file as a whole (Edit -> sequence file properties) to preload when opening sequence file and unload when closing sequence file (don't forget to save/close/re-open the sequence file after that) and seee if that makes any difference.
You're possibly seeing timing differences between executing code directly in LabVIEW vs. calling LabVIEW code from TestStand. Are you using the Bytes At Port call in the Serial Palette in LabVIEW? What type of delays exist between the write and read calls?