2. 2
Abstract
This project involved performing several experiments with Fluigent devices, LabView
software, and the Fluigent script module. I started out with the script module and
programmed pressure settings, pressure increases, pressure decreases, wait periods, loops,
flow settings, and switch settings. In LabView, I learned how to visually program using
draggable loops and sequence boxes. The Fluigent devices I used were the pressure monitor,
flow reader, and M-Switch. Overall, I learned about Fluigent equipment, Fluigent
programming, and the LabView interface.
3. 3
Table of Contents
Abstract ...2
Table of Contents ...3
List of Figures ...4
I - Introduction ...5
II – Fluigent Equipment ...5-8
III – Labview Programs ...9-13
IV – SciTE Programs ...13
Technical Conclusion ...14
Appendix ...15-16
4. 4
List of Figures
Fluigent equipment ...5
MAESFLO Layout ...6
Responsiveness and Flowrate ...7
M-Switch ...8
Front Panel Window ...9
Block Diagram Window and Loops ...10
Incrementation Program ...11
Incrementation Program Diagram/Flowrate Program ...12
5. 5
I – Introduction
This document guides the reader through the workings of the various Fluigent equipment
devices, and the various Fluigent scripts and LabView projects created. This also includes
descriptions of the Fluigent programs. Included are pictures and mathematical equations,
along with commands and LabView images.
II - Fluigent Equipment
The MFCS-EZ is the Microfluidic Flow Control System. It is a pressure-based flow system
for micro-fluidic and nano-fluidic applications. The maximum pressure value available is
7000 mbar, and it can control up to four reservoirs. The pressure is piped into the Fluiwell
reservoirs, which sends the fluid into thin straws. The pressures can be controlled through a
software interface, a SciTE script, or a LabView module.
6. 6
This is a diagram of a "fluiwell", which is the tube where the pressurized gas goes into.
This is an example MAESFLO layout for the microfluidic control system. There is a
start/stop button and a connect button on the left side of the screen. On most of the screen are
sliders that can be moved up and down by the users to set the pressure level, along with the
maximum limit.
This is a list of the specifications for the MFCS-EZ
7. 7
This is an indicator of the responsiveness. This graph indicates that the MFCS system is far
more responsive than a conventional high-precision syringe pump.
The flowboard can measure and set the flowrates for the four channels. The measurements
are done through the flow unit devices. The flowrates can be set through the flowboard
program on the computer, which in turn adjusts the pressure on the MFCS. Calibration
between the flowboard and MFCS is required.
A micro heater provides a minimal amount of heat to the medium monitored. Two
temperature sensors, located on bothslides of the heater, detect any temperature variation. A
hotter liquid moves faster than a colder liquid.
8. 8
This is a table of the calibrated flowunits based on size and maximum flowrate. Other
parameters include accuracy, sensor inner diameter, and wetted materials.
The M-Switch is a device that takes inputs from the MFCS and outputs only certain inputs
from a total of 10 maximum inputs. The 2-switch outputs to the recover and waste filling
vials.
9. 9
III - Labview Programs
The two main components of the program are the Front Panel and the Block Diagram. The
front panel contains all the visible inputs and outputs for the program. These include graphs,
indicators, and counters.
Front Panel Window
The “Block Diagram” contains all of the internals of the program, showing the sequence and
the order of components. In both cases, the components are chosen by right-clicking the
background and selecting the proper components.
10. 10
Block Diagram Window
Component Examples
The two main loops are the for loop and the while loop. The for loop has a numerical
iteration count and no stop condition. The while loop has no numerical iteration count and a
stop condition.
For Loop on the Left, While Loop on the Right
11. 11
This program increments pressures by 10 mbar for every given period length for a designated
number of cycles, until a certain value is reached. When this value is reached, the program
will cycle down by 10 mbar until the total number number of loops has been met. This is
achieved through the true/false triangle.
For this program to work, the Fluigent modules for LabView must be installed using a special
interface called VBS DataPlugins. The first two modules used here are the "Detect" module,
which detects the MFCS device, and the serial finder module, which detects the serial
number. The "initialize" module is used to initialize the MFCS device, the write modules,
with a pencil icon, write the pressure value to the MFCS ports, and the read modules, with a
droplet icon, read the flowrates.
If the maximum aded pressure (Pressure 2) does not exceed itself, then 10 mbars are added.
Otherwise, 10 mbars are subtracted. Both pressures are graphed on the corresponding "cluster
method" graph.
The loop featured here is a 'while' loop, which runs until a certain condition is met, and does
not have an iteration count. There is also a period counter in milliseconds, which determines
the length of the loop.
12. 12
This is the user interface of the same program. Pressure 1 is the initial starting pressure, and
Pressure 2 is the maximum added pressure desired. Other inputs include the period in ms and
the MFCS serial number. The graph displays the increasing and decreasing pressure. The
array indexes the increasing and decreasing values.
This program accepts channel pressures as inputs and outputs the flowrates on an array. Both
the MFCS and flow reader are used in this case. The program is created by connecting
several blocks together.
The program starts by initializing the command "Detect MFCS_EZ". Another command is
used to output the Flowboard serial number and MFCS serial number. The channel pressures
which are inputted are read into the channels, and the Flow Rates are outputted.
13. 13
The channel pressures are displayed on the left graph with respect to time. The flowrates are
displayed on the right graph.
IV - SciTE Programs
The script always starts with the #include <Group.au3> declaration. It is directly followed by
the Init() sequence.
• #include <Group.au3>
• Init()
Other commands:
• Pressure(X,Y,Z...) - set the pressures starting from Channel 1
• Wait(t) - Time to wait in seconds
• MSwX(n) - Set the M-switch to a specific position
• End() - Finish the program
• Load("MF_320_FRCM_0352698260799") - Required Identifictation file to set
flowrates
• Flowrate(X,Y,Z...) - set the flowrates starting from channel 1
The two main programs I created where the Flowscript and Pressure Control scripts. The
Flowscript is a very simple program which to begin with, loads an identification file that is
necessary. The program then waits 5 seconds, and Channel 1 is set to a flowrate of 20 ul/min.
The program runs until a volume of 50 ul is reached, then the flowrate of 0 ul/min is set and
the program finishes.
For the Pressure Control script, the pressure for channel 1 is set to 500 mbars. Ten seconds
pass, the M-Switch is set to position 1, and five seconds pass. The M-Switch is set to position
A, and sixty seconds pass. The first pressure is then set to zero, and the second pressure is set
14. 14
to 1000 mbars. The M-Switch is set to position 3. Five seconds pass, and the M-Switch is set
to position A. Sixty seconds pass, and the pressures are set to zero. One second passes, and
the program terminates.
TechnicalConclusion
In conclusion, I have learned several skills in this research project. I have learned about
LabView programming, SciTE script programming, and Fluigent equipment. LabView
programming was unique to me, as the language is very visual and programming resembles
creating a diagram. SciTE script programming was very simple and almost resembled
everyday english. The Fluigent equipment involved pipetting fluids using pressure and a
flowrate device.
PersonalConclusion
This project lasted three months, from the beginning of October to the middle of January, with
a two-week break in between. I worked in both ESIEE in a couple lab rooms, and in the
Lavoisier lab at UPEM.
SciTE scripts were easy to program, as they resembled everyday language. However, the
LabView programs were far more difficult, as they involved creating a multi-layered diagram.
I needed to figure out how to properly order the components, and which loop squares to use.
My main supervisor was Imaddeine Azzouz. We got along pretty well. Usually, we would
meet through phone at a designated location. I worked on the project 15-20 hours a week.
Overall, I improved my communication, attendance, and writing skills.
15. 15
Appendix
Flowscript
#include <Group.au3>
Init()
Load("MF_320_FRCM_0352698260799")
;This function loads an identification file that must exist. Note: You must start with a load
function before using any other
;Flow-rate command
wait(5)
;Due to the asynchronous aspect of Load function, we recommend to add a Wait function with
5 seconds.
;Depending of your system the amount of time to wait can be longer or shorter.
Flowrate(20); Set flow-rate channel 1 to 10 µl/min, flow-rate channel 2 to 20 µl/min, etc. ||
Note: Missing value(s) = 0.
Volume(50)
Flowrate(0)
End() ;You MUST end the script with this order!
Pressure Control
#include <Group.au3>
Init()
Pressure(500); Set all pressures to zero because all values are missing
wait(10); Wait 10 seconds
MSwX(1);Set the first three M-SWITCH TM connected to the SWITCHBOARD to a specific
position (1 to 10). This command takes 1500 ms to run because M-SWITCH TM needs time
to change position.
wait(5)
MSw("A",1);Set the M-SWITCH TM connected to the port letter "A" of the
SWITCHBOARD to the position 8. Note: You cannot use this command for a port without
M-SWITCH TM connected.
wait(60)
16. 16
Pressure(0,1000); Set all pressures to zero because all values are missing
MSwX(3);Set the M-SWITCH TM connected to the port letter "A" of the SWITCHBOARD
to the position 8. Note: You cannot use this command for a port without M-SWITCH TM
connected.
wait(5)
MSw("A",3)
wait(60)
Pressure(0); Set all pressures to zero because all values are missing
wait(1); Wait 10 seconds
End() ;You MUST end the script with this order!