PLC5 PID translation to ControlLogix

wildswing

Member
Join Date
May 2005
Location
Sault Ste Marie, Ontario
Posts
281
Hey fellas,

I'm in the midst of doing my first translation from 5 to 5000 that also includes PID instructions. I'm just looking for any helpful tips or tricks you may have.

The L71 logix processor will run the original 1771 IO over RIO via DHRIO modules. Analog modules are 1771 NIC and NOC.

The original PLC5 program contained a 100 msec STI file in which all the PIDs were run. All have 100 msec update times. The translated program has them all in an STI file as well. 100 msec timing confirmed.

I've looked through some docs in the Rockwell tech KB and I see the phrase "many things do not translate" (or something similar). Looking through and comparing the first one I found, I think I understand most things that do and they look ok.

I see, on the scaling page, min/max for cv and both are zero. This is obviously different from low/high cv limits on the config tab. I assume leaving these zeros is a bad thing and the output would not work if left as is. Correct?

Any other things I should pay close attention to? Is there a specific Rockwell doc I should be reading?

As always, your input and feedback is very much appreciated. Many thanks in advance.
 
CompactLogix use asynchronous I/O scan. This means the that the updating of I/O will happen whenever it can. n an asynchronous I/O scan, you typically will only use the actual I/O reference once in your program. Most programmers of these systems will transfer the I/O to internal memory first. They will then use the internal memory in the program code. This will now act like a synchronous, predictable scan.

Just a heads up,
Regards,
 
Thanks Gary.

Yes, I'm way ahead of you on that one. Since this is a translation from RSL 5 to RSL 5000, it creates I and O arrays that I then have to tie to the real IO. I do that in a preliminary input file and a final output file. I've also put the MSG read and write blocks for the analog IO into them as well so all the IO will behave as if it were synchronous.

Anybody else? I'm particularly curious about that max/min cv on the scaling tab. I would assume max must be set to 100 if I'm dealing with a 0 - 100% output. Is the cv the same as the .out as it is in the 5?
 
Thanks Gary.

Yes, I'm way ahead of you on that one. Since this is a translation from RSL 5 to RSL 5000, it creates I and O arrays that I then have to tie to the real IO. I do that in a preliminary input file and a final output file. I've also put the MSG read and write blocks for the analog IO into them as well so all the IO will behave as if it were synchronous.

Anybody else? I'm particularly curious about that max/min cv on the scaling tab. I would assume max must be set to 100 if I'm dealing with a 0 - 100% output. Is the cv the same as the .out as it is in the 5?

The Min/Max scales the CV into engineering units....So if you're controlling a Pump, that might be 0 to 60Hz. The OUT is always 0 to 100% of the min/max of the CV. So when CV is at 60 (Hz), OUT is at 100. So you can always (I do), use the OUT to scale your analog. Use the CV for displaying real engineering units, if 0 to 100% doesn't make sense.
 
Thanks Robert. I think I follow that. FYI, we've always set our PID out as 0 - 100% then done any scaling either on the way to or in the analog output card.

You still do scaling as normal for any analog. But use the .OUT, as it is always 0 to 100% (barring any clamps you've set). So 0 to 100 is always equal to 0 to max scale of anlaog (37267, 4095, whatever). The .CV may or may not be 0 to 100 depending on the min/max of the CV in the PID.
 
Thanks again Robert. Things have clouded over slightly. So if I have an analog output that's expecting data value from the PID controller of 0 - 999 (4-20ma) the PID .out will continue to be 0 - 100% but I would set my min cv to 0 and max cv to 999. Yes?

The cv max limits are still there only to clamp the output and prevent the PID from winding up, correct?
 
I have to run out for a bit so will skip ahead and confirm that obviously leaving the max cv at 0 is not a good thing and must be set to the max value that your output is expecting. Yes?

Any other hints, tips or tricks for the Logix PID?
 
Thanks again Robert. Things have clouded over slightly. So if I have an analog output that's expecting data value from the PID controller of 0 - 999 (4-20ma) the PID .out will continue to be 0 - 100% but I would set my min cv to 0 and max cv to 999. Yes?

The cv max limits are still there only to clamp the output and prevent the PID from winding up, correct?

Yes and No....If you want to use the CV as a direct scale to your Analog Output, then yes you could do that. However, I usually scale CV to a meaningful unit of measurement....IE 0 to 60Hz speed, or 0 to 100% opening of a valve, or 0 to 10 inches of position, etc.

Then elsewhere in ladder, I will use a CPT statement to convert the .OUT (0-100%) to my analog output. Something like CPT MyAnalog PID.Out/100 * 999
 

Similar Topics

Has anyone had an issue with a PID control after the processor has been upgraded form a L40E to a L80E. It does not seem to be controlling...
Replies
48
Views
5,903
I am working on a PLC5 that is doing temp control. However the temp control is working more like ON/OFF and not Proportional control. I am not...
Replies
32
Views
8,383
Has anyone ever converted a the PID instruction from a PLC5 to a CLX platform? The issue I am facing concerns the difference between a PID...
Replies
10
Views
3,442
I'm working on a project to convert an old PLC5 processor to an L63. Below is sample logic of one of the several PID controls from the...
Replies
9
Views
5,027
Hello I am troubleshooting a PID. My set output percentage from my SCADA is 60%. However when my PID is in manual my CV is stuck at 20%??? I can...
Replies
8
Views
3,084
Back
Top Bottom