newbie with simple problem

jdc

Member
Join Date
Nov 2004
Posts
3
I have surfed this board for a while and have learned much, but mechanics are my real forte so please forgive my ignorance of a solution for what I believe is a simple problem. I am trying to set up an AD DL06 to set an output on for a varying portion of a minute, and off for the rest of the minute based on temperature. These one munute cycles would then repeat until the temperature reached a reset point.

Example:

At temp. X the output would be on for 10 seconds and off for 50.
At temp. X-5 the output would cycle on for 20 seconds of each minute.
At temp. X+5 the cycle would terminate until the temp decreased to X.

If anyone could point me in the right direction I would be most appreciative.

Thanks
 
First, what are your inputs?

Will you have several thermostats set at the different temps, or an RTD or other analog device with varying resistance/current flow (4-20 ma?)?

Will you have a manual overide?

Single output to heater device?

Lisy your I/O, and post them, and someone will give you a push in the right direction.

regards.....casey
 
Thanks for the reply Casey,

There will be two thermocouple inputs in an or type set up with a single contact closure output. Manual overide is not a must have for this application, but would be nice.
 
JDC,
since you have analog inputs, what do you want to do when temp is somewhere between x and x-5 (or for that matter, x and x+5)?

Do you want at temp x the system to cycle for 10 seconds, off for 50 seconds only while temp = x, or to continue even if temp creeps up or down by 4 degrees?

This will determine how the timer will be set up/interrupted in the ladder logic.

-Mike
 
It should continue to cycle anytime it is below the reset point after reaching the initial point calling for some output, the output should be on for increasingly longer parts of each minute as the input goes lower eventually reaching a point where it is on continuously. We are only talking about a 10 or 15 degree temperature band between reset and continuous on.

I don't need infinately varying proportionality as long as I can define a minimum output time at 3 or 4 points in the band. True proportionality is fine also, but I thought it would add unnecessary complication.

Intuition tells me this should not be as complicated as I am making it, but us electronically challenged guys just don't always get it as qwickly as we should.

Thanks for the replys.
 
Last edited:
Some help

Here's some ladder logic to get you started (I'm feeling generous today).



FIRST, DETERMINE WHICH PART OF THE CYCLE THE SYSTEM IS IN.
IF THE TEMP IS BELOW X-5, THEN RUN THE LOW CYCLE.

LOW_CYCLE
---| TEMP < (X - 5) |----------------( )


IF THE TEMP IS ABOVE X+5, THEN RUN THE HIGH CYCLE.
ONCE THE HIGH CYCLE IS REACHED, IT STAYED REACHED UNTIL THE TEMP DROPS DOWN TO X

HIGH_CYCLE
---| TEMP > (X - 5) |-----------+----( )
|
HIGH_CYCLE |
------| |-------| TEMP > X |----+

IF NEITHER HIGH NOR LOW, IT MUST BE NORMAL.
LOW_CYCLE HIGH_CYCLE NORMAL_CYCLE
------|/|-----------|/|---------------------( )


GET THE DUTY CYCLE FOR THE LOW CONDITION
LOW_ON_TMR +------- TMR ----+
------|/|------------| LOW_OFF_TIMER |
| 40 SEC |
+----------------+

LOW_OFF_TMR +------- TMR ----+
------| |------------| LOW_ON_TIMER |
| 20 SEC |
+----------------+


GET THE DUTY CYCLE FOR THE NORMAL CONDITION
NORM_ON_TMR +------- TMR ----+
------|/|------------| NORM_OFF_TIMER |
| 50 SEC |
+----------------+

NORM_OFF_TMR +------- TMR ----+
------| |------------| NORM_ON_TIMER |
| 10 SEC |
+----------------+


NOW THAT WE HAVE ALL THE BITS THAT WE NEED, WE CAN FINALLY DRIVE THE OUTPUT
LOW_CYCLE LOW_???_TIMER OUTPUT
-------| |------------|?|----------------------+--------( )
|
NORMAL_CYCLE NORM_???_TIMER HIGH_CYCLE |
-------| |------------|?|-----------|/|--------+




I've left a few things for you to figure out (I'm not THAT generous).

First is, you'll have to translate some of the instructions into a DL-06 language. I don't beleive you are allowed to do a comparison with a calculation in the middle of a rung. I also used tags intead of memory addresses.

Second, you'll need to watch the logic (or build a timing diagram) to determine which of the timer bits (_ON_ or _OFF_), and which state (-| |- or -|/|-) will give you an ON signal for the time interval you need, and substitute that for the ??? that I have. Understanding that will teach you much about how timers, and PLCs, think.

Mike's questions are worth noting. The above ladder will use the NORMAL timing when the temperature is climbing above X, but the HIGH cycle (i.e, OFF) when coming down from X+5. Between X and X-5 it will just use NORMAL. If that's not what you want, you have enough clues to figure out how to modify a rung to make what you want happen.

Other things to think about:
What should happen if the temperature changes in the middle of a duty cycle? For example, it had been running in the LOW cycle for 15 sec when the TEMP went above X. Should the output continue ON for the next 5 seconds, or should it switch to NORMAL, and thereby be off for the next 50 seconds.

How should this system be started and stopped? As it is now, it will always be active as long as the PLC is active. Is this desirable? How will you do maintenance on the output?

Is X going to be a constant, or a variable? Entered on an HMI, or just in the PLC memory? Should there be range checking?



If you need anything more, just ask.
 
Last edited:
I'm a function block, process guy with only rudimentary PLC ladder exposure. I'd call this app "time proprotional PID, with a cycle time of one minute and a fairly high gain" to flip the proportioning 2:10 and back again within a 5° band around the setpoint. The output would be a relay or AC DO on a hybrid controller.

Question: Can the output of the typical, say, SLC drive a relay output? Or does PID, by definition assume a continuous 4-20mA output?

Dan
 
The SLC PID instruction has a standard proportional output, and will not do a time proportional PID out of the box. But it can be easily accomplished by storing the PID output in a memory register and then using a timer and compare function to cycle the discrete output on and off.
 

Similar Topics

Hello everyone, I am new to the forum and have only basic PLC experience. I have an application where I need to use a CLICK PLC to control a...
Replies
36
Views
9,258
Hi All, I've just recently completed a basic training course on PLCs. I've been playing around with Step7 from Siemens and I'm trying to...
Replies
7
Views
1,830
Hello all, I'm a new member here. I've joined as I want to learn about PLC programming. I've got a few questions to begin with. To get me...
Replies
37
Views
4,586
Howdy folks. Been doing PLC programming for like 15 years now in LD and ST, but I'm trying to learn SFC now and have a kind of dumb question... I...
Replies
4
Views
1,422
Hello. New to Unity and had a couple quick questions. Can a Modicon M340 output to a small multiline LCD screen and not a full HMI?
Replies
4
Views
968
Back
Top Bottom