Brewery tank controls

Hello all -
I'm looking to develop a system for controlling the Fermentation tanks
in our brewery using LabView controls.  We currently use the standard
tempermental fuzzy logic PID microcontrolers (Partlow, Watlow, etc).  I
believe these are overly expensive for the functionality they provide,
and being a both a professional Brewer and a LabView/systems guy I am
always seeking better ways to control the process.  Programatically, I
realize all the flexible advantages LabView would have for our system,
however I'm evaluating the feasibility ( on a cost basis) of replacing
these with a custom LabView controlled system.
Our current process:  A type K thermocouple monitors the tank
temperature via the fuzzy logic controller.  The controller's alarm
relay (rated 5 amps at 110 VAC) responds based on a setpoint and will
either send coolant thru the jacketed tank or not. The controller alarm
relay activates a seperate solid state relay (20 mA) which then sends
an electrical signal to a circulating pump (single phase, 115 Volt,
ranging 0.5-2.0 amps) and a solenoid valve (120 Volt coil) with their
own power sources. 
We currently use this system as an on/off controller.  The tanks are
either cooling or not - and control beyond that is manual.  I realize
that soaking, ramping, and other functions can be set with these
controllers but not only do we have numerous controller brands with
different parameters, but the programming is beyond the scope of many
of the people that operate the system.  I'm looking to build in user
friendly functionality and operate all the tank controls from one
central computer hub.
So the question is, how do I replace the controllers and wire for
LabView control of the motors and solenoids?  Is the solution to just
run wires to a big Data Acquisition board connected to a central computer? Or
is building a wireless network of tanks feasible? (My budget will be
relatively small)  We've got 14 tanks to control spaced evenly over
about 4,000 sq. ft. Any idea's, experience, hardware suggestions, etc. - I'd love
to hear.  Thanks in advance for all your help!
- John Rehm
Brewer in Chief, Philadelphia Brewing Co.
LabView Instructor, La Salle University
From McMaster Carr supply (www.mcmastercarr.com):
Autotuning P-I-D Temperature Controllers
 1/16 DIN
   These
autotuning controllers with fuzzy logic calculate the optimal P-I-D
(Proportional-Integral-Derivative) parameters for a particular process
and store them in memory for future use. Controllers accept input from
RTDs and thermocouple types J (-58° to +1832°  F/-50° to +1000°  C), K
(-58° to +2498°  F/-50° to +1370°  C), and T (-454° to
+752°  F/-270° to +400°  C). Units are easy to program using menu and
keypad. Each has selectable auto/manual control modes, two limit alarm
relays with eight programmable modes, and ramp/soak programming ("ramp"
for length of time to reach a temperature and "soak" for length of time
a temperature is maintained).
   Controllers are ° F/° C selectable,
and dual LED displays show present temperature and setpoint
simultaneously. Top LED is red, and bottom LED is green. Units accept
probes with bare lead wires (probes sold separately).
Operate on 90 to 264 VAC. All include screw terminal connections and
mounting brackets. Accuracy is ±0.36°  F (±0.2°  C) for RTDs and
±1.8°  F (±1°  C) for thermocouples. CE approved.
    1/16 DIN size units have one control and two alarm relays with SPST contacts that are wired normally open and rated 5 amps at 110 VAC. Top LED is  3/8" high, and bottom LED is  5/16" high.
    1/4 DIN size units have two control and two alarm relays with SPST contacts that are wired normally open and rated 5 amps at 110 VAC. Top LED is  9/16" high, and bottom LED is  3/8" high.

Hi John.  A couple of suggestions:
1) If there is any way to remotely program your existing controllers, building your system on them may
have several advantages.  Lets you use your existing hardware and wiring, reduces new stuff to buy,
and gives you a fall-back position if problems crop up with the master controller.  Also can be
implemented in stages, a few tanks at a time.
2) Replacing your existing controllers with remotely programmable ones still gives you the other advantages
of the architecture above, just you have to buy new controllers.
3) Fieldpoint hardware is certainly capable of doing what you want, and gives you independence from
a PC, i.e. you can download your process parameters to the Fieldpoint controller and disconnect the
PC, or leave it running as a monitor.  Gives you the reliability of an industrial controller with the option
of a PC GUI.  You could run all 14 tanks with one controller.
For a 4000 ft^2 facility, I wouldn't expect wireless to be worth the trouble unless there are other
considerations like mobile equipment.
I am in Jenkintown.  I'd be happy to trade tips for a tour.  Are you involved with the ISBT program?
Matt

Similar Messages

  • 3d open, square tank control for SCADA HMI

    I am in need of a 3d tank control(basically a cube) for a DSC app and cannot find one anywhere that is both open and square. I've had limited success with the control editor and thought I would ask around before developing an ActiveX control. Any suggestions?
    ST

    At present, we do not have a 3d tank control that is both open and square. You will probably need to create an Active X control, unless you can find one on the web that was created by another company.
    Sincerely,
    Green Rives
    National Instruments
    Applications Engineer

  • Rotating tank control on front panel

    Is there an easy way to rotate a tank, pump, etc. other than going in an editing each control separately. I can invert the scale and rotate the text but have not found a way to rotate the control.

    I am afraid there doesn't seem to be a way to rotate the controls. We can resize and move them around at run-time but not rotate -- other than modifying the control itself.
    I guess this goes on the Wish List.
    Khalid

  • PID-Control (Tank Level)

    Hi!
    I want to realize a PID-control for a tank level. I've already looked at all related examples in LabVIEW, but I have a general question:
    Where is the measured value brought into the process (where would I connect the DAQ to the control-loop)?? I can't figure out how it's done in the examples (there is always an "initial value" outside the while-loop)....
    Would be great to get some answers!

    Generally you take the DAQ value and feed it into the PID as the process variable.  The examples store the process variable in a shift register in order to simulate a system in which the current value depends on the previous value, but in a real system the physics of the system handle that for you.  For example in a tank control system, the tank itself holds some amount of liquid, which doesn't change by a large amount within one sample period.  To simulate that properly you need to store a value equivalent to the liquid volume in a shift register.

  • Can we use LabView controls in VC %3F

    Hi,
    I was wondering if Gauge and Tank controls from LabView can be used in VC++? We have labview installed in our lab and we use the graphic controls as major part of our software. We have one software that is written in VC++. Is it possible to export the controls from Labview to VC++? I know MStudio has all those controls for VC++, but our lab is not willing to spend money on MStudio alone. Any suggestions?
    Thanks
    Vijay

    In a word, no. The controls are drawn by the LabVIEW application itself. They are not standard Windows controls.

  • Create tank in form c#

    Hi all
    I create a Tank control  in my Window Form but de Fill Area donsn't  reflect the Value of de Tank, Can Any body Helpme please ?
    private void Form1_Load(object sender, EventArgs e)
    NationalInstruments.UI.WindowsForms.Tank bat1 = new NationalInstruments.UI.WindowsForms.Tank();
    ((System.ComponentModel.ISupportInitialize)(bat1))​.BeginInit();
    bat1.Name = "bat1";
    bat1.Location = new System.Drawing.Point(100, 200);
    bat1.Size = new System.Drawing.Size(100, 200);
    bat1.ScaleVisible = true;
    bat1.Visible = true;
    bat1.Range = new Range(0, 20);
    bat1.FillColor = Color.Red;
    bat1.Value = 30;
    bat1.TankStyle = TankStyle.Raised;
    bat1.FillMode = NumericFillMode.ToMinimum;
    bat1.FillBaseValue = 0;
    bat1.FillStyle = FillStyle.Solid;
    this.Controls.Add(bat1);
    this.Refresh();

    I am not sure why you are using
    ((System.ComponentModel.ISupportInitialize)(bat1)).BeginInit();
     but when I comment it out, I see a tank that is filled with red.
    I am using Measurement Studio 2010 with C# 2010 Express.

  • Customizing Tank Indicator - From square to round

    The standard LabView Tank indictor is rectangular in shape.  I would like to customize this indicator to make the tank round.
    Does anyone know how I might go about this?
    Thanks.

    Hi wdenham,
    Well, it's always a challenge to customize the controls in LabVIEW
    exactly to what you want. It often takes a lot of patience and
    creativity and good picture editor skills. However, I wanted to show
    you that it indeed IS possible to do such a thing in LabVIEW, so I
    created a version of a round tank control:
    This might not be exactly what you wanted, so I will recommend you to
    further customize it or maybe start from scratch with a fresh control.
    To customize your control, right-click on it and select "Advanced »
    Customize...". Please refer to the following tutorial for more
    information on customizing controls:
    LabVIEW Custom Controls, Indicators, and Type Definitions
    Please let me know if you have any further questions, thanks.
    Message Edited by Philip C. on 09-15-2005 02:53 AM
    - Philip Courtois, Thinkbot Solutions
    Attachments:
    CylinderTank.PNG ‏5 KB
    CylinderTank.ctl ‏24 KB

  • How do I select different graphs to show using case structure?

    Hello,
    I am working on a piece of code where I am getting  data from 6 different sources (reading temperature & pH on 6 different tanks)...  I am using
    1)  a case structure
    2) while loop
    3)  waveform chart
    Now, I want to have it so, the User selects which graph he wants to see (tank 1, tank 2, tank 3, etc...).  And then, program ONLY SHOWS the graph for THAT TANK...
    So I have an Event Structure with the "Tank #" control, which is supposed to change the graph that is on display.  However, right now, it is not working.
    Let's say I start the program..., then I click "Tank 1"...  it graphs Tank 1...  then I click "Tank 2"...  instead of COMPLETLY CHANGING the graph, it CONTINUES to graph the data from TANK 2 on the same graph.  I.E.:   it plots points  1 - 7  from TANK 1,  then plots points 8 - 15 from TANK 2,....  on the same Graph.
    I don't want that.  I want it to change the graph.   But if I put the graph in the Case Structure, it puts multiple graphs on the Front Panel...  How can I do it?
    NOTE:  Ignore case 3.   And each case should be corresponding to Tank #...
    Thank your for reading--
    Attachments:
    GraphProblem_NI forum.vi ‏3166 KB

    the easy answer is that you should clear your waveform graph before sending new data to it...
    It's as easy as writing an empty array to it's property node Value...
    But.. 
    you've got much... much more cleaning up to do.  Clearing the graph is just one thing.
    Your code is unreadable.  Why do you have 3 While Loops?
    What does the bottom one do?
    Why are you complicating things with cluster going into the queue?  An enumerator would do the same trick.
    Is this code going into a cRIO or cFieldpoint?  If not, what's up with using Shared Variables?  Are you planning to send data over the network?
    Debugging this code will become a nightmare.  Scalability will be worse..
    I would recommend refactoring the code while it is still manageable.

  • TankStyle preview not displayed

    I'm using Measurement Studio 8.1 and Visual Studio2005. I'm creating a .net application to create a GUI to dynamically create NI Windows Forms Controls and also set their properties(similar to how we design a WinForms application). I want to create multiple tanks and Leds dynamically and also set different styles for them
    When I run this application and create a Tank control, in my properties window the TankStyle property is listing only the Style names but the preview images are empty. But in case of LED, this feature works fine. In C# front, I've made sure that both Tank and LED controls are programmed the same way. I want to
    If anyone has come across such an issue or knows how to display the preview images of the styles under TankStyle property please reply.
    Thank you.

    Hi,
      SAP does not provide the standard solution for triggering the WF from external system ( ECC )... any document create outside the SRM, system will automatically put the status to approved... even 0-Level wont trigger... you can activate the nstep workflow by following step by step help...
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/5082a622-7310-2c10-1a9b-ef31dd69a770
    Saravanan

  • Alarm timer

    Hi, I developing a tank control application, and I want to have a maximun level alarm, but I only wants to shoot the alarm if the level mantains in maximun by 10 seconds.
    Problem 1 - when my application starts to count the time, it forgets the rest of the code, the level never increases.
    Problem 2- how can I create a timer that count 10 seconds.
    thanks in advance
    HDLP

    First, keep in mind that I may not understand correctly what you are trying to do. There are so many local variables and no comments on what each phase represents. Therefore, I can use some details.
    Anyway, back to your questions:
    - "the wait period is 5 seconds even though �"
    = if [fase2] is TRUE the case including those 5 sec delays starts. Even though immediately after [fase2] becomes FALSE, you cannot interrupt the delay started when [fase2] was TRUE
    - "that's way you need to get the time in seconds (with little delay between readings)"
    = getting the time in seconds (when the first alarm value is encountered) and having a loop that reads the time in seconds (with a small delay (50ms or less) which is insignificant for your tank l
    evel monitoring task) and subtracts the start value to see if the "before alarm" time elapsed - this way you don't have a long delay to affect your tank level readings. Of course, you need to terminate this loop in case the level is back to normal values. (this was the idea in my VI )
    Even though our VIs are different (yours is more like a process simulation), I tried to modify mine to fit with your task. Find attached modified version.
    Hope this helps
    Attachments:
    new_alarmafterNsec.vi ‏35 KB

  • Tank Level Control with PID regulator

    Hello! 
    I found a lot of examples regarding the simulation of a tank - level control with PID regulator. but I still have a dilemma.
    I can't find the transfer function for the process, if you can help me it would be great because I'm stuck here...

    Maybe you could ask some of you classmates?
    LabVIEW Champion . Do more with less code and in less time .

  • Pid control coupled tank

    Hye all......
    i  want to develop graphical user interfaces PID Controller to control level height  and interfaces with coupled tank apparatus using NI-DAQ USB 6008......
    i've found some good examples and i attached here.......i've already edit and there is 1 error to be solve.......
    my problem is the simulation can't be run because there is some error
    ~SubVi 'IO Duncan .vi ubVI is missing.......
    can you help me on how to edit these problem???? as long as the simulation can be simulate..........
    thanx 4ur help......
    regards.....
    azlan......
    Solved!
    Go to Solution.
    Attachments:
    WATER TANK CONTROLLER 3.vi ‏25 KB

    It sounds like that when you downloaded/saved the example code you have been working on you didn't download the SubVi 'IO Duncan .vi  - so LabVIEW can not find it.
    In the same way you have not included the PID subvi you are using so when I open your VI I get an error saying that it is missing.
    David
    www.controlsoftwaresolutions.com

  • Controlling water level of spherical tank using labview.

    Hi, I'm trying to control the water level of a spherical tank model using PID in labview. The model is a non-linear equation as follows:
    Qi(t-L)-Qo=pi*R^2(1-(R-y)^2/R^2)dy/dt
    where Qi=inlet flow
    Qo=Outlet flow
    R=tank radius
    y=height of water
    t=time
    In order to get y, i have shifted the right hand side to the left and integrating it. However, i can't implement the integration of this non-linear equation in labview. Pls advise. Thank you.
    Attached are the files that i've tried.
    Attachments:
    plant.vi ‏31 KB
    integration3.vi ‏18 KB

    I've never seen this approach before and don't really know what you're doing
    from this snippet.
    What you essentially have is a system where the proportionality term varies
    depending on the current height of the water. This isn't too different from
    heater controls where the heater can operate anywhere between 70 and 450K.
    What we do here is to simply have a table of a handful of PID values
    appropriate to a range of levels and simply linearly interpolate between
    them to obtain an approximate value appropriate to the current level.
    Control wrote in message
    news:[email protected]..
    > Hi, I'm trying to control the water level of a spherical tank model
    > using PID in labview. The model is a non-linear equation a
    s follows:
    > Qi(t-L)-Qo=pi*R^2(1-(R-y)^2/R^2)dy/dt
    > where Qi=inlet flow
    > Qo=Outlet flow
    > R=tank radius
    > y=height of water
    > t=time
    > In order to get y, i have shifted the right hand side to the left and
    > integrating it. However, i can't implement the integration of this
    > non-linear equation in labview. Pls advise. Thank you.
    > Attached are the files that i've tried.

  • How to control tank and thermomete​r in my virtual system

    Hi all
    I have a problem with my program in labview. I'm trying to create an app that consist of 4 parts:
    1. To fill first tank from 0 to 90 (first variable - water level )
    2. To raise temperature form 0 to 40 (second variable - temperature)
    3. To move water from first tank to the second 
    4. Back to first point - filling the first tank
    etc
    I've used 2 switches: turn on/off, start/stop process. Both of buttons can stop the whole process but values of all variables should be remembered
    Thanks,
    Tom
    Attachments:
    projekt labview.zip ‏25 KB

    Hi Tom,
    Thank you for describing your application. Looking at your project, it seems obvious what you can do to improve your application.
    The architecture you chose resembles that of a finite state machine.
    In order to properly implement it, please use Enumerated constants instead of String constants for your states.
    To preserve and correctly control dataflow, use shift registers on your while loop instead of variables.
    To get started quickly with your architecture, select Create New - VI from template from the File menu in your project window. In Frameworks - Design Patterns choose Standard State Machine.
    To fully understand dataflow in LabVIEW, go through tutorials and learning materials here
    http://www.ni.com/gettingstarted/labviewbasics/
    Let us know if you have any more specific questions!
    Patricia

  • A lab view VI to control a tank system which is controlled via 3 solenoid valves

    a lab view VI to control a tank system which is controlled via 3 solenoid valves

    Perhaps he's asking for bids for the job. If so, perhaps posting in the LabVIEW Job Openings would garner more responses.

Maybe you are looking for

  • Filled in forms do not preview

    We've made an e-greeting card with a fillable form in Livecycle. The form is then filled in using acrobat, and attached to an email. It seems like the preview is not updating, so the preview image in the email body is missing the form text. When the

  • Computer itself not recognizing iPhone

    I've seen people with their phones being recognized on the computer but not on iTunes, but this is the other way around. iTunes is recognizing my phone just fine, but the computer is not - that is, it doesn't show up as a storage device when I open "

  • Canvas preview not the same as viewer

    I set my "Easy Setup" to be "DV-NTSC Anamorphic" I then captured NTSC Anamorphic video from my DV cam. When I view the clips in the "Viewer", everything looks great. When I drag a clip to the timeline and or "Canvas" the video shows at half the size.

  • Update a field in the table

    I am new to adf. I am trying to update a field in the table which is parent in adf tree I had created a adf tree table My Scenario: => If i selected the Parent row and after clicking the Post Button => A Field in the Parent table should get updated w

  • Java 45 electronic signature problems

    Hi there Im trying to apply for a job online and it is asking for an electronic signature. When i go through the steps to get one it checks my computer, browser and java. It failed on the java check because I had the latest version of java and it sug