PID Loop to Adjust Time variable

jakejhill

Member
Join Date
Jan 2019
Location
Indiana
Posts
4
We have a process where we heat parts based on a pre set time variable. After that we bring a servo down with a touch probe to measure the parts and determine if its pass/fail. The problem is we are not in a temperature controlled environment. As the temps outside heat up our preset times create failures. It has been suggested to use a PID Loop to constantly adjusted the heat time based on the measurement and target value. Is this a good way to go about that??? Our heat times range from 3-4 sec. Manually bringing them down a tenth can give us the results we need. Allen Bradley PLC
 
I think a PID loop would be overkill, and hard to tune. Why not just adjust the time setpoint by a tenth, up or down, based on the test measurement. If to0 hot, setpoint = setpoint -.1, if to cold, setpoint = setpoint + .1.
 
We currently have it set up where the time can be manually adjusted via HMI. Just looking for ways to automate the adjustment.
 
It sounds like I would want to monitor part temperature with a thermocouple or infrared, and trigger measurement at a setpoint. There’s too many choices for thermocouple to list. Raytek, Omega, and Keyence come to mind for IR
 
+1 for Ken Moore. I would have the outside air temp value come in on an analog input and then using logic/compare instructions, you would have some data or past trending that would tell you" if OA is GRT than, say, 70", then that would subtract 1 from timer preset and move new preset into timer, if LES etc, etc. That would work pretty well, I use that logic all the time in my air handler routines. Hope this helps.
 
I've seen an integral controller used for this type of future batch correction.

Adjust the next time-preset based on current time-preset and measurement result subject to max and min limits:

Execute this once before the next cycle; the updated Tcurrent is the new time preset.

Tnext = Tcurrent + K*(Target - Measurement); where K is your tuning constant
IF (Tnext < Tmin) THEN
Tcurrent = Tmin
Display 'warning - operating at Tmin limit'
ELSE IF (Tnext > Tmax) THEN
Tcurrent = Tmax
Display 'warning - operating at Tmax limit'
ELSE
Tcurrent = Tnext
Clear Display warning
ENDIF

This might be more useful if the batch cycle and changeover times are short relative to the time scale in which environmental factors change.
Also, this makes corrections in a more consistent manner than that of a collection of human operators.
 

Similar Topics

Hello, I am attempting to tune a PID loop on a process. The process involves a valve with electronic actuator that has quite a high deadband...
Replies
10
Views
2,075
We have a PID loop at the plant that measures our drum outlet temp. It adjusts a damper to control the temp within the set point. We have a...
Replies
8
Views
1,365
Hello All, Has anyone on here used Soft PLC brand PLCs? I've just now started doing PLC programming and I am totally stuck on trying to make a PID...
Replies
4
Views
1,526
Hello and thanks for reading my question/problem. I am working on an a application where I have a servo controlled gate that allows product (dry)...
Replies
14
Views
2,714
Hello All, I am trying to figure out the best way to control a system I am working on. I have 2 bags of peanuts being lifted up by hoist. I am...
Replies
23
Views
4,678
Back
Top Bottom