05-13-2013 08:34 AM
Hi all. I am trying to prepare a variable speed compressor control program but I was stuck in some points. Let's explain what I tried to do.
Control is based on two temperature measurements from different locations. I want the compressor to work while the first temperature point is between 0-8 degrees OR the second temperature point is between -18.5 and -18 degrees. When the first temperature reaches the 0 degrees, it sends the signal to stop the compressor till it reaches 8 degrees. Once it reaches 8 degrees it restart to send start signal to the compressor. Similarly, when the second point temperature reaches -18.5 degrees, it sends to stop signal till it reaches -18 degrees. I tried an algorithm but I could not succeeded in doing this. What is problem of my code? I attached the program and data file that I am studying on it. Thanks in advance.
Solved! Go to Solution.
05-13-2013 01:17 PM
Your code seems a bit over complicated. Here is a quick implementation of your logic. Note that you will need to add some code to handle priority, since you have two sections of code that can control 1 device.
05-13-2013 01:34 PM - edited 05-13-2013 01:38 PM
@pjr1121 wrote:
Your code seems a bit over complicated. Here is a quick implementation of your logic. Note that you will need to add some code to handle priority, since you have two sections of code that can control 1 device.
Hi pjr1121. Actually you understood what I want is in the wrong way. It is two temperature based control. For example, if temp 1 reaches 0 degrees but temp 2 does not reach below or equal to -18.5, I want to drive the compressor till temp 2 is equal to -18.5, no matter temp 1 reaches 0 or not. Similarly, while temp 2 is equal to -18.5 or below but temp 1 is over or equal to 8 degrees, the compressor has to operate. Your suggestion does not serve in this way.
edit: and also temperatures are allowed to fluctuate, for temp 1 fluctuation is between 0 and 8, for temp 2, it is between -18.5 and -18. For instance, when temp 1 is equal to 0, temp 1 based control sends to the compressor to stop until temp 1 is over 8. The same scenario is the valid for temp 2 based control.
05-13-2013 02:51 PM
@newbieeng wrote:
Actually you understood what I want is in the wrong way. It is two temperature based control. For example, if temp 1 reaches 0 degrees but temp 2 does not reach below or equal to -18.5, I want to drive the compressor till temp 2 is equal to -18.5, no matter temp 1 reaches 0 or not.
I didn't misunderstand that, there just wasn't enough information provided. This is the section I was referring to for priority assignment. While yes there are two temperatures, there is only 1 compressor with on or off states so one temperature sensor should have priority over the other.
The code I provided allows for the temperature fluctuations. If the temp is between 0 and 8, the compressor control does not change. It is only when outside this region, that the compressor control is changed. The logic for priority was left blank since I didn't have that information. I now know that Temp 2 has the higher priority from your statement above. Add logic to the blank section I left to (based on signal priority) to select which logic circuit is used to control the compressor.
If you feel I'm still not getting the true intent of your question, please provide more detail.
05-13-2013 03:04 PM - edited 05-13-2013 03:12 PM
@pjr1121 wrote:
@newbieeng wrote:Actually you understood what I want is in the wrong way. It is two temperature based control. For example, if temp 1 reaches 0 degrees but temp 2 does not reach below or equal to -18.5, I want to drive the compressor till temp 2 is equal to -18.5, no matter temp 1 reaches 0 or not.I didn't misunderstand that, there just wasn't enough information provided. This is the section I was referring to for priority assignment. While yes there are two temperatures, there is only 1 compressor with on or off states so one temperature sensor should have priority over the other.
The code I provided allows for the temperature fluctuations. If the temp is between 0 and 8, the compressor control does not change. It is only when outside this region, that the compressor control is changed. The logic for priority was left blank since I didn't have that information. I now know that Temp 2 has the higher priority from your statement above. Add logic to the blank section I left to (based on signal priority) to select which logic circuit is used to control the compressor.
If you feel I'm still not getting the true intent of your question, please provide more detail.
You misunderstood the concept. Please check the vi and run it with reading from text file. Regarding the real rpm graph and temperatures, you will see what I want. You are right, there must be a priority in the control scheme, I provide it combining two control results just before the case structure. The only thing that I cannot do is the periodic fluctuations correctly.
edit: maybe you have doubt about how the temp 1 get warm from 0 to 8 degrees, it results from a mechanism (called as damper in household refrigerators) which separates air flow paths inside two cabinets of a refigerator. When the temp is equal to 0 for temp 1 which is the fresh food compartment air temperature, the damper is closed to prevent to enter air to the fresh food cabinet, therefore, all air is send to the freezer in which we acquire the temp 2.
05-13-2013 04:01 PM - edited 05-13-2013 04:08 PM
05-13-2013 04:09 PM - edited 05-13-2013 04:11 PM
Are you kidding? It works continuously, without shutdown...
edit: I was checking some values for desired times in the program when I need I use it. I know it seems meaningless in this way...
05-13-2013 04:13 PM - edited 05-13-2013 04:21 PM
@newbieeng wrote:
Are you kidding? It works continuously, without shutdown...
edit: I was checking some values for desired times in the program when I need I use it. I know it seems meaningless in this way...
your compressor is going to work until the set temperatures are reached...is that not what you had stated in the 1 post? those controls are connected to your acquisition...
note:
obviously, no one here understands what you are trying to describe....quote from the tv show "shark tank"...."i'm out."
05-13-2013 04:18 PM
Either he wants us to provide a 100% fully-functional VI for him, or he is leaving something out of the requirement. Your original code, along with the code I previously provided, both trigger compressor on/off states based on temperature values in your original post.
If the resultant output doesn't match what you need, then there is something else (are these temperature setpoints EXACTLY what was used when measuring the actualy RPM?)
05-13-2013 04:22 PM - edited 05-13-2013 04:33 PM
yes it is what I want, but the code you sent does not work in this purpose. I added my last code working on it and simplified to express what I desire. However, it has some problem that I am trying solve. Please look at time 19, while it cools down, when an increase in temperature (during acquisition it could be encountered not always but rarely) it forces to shutdown. When it warms and reaches 8 degrees, start to compressor and works till the temp drops to 0 degrees. As the temp is increasing from 0 to 8, the comp is off, as the temp is decreasing from 0 to 8, the comp is on. How could I eleminate reverse temp fluctuations effects during increasing and decreasing periods? Any idea?