LINK TO MEASURING VI
LINK TO RESPONDING VI
LINK TO RUNNING
In order to measure the amount of liquid helium in the system at any given moment, a user interface with the platform LabVIEW is needed. The level of liquid helium is controlled by the position of the run valve, which allows it to flow from the separator to the nose (for more information on this process, follow THIS LINK and find Low Temperature: Cryogenics). The run valve has can have any position between 0 and 3 "turns", with 0 turns being completely closed and 3 turns being completely opened. LabVIEW is used to provide a means of automatically measuring and responding to the helium level inside the tank. This is done by running two separate Virtual Interfaces in unison, a Measuring VI and a Response VI.
When the VI is first opens up, the first panel to appear is the interface. This panel is where you can comprehensively see how full the tank is at any given moment, and can change a few control factors of the code.
One of the controls that will need to be set before the VI can run is the file path (see below). You should set this to a location on your computer's hard drive.
Next, you will need to set the standard deviation of the flow rate randomness curve. In order to provide a more realistic measurement of the level, randomness was introduced into the flow rate equation to account for small variations in flow. In order to keep this variation realistic, you shouldn't set the standard deviation anything higher than 1. Also included in the interface are indicators for certain values pertaining to the system at that iteration. For instance, above the standard deviation control there is a "theoretical flow rate" indicator, (in other words, the flow rate calculated before randomness was applied) and below it there is a "realistic flow rate" indicator (the flow rate with randomness taken into account). The blue tank is comprehensive indicator for the level at each iteration. It is measured in percentages of 0 - 100 % full.
To the right of this section of the interface there are indicators for the current valve position, the current iteration number and the new level as calculated by the VI. These values are calculated every 1 second (the length of time of one iteration of the code).
The Measuring VI code uses the reading of the valve position from the Response VI (which will be described later in this link), and uses that position to change the level in the "tank".
In order to read the valve position for a specific iteration, it must be read into the Measuring VI through a text file. The file that contains the valve position data must be accessed, and it is opened outside the while loop in order to keep the VI running as smoothly as possible (when the file is opened inside the while loop with each iteration, the VIs tend to communicate slower and therefore do not have as long of a run time). When the file is accessed, it takes the last 8 characters from the txt file, which include the width of the number string itself and two end of file characters. The width must be carefully looked at before running, as it is sometimes difficult to get the correct one. If you are receiving an error about how one of the characters is unrecognizable, then it is likely that the width is off. Also, if you check and see while the VIs are running that the valve positions displayed in both VIs do not match, the same issue is present and the width should be altered. Once the correct valve position string is recorded, it should be converted into a usable number so it can be used in the equations to follow. Finally, the file should be closed when the loop has completed, preferably outside the loop as to not slow things down, but if you want to be able to access the data easier while its running then you can put it back inside the loop.
While any equation would work, the equation in place for the flow rate is y = 1/4*ex - 2/5, where y is the flow rate in m/s and x is the valve position in turns. 1/4 was chosen as a constant coefficient for leveling out how much the flow increases, and 2/5 is the constant rate of evaporation of the liquid helium.
After this equation is performed in LABView, the randomness generator changes the flow rate from the theoretical to a more realistic one, in order to account for viscosity or variations in amounts, etc.The randomness generator uses a standard deviation to return a number that is around the theoretical flow rate, where the average of all the flow rates for each iteration is close to the theoretical.
This is an example of what the Response VI Interface will look like when first opened.
In the top left hand corner of the interface is run VI icon, and next to it is the text filepath which the user can set. Below is the option for automatic mode (when the VI itself changes the valve position with each iteration) or manual mode (where the user has to specify the exact valve position at any given instance), the boolean indicator for whether the VI and motor are connected properly, and another icon to select when you would like the valve position data to be saved into the text file. Still below that is the indicator for which COMPort the VI is connected to and the valve position indicator. Finally, there are control values for the minimum valve position and maximum valve postition that the user desires for that particular test or trial.
In the middle left of the interface is the control for the target level, which is the level of the tank, set by the user, that the Response VI tries to maintain throughout the trial. Also, if manual mode was selected, the user would have to set the number of turns open in a control located below the target level (in the image above, the VI is running in automatic mode, and so this icon is greyed out. If it were in manual, it would be clear and the target level control would be greyed out instead).
The two images above display the three graphs found in the interface, which from top to bottom, respectively, show the level (in other words, the fullness of the tank at that iteration), error (from the target level) and valve position with respect to time. Next to the level graph is an indicator for the current level at that iteration, based on a percentage of 0-100%.
Lastly, in the bottom left hand corner of the VI is the option to enable advanced controls for the PID loop. If this icon is selected, the PID gains table will appear to its right. The pid loop uses a PID controller and equation constants to run and maintain the level. Unless you have a deep understanding of these coeffecients and need to make edits to them to increase the VI's efficiency, do not try to change these values. If advanced controls are enabled, .............. At the bottom there is the developer table which ................
explain