Temperature Controlled PLC Suggestions

iaknown,

Ok, unless I have forgotten something this all fits into 42 words well within the 100 word limit. If you go the Automation Direct site and download the demo version of Direct Soft you can open this up and view it.

If you wanted a real time clock you would need to get a DL06 instead of a DL05

I chose a 4 channel thermocouple input card F0–04THM.

Copy below this line and paste into notepad. Save it, launch DS5, click on "directSOFT 5 programming", highlight "direct logic 0/1/2/4/350" and "DL05" enter, This will open up the programming window. Click on "file", "import program", find the notepad file you saved earlier, open.

PLC 05

// Rung 1
// Address 0
#BEGIN COMMENT
"http://www.plctalk.net/qanda/showthread.php?t=46437"
""
""
"As far as the separate heater circuit I mentioned, let's forget about that for now, especially "
"if I am limited to program size. I can probably make that work via those thermostatic "
"switches if need be. But as far as the solar system itself, there will be a sensor on the "
"collector and a sensor in the storage tank. When the collector temperature raises above "
"the storage tank temperature ""x"" degrees the pump will turn on until the temperatures are "
"within a couple degrees, then the pump would shut off. If the system ever put out so "
"much heat during a hot sunny day that a max temperature was exceeded, say 180 "
"degrees, then a dump valve would be opened at the collector dumping the system so that "
"it does not overheat. Eventually as the storage tank temperature would be expended and "
"drop beyond a certain preset, the pump would turn back on refilling and circulating the "
"system in its normal operation. That is the basic operation during the day."
""
"I would need the PLC to trigger the dump valve at a preset temperature, say 37 degrees. "
"Then the next time solar heat is encountered and the collector/tank temp differential is "
"exceeded the pump would circulate the water which would in turn refill the system also. "
"Then it would be back to normal operation."
#END
NOP

// Rung 2
// Address 1
#BEGIN COMMENT
" The upper byte, most significant nibble (MSN) selects the data format (0 = BCD, 8 = "
"binary). The LSN selects the number of channels (1, 2, 3 or 4). V7700 = Special memory "
"location assigned to the option slot that specifies the data format and the number of "
"channels to scan."
""
"The ""LDA"" loads an octal value for the first V-memory location that will be used to store "
"the incoming data. For example, the O2000 entered here using the LDA instruction would "
"designate the following addresses: Ch1 – V2000/2001, Ch2 – V2002/2003, Ch3 – "
"V2004/2005, Ch4 V2006/V2007 The octal address (O2000) is stored here. Special "
"V–memory location V7701 is assigned to the option slot and acts as a pointer, which"
"means the CPU will use the octal value in this location to determine exactly where to store "
"the incoming data."
""
"Loads a 0 into the accumulator to set the following parameters in"
"(V7703 – V7706). for thermocouple type burn out protection and some other params"
""
#END
STR SP0
LD K400
OUT V7700
LDA O2000
OUT V7701
LD K0
OUT V7703
OUT V7704
OUT V7705
OUT V7706

// Rung 3
// Address 11
#BEGIN COMMENT
"This rung corrects the negative reading for channel 1"
#END
STR SP1
LD V2000
ANDD K7fffffff
OUTD V2010
AND V2001 K8000
OUT C0

// Rung 4
// Address 19
#BEGIN COMMENT
"This rung corrects the negative reading for channel 2"
#END
STR SP1
LD V2002
ANDD K7fffffff
OUTD V2012
AND V2003 K8000
OUT C1

// Rung 5
// Address 27
#BEGIN COMMENT
"In this rung we add your ""X"" degrees to the tank temperature so that if the collector is "
"higher than this we will turn on the pump "
""
"In other words this is the circulating pump turn on differential. between the collector and "
"the storage tank"
#END
STR SP1
LD V1604
ADD V2010
OUT V1600

// Rung 6
// Address 31
#BEGIN COMMENT
" This rung is for the circulating pump the pump will run when the temperature of the solar "
"collector exceeds the storage tank by ""XXXX"" degrees. this is defined in the previous "
"rung by placing the temerature differential you want in V1604"
""
"note If you have temperatures below 37 below we need to add some logic"
""
""
#END
STR V1600 V2012
AND V2012 V1601
OUT Y0

// Rung 7
// Address 36
#BEGIN COMMENT
"This rung is for the collector drain"
""
"I used Vmem storage registers instead of constants (KXXXX) so you can change values "
"on the fly"
""
"If we used constants and you wanted to do some tuning on a temperature setting then "
"you would have to shut the system down to change. But by doing it this way you can just "
"change on the fly"
""
"Note If you can have negative temperatures below 37 below we need to add some logic"
#END
STR V2010 V1603
ORN V2012 V1602
OUT Y1

// Rung 8
// Address 41
END

// Rung 9
// Address 42
NOP


#BEGIN ELEMENT_DOC
"Y0","","","circulating pump"
"Y1","","","dump valve"
"C0","","","channel 1 is negative"
"C1","","","channel 2 is negative"
"V1600","_v1600","","If the collector temperature is this temp or higher turn on circulating pump"
"V1601","_v1601","","put your ""Freezing"" temp here (to make sure the pump doe not turn on when the temperature is too low)"
"V1602","_v1602","","put your drain opening freezing temp here"
"V1603","_v1603","","put your drain opening ""too hot"" temperature here"
"V1604","_v1604","","temperature differential"
"V2000","_v2000","","temperature of storage tank lower word"
"V2001","_v2001","","temperature of storage tank upper word"
"V2002","_v2002","","temperature of collector lower word"
"V2003","_v2003","","temperature of collector upper word"
"V2010","","","storage tank temperature corrected for negative "
"V2011","","","storage tank temperature corrected for negative upper word "
"V2012","","","solar collector temperature corrected for negative "
"V2013","","","solar collector temperature corrected for negative upper word"

#END
 
Wow....awesome. Now let me sit down and study what you did here so I can understand what's going on...or try to. I appreciate your time and I'm sure I'll be bugging you with questions shortly.
 

Similar Topics

Hello, I have an application where I want to modulated fan speed with VFD to maintain a predetermined temp.how should I go about this?
Replies
7
Views
3,378
I are working on a project using a plc to control a electric heater for boiling purposes (boiling a pot of water). i am new to plcs and have a...
Replies
12
Views
3,161
I’m attempting to send a temperature from a SLC-5/02 to an EZiMarquee display. The vendor said to use a MSG instruction to send the data to the...
Replies
1
Views
110
Hi!! I'm looking for Temperature rise calculation software from Rockwell, I just download "Product selection toolbox 2022" but this software is...
Replies
1
Views
233
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
13
Views
645
Back
Top Bottom