Awilder1015

MrPLC Member
  • Content count

    3
  • Joined

  • Last visited

Everything posted by Awilder1015

  1. I have an application that I'm having trouble figuring out. Basically, I want to make an automatic hot/cold water faucet for a beer brewing process. I will have 2 control valves, one for hot water, and one for cold water. The hot water supply will be at about 200F, and the cold water will be around 60F. Each will receive an analog command signal, 0-100%. There will also be a flow meter and a temperature sensor, and these will each generate an analog signal. There will be 2 different user-settable setpoints: Flow rate and Temperature. The temperature setpoint will always be between 140F and 180F, so a mix of both hot and cold water will always be required. Flow rate will be variable depending on the grains being used and the speed that grain is being added to the process. I'm imagining that there should probably be two PID loops, using two PIDE function blocks. One will take the Temperature Setpoint, the other will take the Flow rate setpoint. The temperature sensor's analog signal will be the process variable for the Temperature PIDE block, and the flow rate will be the process variable for the Flow rate PIDE block. This all seems fairly straight forward. The issue comes with deciding how the Control Variables should be set up. Since I have only one temperature PID loop, how can I use the one Control Variable to actuate both valves to hit the temperature setpoint? If I can figure out how one CV can control two valves, how can I use the CV from the flow rate PID loop to then adjust the valves to hit the flow rate setpoint when both valves are already receiving a signal from the temperature PID loop? It seems like the separate PID loops will be fighting each other. Is there some way around this problem? This might be a good candidate for a Cascaded PID loop, but I'm not sure because the two PID loops are going to be about the same speed. Thank you for your help!
  2. I think I'm going to be able to get it to work, but I'm starting to wonder if there might be a different way that hasn't been suggested yet: Modular Multivariable Control (MMC). There are an inappropriate number of possible inputs and outputs to this function block, and I haven't wrapped my head around how the instruction works, much less if it's the right choice, however it seems promising based on this description from the instruction help: "The MMC instruction controls two process variables to their setpoints using up to three control variables. The MMC instruction calculates the control variables (CV1, CV2, and CV3) in the auto mode based on the PV1 -SP1, PV2 - SP2 deviation, internal model, and tuning." and "The MMC is a flexible model-based algorithm that can be used in two basic configuration modes: Three control variables used to control two interacting process variables Two control variables used to control two interacting process variables It sounds like this is for this exact application, where there are 2-3 very closely linked PVs, CVs, and SPs. Through some black magic, it seems like this function block can figure out how the different variables are related and control the CVs based on that. Has anyone used this before?
  3. Joe, I like your idea. I'm going to pursue that for now, since if I can get it to work, I won't have to redesign the plumbing. We're going to be retrofitting existing equipment, so the fewer pipe cuts and welds I have to do, the better. Thanks for your help!