slc 500 pud

jimtech67

Member
Join Date
Jun 2002
Location
New Jersey
Posts
507
Has any tried using a SLC500 PID to contoll web tension on a winder or unwinder. Closed loop with load cell feeback. The shaft pressure is controlled by an E/P from an anlog output.

I found this difficult because when the set point and process are equal the Control Variable is zero. This not good for tension.

I need the control output maintain a changing level output to maintain tension on the web. I have tried scaling the output many different ways but this did not work because the output I need from the PID when the error is zero is constantly different depening on setpoint that input. Also as the roll builds up or down the air pressure needed to to keep the same set point changes.

Am I missing something or is this just the way the loop works in a SLC500?

I have writen my own loop that works nicely but is cumbersome.
 
I've done it with a PLC. I found I didn't need PID. I could get by with proportional only. My system was for rolls of paper on 4 inch cores. Roll widths could vary from around 20 inches to 60 inches, and max diameter was around 48 inches.

The system used Montalvo brakes and I got the best results by cutting the air supply to individual pads as the roll got smaller. If I didn't do it, the P gain that I needed for a full sized roll made the system unstable as it got closer to the core.

The pneumatic system had a solenoid valve for each brake pad. Each time the signal to the I/P transducer reached a low level, the logic would drop another solenoid. This caused a mild upset in the tension, but one we could live with.
 
I guess you could use one but with the drives available it isnt necessary.

In my plant we have numerous unwinds and rewinds, most of the unwinds are primarily pneumatic now. The rewinds (some use older Reliance drives with DC motors) but some are newer. I can think of 3(2 are identical) that are rewinds that use a plc to complete all the functions like turret, splicing etc but the drive(s), tach, encoder and dancer control the speed of the shaft. When splicing the 1st drive turrets to place 2nd in position and then 2nd drive matches first in speed then splice is made. The drives do all the work based on web speed from encoder at input of paper. The other system uses Eurotherm drives which get a speed signal from the cooling roll but do basically the same thing, when brought into position for a splice they match speed based on web speed and dancer input, once splice is made then completed roll comes to a stop.

What I have found is that a rewind can be self sufficient, a plc is nice to handle functions like turret, splice, start, stop etc but allow drives to handle the speed control, most of them can do PID now but I am not sure its a necessary function or at least not all is always needed.

You may want to look at the drives in the system and see if that part of the system cant be maintained by them, to me it makes things simpler and more efficient overall.
 
Am I missing something or is this just the way the loop works in a SLC500?
Sounds like you've only given the PID instruction proportional gain. With no error there will be no output from the PID's proportional term.

There's two ways to change this:
a) supply a value to the PID's bias term
b) add integral gain (reset)

Method a will normally operate with a steady state error - the magnitude of which depends on how much proportional gain can be tolerated.

Method b will, when successfully tuned, approach zero error - effectively providing automatically adjusted bias.

The workings of PID in general and in particular on the SLC has come up here before - search through the history for some fairly lengthy threads.
 
Yes, We have done that--with a 5/03. My control variable doesn't go to zero, however. Did you include integral gain?? I have P and I--but no D gain. The loop is tuned sluggishly, so after an automatic roll change, if the tension is not close to setpoint, it takes several seconds to recover. But if I heat the loop up, it oscillates at core. The PLC PID's are limited as far as what you can do, but there are things I did in the ladder that helped.

The first time the new roll reaches setpoint, the PLC "remembers" the pid output value. Then when that spindle is started the next time, we plug the remembered value into the PID output (a crude feed forward). This method starts the thing out very close to the right brake pressure to control at setpoint.

We installed the system to replace an old 100% pneumatic system that included several preset regulators and solenoid valves. What a headache that was. The new brake control, I'm proud to say, has zero solenoid valves, and one i/p for each spindle--it's basically maintenance free. If we want to plug in a pressure, we just tell the i/p through ladder logic.

The unwind control system also does core detection via diameter calculations to control auto indexing and auto flying splice.

There are lots of things you can do in the ladder that I haven't tried yet--such as changing the P and I gains of the PID as the roll builds down to change the properties of the tension loop as conditions change. That's basically what Steve Bailey's accomplishing by trimming brake pads as the roll builds down. But with Steve's method, he doesn't need to know the diameter--he trims based on what the loop is doing. Like I said, the PID is limited, but the control of the tension loop is limited only by our imaginations.
 
Last edited:
We routinely write our own PID functions in ladder using a SLC platform for our industrial hydraulic control applications. I prefer to write my own rather than use a 'canned' function. Most of my PID functions are really PI functions either because the application won't tolerate derivative control, or the lack of an extremely acurate time base coupled with not quote so deterministic I/O can cause instability.

The proportional term is pretty straight forward to calculate.

The integral term is also pretty easy, but this is where I generally customize my routine by including the ability to turn the integrator off and on to prevent wind-up (example, If I am controlling a water regulating valve to control the temperature of the oil in my reservoir, and I know the oil is cold because the machine is just starting up first thing in the morning, I know I have a huge error between my set point and actual values. If I enabled my integrator, it will wind-up in a direction to close the valve and won't start to undwind until after the oil temperature is above my setpoint. To avoid this problem I disable the integrator until the temperature has gotten up to my setpoint at least once and then I enable it. This tends to promote a faster machine warm-up as well. In addition, I typically include limits on my integrator to prevent huge wind-ups, for example I might limit the integral output to 10% maximum. In this manner, the proportional term does most of the coarse adjustment to get the actual term close to the set point, and the integral term is used to tweek the system to reduce the error to zero.

Depending on the application, I will sometimes include a fixed offset or bias term. In the temperature control example, I might bias the water valve open some amount, say 50% for instance. This means that if I turn off the proportional and integral term, the valve will be open 50%, which I determine thru direct observation as the approximate opening required to provide some degree of oil cooling. The proportional and intergal terms will be summed with this bias and act as a venier around this bias value. In this manner my PI portional of the control doesn't have to work as hard to maintain the desired setpoint.

Another trick to a successful 'roll your own' loop control is to prevent insantaneous step changes to the set point. Include some form of 'ramping' function to change the set point over time. We typically make this transparent to the machine operator. The ramp is usually slow enough to prevent huge upsets, but fast enough that the operator can feel he has direct control as he changes the set point.

As John indicated above, you can also play tricks by changing the gains on the fly but this requires very good knowledge on the behaviour of the system. A typical case of when a gain change is required is on a hydraulic press in which the press will initially close on small cylinder areas for high speed and low force, and then switch (via hydraulic valving) to a configuration of large cylinder areas for low speed but very high force. The two configurations require significantly different gains for the same direction of travel. This gets to be a little trickier since it requires a very good understanding of the solenoid valve shift characteristics and system dynamics in order to successfully implement. Typically the gains are not step changed but are instead ramped to provide a smoother transition from one configuration to another.
 
Last edited:
Gerry
I have tried using integral gain and had the same problem. What is the PID's bias term inSLC 500?

Rsdoran
I have used Eurotherm drives many times for unwind and rewind applications and I like a lot. This application needed differential winding.


THANKS FOR ALL THE INPUT KEEEPIT COMING
 
Gerry
I have tried using integral gain and had the same problem. What is the PID's bias term inSLC 500?
It's called feedforward/bias.
Now, this is curious - when I look at the setup screen for the PID, there's a place for the term but it's grayed-out. It does however, show the contents of the 7th word in the control block (N7:6 if the block starts at N7:0). Don't know if it is functional. Anyway, it would be simple to add bias to the CV outside of the PID instruction.
I keep thinking of the PID instruction as implemented in the PLC5 and forget what's missing in the SLC.
 

Similar Topics

I have a program that I've used 100 times. SQO settings: File N7:0, Mask 0FFFFh, Dest B3:1, Control R6:0, Length 8, Pos 2. Length & Position...
Replies
48
Views
1,010
Everyone, i am in the process of purchasing the Slc 500 version of software to support what we have and i have a question. Several of our...
Replies
9
Views
788
In a slc 500 plc I am trying to move data with out using a lot of moves. I want to move data from n7:1 to n7:2 and data that was in n7:2 to n7:3...
Replies
16
Views
1,381
Customer has a circa 2004 SLC-500 PLC. Fieldbus is a 1747-SDN DeviceNet scanner. Customer has SLC-500 file (.rss) with no comments. Has no *.dnt...
Replies
7
Views
569
After I tried wiring, I used computer program communication to read the PLC N value, but received a NAK signal. And the DL3500 CHA light keeps...
Replies
0
Views
437
Back
Top Bottom