Two PID's using the same tag name?

Akbrewer

Member
Join Date
Aug 2020
Location
Juneau, Alaska
Posts
11
I have a burner that uses two fuel sources. Currently we only have one PID tag that runs the fuel controls for the active burner, but if we change fuel sources then I have to readjust all of the PID settings for the different type of fuel burner so it runs smoothly.

I don't want to make up another PID tag name, as this current tag is tied to some operator screens and processes that read/write from it.

So I was wondering if there is a way to keep the same PID tag name for both burners, but have two different sets of PID values stored in the PLC that would then write into that PID tag when the different burner type is selected?

I read up a bit on the COP and MOV features, but can't quite figure out how to do this for the entire PID data set. I should add that I'm a novice programmer so the copy feature makes me nervous if I don't set the element length correctly as I read some other posts on here where it could potentially lock up the PLC if it can't find the data.

Anyone have an example that you can share of how I can copy and rewrite the entire data table of a PID in one move?

Thanks as always for the help!
 
This probably falls into the "just because you can, does not mean you should" category.

Based on context of the question I am assuming this is a Logix 5000 platform. You can use the COP instruction with the two PID tags and length 1 [e.g., COP(PID_A,PID_B,1)].

You will more likely need three PID tags, one for each burner type, and then one that is being used by the PID instruction itself. In this scenario you would copy the burner-specific setup into the active tag when changing burners.

For sure you would not want to do this in auto mode because it would likely bump the process from the stored integral term (assuming it is being used). There is also some other status information about the current state that will be overwritten by the copy instruction. It might be safe to do this in software manual, making sure the Set Output (SO) is at the correct value.

From a support and maintenance standpoint it is advisable to just move the specific PID items from a burner specific data into elements within the active PID instruction. It might be more code, but less likely that something goes wrong and maybe difficult to diagnose.
 
Thanks Ken and Mispeld
Both good points. RS5000 is what we're using, you are correct.

Currently we change the PID and the Min/Max CV values as one of our burners can't turn down as low as the other without having airflow issues. MOV statements may be easier as it's only 5 data points for each burner and not a lot of programming. Much easier for me to handle with my basic skills, that's for sure!

We do turn off the burners to switch them as we have to swap out the burner modules for them, so it would never get changed while in auto, but that's a good point to watch for.
 
Last edited:
Thanks Ken and Mispeld
Both good points. RS5000 is what we're using, you are correct.

Currently we change the PID and the Min/Max CV values as one of our burners can't turn down as low as the other without having airflow issues. MOV statements may be easier as it's only 5 data points for each burner and not a lot of programming. Much easier for me to handle with my basic skills, that's for sure!

We do turn off the burners to switch them as we have to swap out the burner modules for them, so it would never get changed while in auto, but that's a good point to watch for.

That's absolutely how I would handle it. Move the parameters depending on the source. It's clean and everything stays intact.
 
I don't see why o can't do it
Set them up and tune each s needed
each PID output will be directed to a seperate tag
leave each PID control runs as normal
then have a selcter to copy the output as necessart to the final output (Analog Out )
 
As Ken said, a group triggered move of the data into the parameters that require changing is the easiest solution. If you want more visibility directly at the PID and the PID is in FBD, throw a bunch of Select (SEL) functions in there that are linked to each parameter that needs to be swapped. Could get a bit cluttered if you are changing too many though.
 

Similar Topics

Hi everyone, I have a problem with EN2TR during I using the EN2TR web page. I was trying to use EN2TR web via connecting thru E-TAP and go thru...
Replies
1
Views
1,243
Is there a way to create proportional logic for a control valve without using a PID function? I want to create a simple P controller without...
Replies
8
Views
2,609
Hi Everyone! My name is Vidy and I am new to PLC AND PLC PROGRAMMING As Part of my final year project I have been tasked to program a PID...
Replies
5
Views
3,015
I had a problem on a hydraulic servo controlled cylinder, which I believe was caused by the PID loop and the cylinder reaching a hard stop at one...
Replies
10
Views
2,440
Hello, I've been tinkering with PIDs for a while now and have a pretty good understanding of all of the terms. I typically set my initial (first...
Replies
5
Views
1,992
Back
Top Bottom