The device monitor is for a single West 6100 temperature controller. Only one controller per port is allowed with the address of 1, ASCII communication mode and 19200 kbps. It can be configured as either the whole temperature units (say 700 C) or the units with decimal points (say 65.4 C). For these settings you must use separate device monitors due to the way temperature readings are transmitted. You may re-program everything to make it cross-compatible, but I found having separate device monitors easier. Not universal, but gets the systems working.
The Device Monitors are West6100_decimal_temperature and West6100_integer_temperature. These use the same type definition The IN type definition provides the setpoint temperature and the ramp (in C/h as requested by the instrument). The OUT type definition returns only temperature along with L1, L2 alarms, Ready flag and a recent message.
The device monitor to control the Knauer K120 HPLC pump connected via RS232. The pump has no pressure transducer, so you have to ensure that the unit is not damaged by over-pressure.
The Device Monitor is minimalistic with only a few commands: to verify the version (to confirm that the unit is correct), send the setpoint and read it.
There are two Device Monitors.
Monitor_Zang_v6-3.vi uses the sampler for simple injection to inject the feed to the selected vial for a given time.
Monitor_Zang_v6-3_detailed.vi provides the particular control of the needle/valve/stage position. Sampling is also possible, but it is more convoluted requiring sending several commands. This device monitor allows for operations such as sampling from the given vial, washing the syringe needle and similar.
These two Device Monitors are rather complex due to the limited high-level instrument commands and include several state files (type definition) provided with the device monitors. There are two IN type definitions for the simple device monitor and for the more detailed one. The OUT type definition is the same.
The device monitor controls the majority of the Vici multipositional valves. The valve should be connected as a single unit via rs232 or rs485 without any address. Some valves answer differently to commands, so there are chances that your valve will not work. In this case - create a ticket and we will fix it. The Device Monitor was tested with 3 models - all of them had subtleties in the communication protocol.
You may also use the RTS part of the RS232 communication is used to control a 3-way solenoid valve (24V DC and a transistor) allowing to introduce the sample either into the valve (positions >0) or bypass it (position 0).
The device monitor reads temperature from the I-7018 multi-temperature readout unit. The unit is connected alone to RS485 with the address of 1, ASCII mode with no control sum. Beware that reading too many temperatures makes reading slower.
This is a very-multi-purpose unit. I have used it to control (read-write) the analog pressure controllers as well as to read the pressure sensors.
The unit Monitor_ICP7026_v6-3 was used to read the state of the gas chromatograph via Ready Out port. Likely, you will have to adjust the device monitor for particular purposes.
The drivers are minimalistic, so the functions that were used are only implemented: read analog input and analog output.
For convenience, analog readings were converted into corresponding pressures (as used by the transducers), so there are two Device Monitors used for various applications.
The device monitor uses the Knauer P4.1S pumps which have a pressure transducer. Hence, there is a build-in shutdown alarm and L2 alarm in the device monitor to deal with the possible overpressure. The device drivers are provided by Knauer via Labview driver repository.
This device monitor controls the WPI Alladin 1000 syringe pump. The pump is very difficult to control, so expect problems and check your application carefully. We had to put the plunger position into ~3% of full because the syringes (with rigid PTFE plungers) got stalled often otherwise.
The monitor communicates with a bus of Bronkhorst units. The input/output is done in % of full scale of each instrument.
Monitor_BH_channels_v6-3.vi can be used with an unlimited number of instruments connected to the same bus. It is possible to have various number of channels to read and write. For example, you may have 3 mass-flow controllers and a mass-flow meter. Here, you read 4 units and write to 3 only – you cannot control the meter. These values must be provided in the settings page or via a terminal for the Device Monitor VI.
The Device Monitor returns an L1 alarm is the readings deviate significantly from the setpoint for a given number of device reading. The delay between the device readings is in Settings tab (Read delay), the number of points with allowed deviation is in External tab (N points to study) and a connector of the Device Monitor.
Please check that the mass-flow meters/controllers work well. Use the free provided Bronkhorst tools for this. Point out the channel numbers.
There is also a pseudo-instrument, where the pneumatically-controlled Swagelok valves (controlled via a Pneumatic Adruino unit, see below) are attached just after Bronkhorst. If the Bronkhorst set point > 0, the corresponding pneumatic valve gets closed. The correspondence between the Bronkhorst number and the valve number is provided in the ValveN array.
The unit is made of Arduino Leonardo with a 4-relay standard module. This unit controls a series of 3-way valves (24V DC) that open/close Swagelok membrane valves. The solenoid valves, despite assurances, leak across, but Swagelok pneumo-actuated membrane valves are considerably better.
The Arduino code for the controller is provided.
Is a DIY scheme based on Arduino. It controls a set of 3 3-way valves to provide selection of 4 solvents, and it also controls two 24V DC outputs used to shut down the system or similar. The source code for the Arduino part is also provided.
Moreover, the Arduino reads 3 hydrogen sensors and can shut down the system in case of an alarm. There is an untested watchdog functionality.
The Arduino_solvent_controller sub-folder contains the schematic of the unit, H-sensor (Figaro TGS821) holder and an Arduino code for the controller. The sensors must be calibrated and checked periodically!
The Arduino module reads the liquid fraction from an Optek IR refractory sensor connected to an Arduino module. There are two device monitors – one that gets the real output with the liquid timings. The other (more useful) provides the liquid fraction for up to 3 channels.
It uses the Input/output type definitions from the solvent selector.
The Arduino code is provided with the sensors connected to the pins defines in the Arduino code:
const int pins_to_check[pins_total_number]={3,7,5,4};
Please check – the sensors misbehave if you do not keep the input voltage 4.3-5.5 V !
Is an Arduino-controlled relay that provides periodic pulses (of current in this case). An Arduino microcontroller is connected to a relay controlling low-voltage DC power.
The Arduino code for the controller is provided.
It is a linear actuator based on uStepper (Arduino) microcontroller. It just moves the stage to a given position.
The Arduino code for the controller is provided.
The Device Monitor controls a Rheodyne valve solvent selector. Here, we had to send the same “send” command 10 times because sometimes the valve stopped at the intermediate position and it was impossible to find this via the Rheodyne controller.
The Device Monitor uses the Vici IN and OUT type definitions for simplicity. After all, it is a multiposition valve.