PID in Control Logix

cjh

Member
Join Date
Mar 2003
Location
Cumming, GA
Posts
235
Is it possible for the PID or PIDE to keep running in the Control Logix when the PLC is in Program Mode? I know that some of the TI PLCs could do this in the past.
 
All the tasks in the ControlLogix stop executing when the CPU goes to Program Mode.

It's fairly common to set I/O channels to "hold last state" and the action can be suspended and restarted, but the logic solving tasks all stop when you stop the controller.
 
The only way around this might be to put another CPU into the chassis and dedicate the PID loop update to that processor alone. If the need to keep the PID loop alive is that critical it may well be worth the extra cost of the CPU.

It is even quite possible to use the extra processor in a Primary/Secondary backup mode WITHOUT all the extra expense of a fully redundant system. It relies on the ability of the CLX processors to share inputs and programmatically decide which one is controlling the outputs. It is NOT a true redundant system, there is no synchronising of datatables or edits, the two processors have slightly different programs, no bumpless transfer etc, but it does work quite well in relatively slow processes.

Some years ago I used this method in a city water treatment plant with good effect. It meant that I could do all kinds of edits on the Primary processor and if I didn't like them I would just flick it into program mode and the Secondary would take over with the old version of the program.

The method is documented somewhere in the AB technotes, or failing that email me and I will see what I can dig up.
 
Last edited:
PhilipW said:
The method is documented somewhere in the AB technotes, or failing that email me and I will see what I can dig up.

CJH, Philip's solution has potential, if you can spare an extra CPU. The ability to share IO cards in CLX is pretty neat!

The hard part is configuring the messaging between processors. You've got to read the help file, tech notes, and examples to really get the full picture. Here are a few tips:

1. You need to create and configure a MESSAGE tag.
2. Right click the tag in the tag browser to "Go to Message Properties."
3. You're probably going to use a CIP data table Read/Write. It's pretty straight-forward to set up, EXCEPT for the Path.
4. You may be able to use the path browser to find your secondary processor, try that first. If that fails, you need to know that each "step" of the communication link must be defined. For example, you can't just enter IP address of a remote PLC as a path. Here's a sample of a valid ethernet path:
Path: {Enet card name}, 2, {IPAddress}, 1, {Remote CPU Slot #}

The #2 tells the message instruction to communicate out the RJ45 port.
The #1 tells the message to tunnel into the backplane.
The rule that 1 means "backplane" and 2 means "port" is a little hard to find in the help file, so burn it into your memory.

So, for CPUs in the same rack the path should probably be: 1, {Secondary CPU Slot #}.

AK
 

Similar Topics

Hello All, This is more of a sanity check then anything. I have a project that I need to control the velocity of a fan based on the pressure...
Replies
65
Views
20,524
Hello all, A group I am involved with is just completing converting a Siemens APACS control system over to an RSLogix PLC. The subject came up of...
Replies
1
Views
1,200
Hello all, I have a pump that has operational limits 15-100% Speed (9-60Hz). 1. On the PID instruction would you limit (.MINO=15% and...
Replies
21
Views
5,131
i have a control valve that is used to heat a tank of water. the steam valve only has digital signal to control it and no position feed back. when...
Replies
4
Views
2,708
Hey guys, After spending most of a day Googling looking for the answer, I finally decided to make a thread and ask the experts. I'm trying to...
Replies
5
Views
3,558
Back
Top Bottom