Controllogix PIDE Help

Tim Ganz

Member
Join Date
Dec 2010
Location
Dallas, Texas
Posts
685
We have an oven with 32 zones and a Controllogix L7 controls the oven and all the steam valves, plate heaters and T/C's come in over different Point IO racks on Ethernet.

Today we lost the adaptor on one of the Point I/O racks and on the HMI the temperature never changed but when we found out we had a problem some of the plate heater zones had started melting down and when we took a temp reading were around 900 degrees and the steel of the heater was melting in some places.

The HMI showed a setpoint of 400 degrees on all those zones and a PV of 310-330 so the PIDE was giving 100% heat output and we normally have heat an cool but the zones in question are heat only.

PV comes from the point IO rack and gets multiplied by 0.1 so the scaling is right and it reads right on the HMI then the destination value goes straight into the PIDE.

I have almost no experience with the PID setups but it looks like when we lost the point io rack with the T/C's the last value that was written when we lost the rack is what stayed and what the PIDE controlled with and it was below setpoint so it kept giving 100% heat output. Am I on the right track here?

I need to prevent this from happening again so I am thinking of polling the point io racks the see if they are active and if not disable the whole heater circuit or all zones that the failed rack is involved with? is there an easy way to do this?

Also is there anything in the PIDE instruction that can help? looks like its loaded with features but I don't understand most of them and I have to put something into place this weekend while the line is down.

Does the PIDE do rate of change in some way meaning if it has 100% heat for x amount of time and temp has not increase x amount then fault/alarm/shutdown?

If not in the PIDE is there a simple way to do this in ladder logic. Everyway I am considering seems like a boat load of programming.

Any tips are appreciated.
 
We've had this type of issue before but with EN2TR modules on remote racks. The module failed and all the data just froze. What we did to prevent it in the future is we do a GSV from the module to monitor its health. If it fails we reject the loops to manual. And set an alarm. I've never worked with point IO but I would imagine you could do the same thing.

One thing I wish you could do is set a failure value if the data quits updating for whatever reason.
 
Yes getting the state of the module that is giving you such critical data is a must. One option I setup for tunnel ovens is giving the maintenance the option to disable a questionable temperature sensor and then let them setup to avg the temperature of each zone before and after it. This allows them to keep running until they can replace the bad sensor.
 
Yes getting the state of the module that is giving you such critical data is a must. One option I setup for tunnel ovens is giving the maintenance the option to disable a questionable temperature sensor and then let them setup to avg the temperature of each zone before and after it. This allows them to keep running until they can replace the bad sensor.

JaxGTO that sounds like a really helpful way to do it. That would be really nice for us. Is there any way you could share with me PM an example of how you do it in code like a screen shot or something?
 
Here you go

Here is an example GSV to check the health of a 1734 Point I/O adapter I got from a co-worker. I have not yet started up this machine but the logic is from a previous project so it should be valid. Hope this helps.

GSV Instruction for Point IO Coms Adapter.jpg
 
Here is an example GSV to check the health of a 1734 Point I/O adapter I got from a co-worker. I have not yet started up this machine but the logic is from a previous project so it should be valid. Hope this helps.

Thanks to the GSV you can get a lot of info from the modules status and anytime you have a comms loss change your PIDE blocks or disable your heat outputs. How is the PIDE controlling the Heaters? meaninf is an on /of control or proportional? I would assume proportional.
 
Last edited:
We extensively use the logic posted by L5K_Edit where I work. If there is a Comm loss we will drop out the Emergency Stop relay in that area, in our case dropping power to blocking valves and whatnot. You could add an output card to your main rack to open a contact for the safety circuit controlling those heater zones, no? Since it's for machine protection and not personal safety, you could get away with a standard output card driving a safety relay wired into the safety circuit loop(s).
 
JaxGTO that sounds like a really helpful way to do it. That would be really nice for us. Is there any way you could share with me PM an example of how you do it in code like a screen shot or something?

Sorry but the customers are REALLY paranoid about their processes so I can post any screen shots (even with the name removed). But hey an oven is an oven.

On that note I can describe it. When maintenance logs in there is a Maintenance screen available to them. On that screen there is a table showing the Zone, ISATAG, CURRENT VALUE, STATE columns. Then a column of DISABLE, AVG, USE NEXT ONLY, USE PREVIOUS ONLY buttons.

DISABLE will simply disable that input and shutdown the zone.

AVG will average the zones on either side of that zone and keep the zone running. End zones do not have this button.

USE NEXT ONLY will use a copy of the next higher zone and keep running.

USE PREVIOUS ONLY will use the next lower zone and keep running.

On one oven we also added an OFFSET to the selection. This would allow them to use the Next zone and add an offset to it +/- a number of degrees.
 
Sorry but the customers are REALLY paranoid about their processes so I can post any screen shots (even with the name removed). But hey an oven is an oven.

On that note I can describe it. When maintenance logs in there is a Maintenance screen available to them. On that screen there is a table showing the Zone, ISATAG, CURRENT VALUE, STATE columns. Then a column of DISABLE, AVG, USE NEXT ONLY, USE PREVIOUS ONLY buttons.

DISABLE will simply disable that input and shutdown the zone.

AVG will average the zones on either side of that zone and keep the zone running. End zones do not have this button.

USE NEXT ONLY will use a copy of the next higher zone and keep running.

USE PREVIOUS ONLY will use the next lower zone and keep running.

On one oven we also added an OFFSET to the selection. This would allow them to use the Next zone and add an offset to it +/- a number of degrees.

I can use this as a guide. Thanks for your reply.
 
Digging in today I see that they do have logic that is looking at all the Point I/O cards and using the GSV.

Can someone help me understand how this works and make sure it correct.

Module is 1734-IT2I

On the rung for each module they have a GSV with a class name of Module and instance name is TC21 which is the TC input for zone 21 and the attribute name is entry status and the destination is Module_Status[54].Entry_Status with a vaule of 16384

Next instruction on the rung is a MEQ and the source is Module_Status[54].Entry_Status with a value of 16384 and a mask of 61440 and the value in the compare is 16384.

I am 100% lost on how this works. If anyone can explain that would be most helpful.

last instruction on the rung is an OTE with a tag of Module_Status[54].Running.
 
I also notice that they have logic that if the module status is not running they are moving a 0 to the PV of the PIDE block but isn't the PV the actual temperature?

If it is and I understand correctly when a module faults they are send ing a zero to the PV of the PIDE and the setpoint is still 250 degrees won't that make the PIDE put out 100% output forever or until the faulted module comes back online?

I think they should move a zero to the SP right? Or would it be best to put the PIDE in manual?

When the PIDE is in manual does it follow a manual setpoint that you set or do you set an output percentage that does not change until you go back to auto?

Sorry for all the simple questions but the self training is not easy with the production manager breathing down your neck.
 
I also notice that they have logic that if the module status is not running they are moving a 0 to the PV of the PIDE block but isn't the PV the actual temperature?

If it is and I understand correctly when a module faults they are send ing a zero to the PV of the PIDE and the setpoint is still 250 degrees won't that make the PIDE put out 100% output forever or until the faulted module comes back online?

I think they should move a zero to the SP right? Or would it be best to put the PIDE in manual?

When the PIDE is in manual does it follow a manual setpoint that you set or do you set an output percentage that does not change until you go back to auto?

Sorry for all the simple questions but the self training is not easy with the production manager breathing down your neck.

Does anyone have the answer to on this? What is correct?
 

Similar Topics

There is a chilled water cooling loop in our process cooling a roller. It has been about impossible to tune. this is in a tertiary loop. From the...
Replies
6
Views
3,214
Does anyone have expierence with PIDE control of an on/off output. I am converting a heat treat oven from temperature controllers to PLC based...
Replies
2
Views
1,394
I have created a PIDE loop in control logix and am for some reason unable to get this loop to function in AUTO. the outputs that are set telling...
Replies
1
Views
2,627
I am using the PIDE function in version 16 of RsLogix 5000 for a job which I am in the process of testing. The problem I am seeing is with the...
Replies
7
Views
6,013
Can anyone tell me the difference between program,operator and override modes with the PIDE instruction in RS Logix 5000, and when they are likely...
Replies
5
Views
4,171
Back
Top Bottom