Designing a Smart Step Controller for Refrigeration

Drifta

Member
Join Date
Sep 2014
Location
Melbourne
Posts
3
Hi Guys,

I am a student at Swinburne University and trying to learn PLC Programming. Currently trying to program smart control for Condensers as a project. The scenario is that a company has 5 Condensors that are old and they are to be replaced with a set of new condensors with VSD Drives controlling fan speed whereby the old ones didn't have this ability.

So I'm trying to set up to concurent Step Control Sequences that will help smoothen the process of migration as the old condensers get decomissioned over time, replaced with new ones.

Being new to PLC programming as well, I dont quite know how to set up a step and sequence relationship(Focusing for now only on the new VSD Fans)

For example if I have 5 new condensers and I am trying to vary the fan speed and turn on and off certain condensers based on pressure increasing and decreasing.

At the moment the logic I have so far works like this.
step 0 - all fans are off
step 1 - if pressure is increasing + VSD fan is available than start first fan at min speed
step 2 - enable fan PID
step 3 - if fan speed goes above 20Hz + Pressure increasing + another VSD fan available, start next vsd fan and continue till all are on (after all vsd fans on, engage sequence logic to start old condensers)
step 4 - if fan speed less than 18 HZ + Pressure decreasing, stop last fan started (first stop any old condenser fans still running using its logic sequence)
step 5 - go back to step 0 on power fault etc

I am happy with the above steps, however I am running into trouble implementing it.

I have come up with a system where a tag is assinged a value for the steps by moving a step number to the tag if conditions above are met. my problem however is with getting the vsd condensers to come on one at a time and waiting for them to speed up to setpoint before turning next one on.

so I have a tag which says which condensers are available. and if any condenser out of the 5 is avaialable it adds 10 to the sequence number and subtracts 10 from the sequence if its not available. so I have value of
0 = 0 condensers avail
20 = 1 avail
40 = 2
60 = 3
80 = 4
100 = 5

so step 1 and sequence= 20, check if cond1,2,3,4,5 is avail and turn on. ( since 20 means only 1 will be available, I can work systematically through them all and turn the 'one' on)

but my logic breaks when i do
step 1 and sequence = 40 (so 2 condensers available) - how can I find out which out of the 5 condensers is avail and turn it on, than wait for its speed to be above 20 before turning on the second condenser (after first finding out which one it is)

same issue again when 3, 4 and 5 condensers available. how do i uniquely identify the 5 condensers and possible combinations without ending up with 32 unqiue combinations and conding them seperately

I hope I am making sense here. Feel free to ask me any questions and I will try clarify.

Basically I am stuck with trying to find a way to identify which out of the 5 condensers is available to turn on and turn it on one after the other, after waiting for conditions of the step 1 to be met and the speed of previous one is above 20.

if i didnt have to turn them on one after the other it would be simple as i can check if all 5 are avail and turn on the ones that are.

any help or advice would be much appreciated. This is doing my head in for the last week

Found a way to export the little logic I have written to see if it helps you help me so I've attached it. Not sure if there is a better option. Using RSLogix 5000
 
Hi,

I have had applications where I had to run several devices parallel and consecutive to each other. Some times it can be worth it to think simple:

Use a single controller with output 0..100%. Divide the max output by the number of available devices (FE 100%/5=20%). So now when your controller starts increasing above 0% start device 1 and multiply the output by 5. When your controller exceeds 20%, start device 2 and multiply the output - 20 by 5. And so on.

You might want to pause the controller until a compressor is up and going. And perhaps momentarily decrease the output from running devices when you start an additional.

Just my two cents, and I am sure others will have a different views/solutions..
 
Hi Boneless,

I don't think that approach would work in my situation. I also dont have the luxuryof being able to pause the controller at all. Needs to more or less work at full speed

I am more so trying to learn of a way whereby I can virtually map physical drives to a sequence, which I can than manipulate and change the orders etc by being independant. This way each of the sections are completely independent and have no knowledge of the other.
Doing some more thinking. I would have 3 main sections. A stepping section which goes up and down based on a set of conditions.

a completely independant ordering and selecting magic which would be where the virtually mapped magic would work

and the final simple logic which turns drives on and off based on the step and the magic being true
 
The scenario is that a company has 5 Condensors that are old and they are to be replaced with a set of new condensors with VSD Drives controlling fan speed whereby the old ones didn't have this ability.
It seems you have assumed (wrongly) that you will have 5 new VFD drives AND 5 old condensors running at the same time.

The most likely replacement scheme (and I have worked on projects for replacing similar equipment in phases) is that the old condensors will be replaced 1 at a time, until all 5 have the new Variable Frequency motor Drives, just as you said "the old condensers get decomissioned over time, replaced with new ones."

In which case, your control scheme should provide a 6-position selector switch (and easy switching from 1 to 6) of these possibilities:

(1). 5 old condensors;
(2). 4 old condensors and 1 new VFD;
(3). 3 old condensors and 2 new VFDs;
(4). 2 old condensors and 3 new VFDs;
(5). 1 old condensor and 4 new VFDs;
(6). 5 new VFDs.

So your project is divided into 3 parts:
A. Setting up the "selector switch" logic;
B. Obtaining logic for 1 old condensor control (which should already exist, ask for a copy of old control logic from the "customer");
C. Designing logic for 1 new VFD control.

When you have Parts A-B-C, then you can work on implementing the 6 steps where you have various combinations of Parts B & C logic. Selector Switch Position 1 will be all Part A, Position 6 will be all Part C, and the other positions will use combinations of B and C.

Basically I am stuck with trying to find a way to identify which out of the 5 condensers is available to turn on
In the real world, this will depend on the construction constraints (which unit can be removed first without disturbing the others, and so on). Unless told otherwise, you can ASSUME any sequence of de-commissioning that you want, such as removing old units in order: Unit 1, 2, 3, 4, 5; or reverse order Unit 5, 4, 3, 2, 1.
 
Last edited:
Controlling condenser pressure is always a matter of balance, first check if the expansion valves are mechanical, or electronic, if electronic you can drop the condenser pressure until one of the valves is open 80%. (this is extra however saves a lot of energy)
the solution with 20% switch on works great with a PID controller, it is just meaning if a fan is not available it will take some time until the next starts.
The sequence is best explained when you give the condensers letters instead of numbers.
you can have a sequence of 1D, 2C, 3A etc.
meaning first is condenser D etc.
in the program you ask if available D then start D else step+(meaning go up 10 places in the state diagram).
to step down ask yourself if running D then stop D else step-
etc for all condensers.
you will need inputs if the fan can be switched on, if fan is running.
for the VFD types, speed is 25% then the next should be started.
if all are running then speed up all fans same to get to setpoint.
make an array[5] of the old condensers and array of the expected new ones [10].
what PLC will you be using?
 
Sorry for the late Reply.

@Lancie1 - Thanks for your advice, what I was attempting to do is almost exactly as you have described.

Unfortunately I am not doing this for a customer but as an excerise in creating my own control for the scenario described. Which doesn't matter as I was able to create my own control for the old condensers.

The condensers decomising would work just as you have described with 1 new VFD being added and 1 old being removed. my code needed to work out of the box without having to really adjust the sequence logic when a new VFD condenser is added.

What I was really having a problem with, was in my way of thinking. I was thinking like a programer and not based on how ladder logic works.

So I was attempting to find out first which condensers are available to be turned on and than only turning the ones available on.

What I realised I needed to do was simply worry about the sequence logic and turn on condensers once a step is reached and leave the saftey concerns of trying to turn on a condenser not available to its own logic by creating a condenser OK and condenser AVAILABLE tag which checked the isolater etc. (This is where experience and practice helps)

It has taken a few iterations but I am happy with the path I am on now.

@shooter I am new to refrigeration systems so correct me if I am wrong, however condensers dont normally have expansion valves? From what I know thats only on Evaporators?
IF these condensers do have expansion valves I havent been made aware of it and might be out of the scope of what I am learning at the moment. However your advice on the stepping system was really useful and helped me structure my sequence diagram.

Would love to learn more about refrigeration systems or learn about programming PLCs so will look at some material on this website and else where on designing other control systems as well as debugging. I find being able to debug a program is very helpful in my learning.

If anyone has any recomendations of websites or books etc on how ammonia refrigeration systems are designed and operate as well as sample code I can debug would appreciate it if you could share the names and I will work my way through them overtime.

Thanks for all your help everyone :)
 
depending on level of education;
control on pressure with pid so 20% is 1 codenser full.
another way is your description start next at20%
whyis it important to control energy
 

Similar Topics

Hello everyone, I am trying to build a test setup on my bench to train myself but hit a roadblock. The setup is a compactlogix plc and HMI, SMC...
Replies
4
Views
1,573
I just put this video together showing my workflow; https://youtu.be/1FdI1ttwVYA I’m interested in what tools and how everybody else is doing...
Replies
6
Views
2,272
Need help with designing and test a PLC-controlled pneumatic system that conveys manufactured parts and loads them on a packing machine. I am...
Replies
8
Views
2,663
Does anyone have recommendations for training geared towards designing a safety system? I am looking for something that would cover SIL...
Replies
3
Views
2,108
Hello, I have been tasked to design a new control scheme for a system we have in our plant. My plan is to use all AB controls, which is a...
Replies
8
Views
2,561
Back
Top Bottom