Vacuum System Software

Vacuum system is controlled by a LabView based software system running in two components: [[compact rio]] and [[host]]

The [[compact rio]] code runs on the DIN rail mounted National Instruments [[compact rio]] “real-time target” located in the equipment cabinet. The [[host]] software can be run on any PC connected via ethernet to the [[compact rio]]. The host and cRIO code communicate via a series of network published shared variables. The shared variable engine runs on the cRIO making the variables available anytime the cRIO is in operation.

Initialization & Settings

Configurable settings are maintained in a text file c:devicesettings on the [[compact rio]]. When the compact rio is initialized this file is read and parsed into seperate shared variables (shared variables do not support arrays of clustors). Host computers must read the same file from the [[compact rio]] when initializing to insure integrity of the devices.

Device Settings Table Configuration

Each line of the settings table has several parameters
– Type: Class of Device (“Valve”,”Getter”,…)
– Number: Unique number assigned to each Control.
– Setpoint: On/Off Setpoint condition of Control. This value will be set at startup
– Status: Status of Control. Not Active
– In1Stat: status of indicator 1 for device. Not Active
– In2Stat: Status of indicator 2 for device. Not Active
– Dev: CRIO Device associated with control
– In1Dev: CRIO Device associated with Indicator 1 for this control. For Modbus Serial Devices put the Modbus address here
– In2Dev: CRIO Device associated with Indicator 2 for this control
– SetPointData: Use for controls which require both a boolean (on/off) and numeric info
– Time: Used for timed controls
– Enable: Allow access to control from front panel.
– Readable: Determines if device has an associated parameter that is returned

To add a new device: Create a [[Valve control]] front panel control with a label that corresponds to the desired device name, then add the appropriate information in a new line of the Device Settings table. The cRIO will need to be restarted after the change.



Changes that originate on the host computer, either from the valve control front panel or a running sequence are communicated to the [[compact rio]] through the [[Events]] and [[Events Pending]] variable. The host computer first sets the Setpoint, setpoint data, Time and other parameters in the appropriate variables, then the host computer appends a number to the “Events” variable corresponding to the device # in the settings table and sets the [[Events Pending]] variable true. The [[compact rio]] continuously polls the [[Event Pending]] variable and will switch the appropriate device to the values established by the Setpoint, SetPointData and Time variables, when no more events are in the [[Events]] variable the [[Events Pending]] variable will be set to false.

Compact Rio Software

Code on the

Notes: Software source code is in Visual Basic 6.0 and uses DDE, making it incompatible with VB versions later than 6.0 running on XP.

Software to bug list 

1) Fix delay in valve rules check (currently fixed delay – change to check & wait)
2) Add scripting & multiple editing to sequence menu