Damper Position Monitoring

Adam303

Lifetime Supporting Member
Join Date
Aug 2009
Location
Chicago
Posts
587
Gents, back again for some help. I’m I using RsLogix 500 Micrologix 1500 CPU. I have a total of 6 dampers each fitted with two proximity switches sensing open, closed position, and referenced to the PLC as a state of the damper.
Dampers 1 and 2 are for intake of either outdoor air or return air.
Dampers 3 and 4 are for discharge air either to interstitial space or production room
Dampers 5 and 6 are used for exhaust either from production room or interstitial space


There is a total of 4 cycles that requires all the dampers to be in different position per cycle.
The cycles are:
Cycle1:Outdoor air to production
Cycle2: Outdoor air to Interstitial Space
Cycle3: Return air to interstitial Space
Cycle 4: Off
I need to monitor the damper position for “dampers in position” prior to start of the exhaust fan and supply blower. All good here.
I created 4 predefined words of data (B11:1 to 4) for damper 1 thru 4 and, another four words of predefined data for the exhaust dampers 5 and 6 (B12:1 thru 4).
Based on what the cycle is (Cycle1) I move the required predefined damper data thru indirect addressing for comparison (EQU) with the actual damper position. Once the dampers are in position I trigger a bit “Dampers In Position” and start the supply blower and exhaust. Once Cycle1 calls for the position of the damper I engage a “Damper Position Delay Timer” if the timers DN bit goes hi I trigger a bit “dampers failed to open.
Finally my question.
Q1) I need to trigger an alarm based on which damper failed to open or close, prior to the start up on the unit, most likely when “Damper Position Delay Timer” DN bit is true.
Q2) Once all the dampers are in their correct position, and the supply blower starts, the exhaust blower starts, I need to monitor the positions of the dampers. Meaning once one of the proximity sensor monitoring the state of the dampers position is not in its required state I need to trigger an alarm that the particular proximity sensor has failed.
I’m having a difficult time creating an alarm based on the above statement. Any help is greatly appreciated.
 
Last edited:
Just a thought....

Could you send them to a word (maybe a double) then look at the decimal value of the word, it may end up being to large of a task but I did it on a smaller scale once

b4:0/0 true is damper 1 open (value 0)
b4:0/1 true is damper 1 closed (value 1)
b4:0/2 true is damper 2 open (value 3 or 4 if damper 1 is closed)
etc...

Like I said it was on a much smaller scale, but the value x = alarm of position
 
I am not sure why it needs to be too complicated. I would think that you have a position command for each damper so your alarm logic could be a timer for each damper:


Damper 1 Damper 1 Damper 1
Open CMD Open LS Alarm Delay
+---] [-----------]/[-----+---------TON
| | T4:0
|Damper 1 Damper 1 |
|Close CMD Close LS |
+---] [-----------]/[-----+
| |
| PB Alarm |
| T4:0/DN Reset |
+---] [-----------]/[-----+




Set the timebase and preset appropriately and repeat the logic for each damper...

Paul
 
I assume it's something like this?

Damper 1 OPEN Command B3:10/0
Damper 1 CLOSE Command B3:10/1
Damper 2 OPEN Command B3:10/2
Damper 2 CLOSE Command B3:10/3

So when you ask for open, the command word (B3:10) reads 0101, when you ask for close, it reads 1010

Now for the sensors...

Damper 1 FULLY OPEN B3:11/0
Damper 1 FULLY CLOSED B3:11/1
Damper 2 FULLY OPEN B3:11/2
Damper 2 FULLY CLOSED B3:11/3

So when both dampers are open, the status word (B3:11) reads 0101, when both dampers are closed, the status word reads 1010

Therefore, when everything is ready, both word are equal. When they're not equal for 'x' seconds, an XOR of the bits will tell you which ones don't match. You can use the bit(s) in the destination word to trigger your alarms.

🍻

-Eric
 
Paul I would like to monitor both the proximity switches on each damper
So per say if I issue a command DAMPER1 OPEN I want to monitor the closed proximity switch as well.
 
Paul I would like to monitor both the proximity switches on each damper
So per say if I issue a command DAMPER1 OPEN I want to monitor the closed proximity switch as well.

So you can do the same thing, but I would think that if you are commanding the damper to open and the closed LS stays true, you would want to alarm much sooner, so that would call for separate timers with smaller presets.
 
So you can do the same thing, but I would think that if you are commanding the damper to open and the closed LS stays true, you would want to alarm much sooner, so that would call for separate timers with smaller presets.
Since he's using indirect addressing, I think he wants an 'elegant' solution. That's why I offered the XOR. Personally, on this small of a system, I would just 'brute force' it with standard logic. Makes it much easier for the next guy to figure out. Now if there were 100 dampers and 50 combinations, indirect addressing starts to make sense.

🍻

-Eric
 
Excellent solution Eric Thanks For the big help.
On this small of a system indirect addressing should not be that hard to figure out :oops:. Again BIG Thanks.
I just thought this would be a good solution to monitor the off state of each prox
 
There are an infinite number of ways to program this. It's all a matter of what you're most comfortable with.

As an example of how people think differently... In my head, this is a sequential system. Each damper moves through a sequence. CLOSE-Closing-Closed and OPEN-Opening-Opened. Sensors tell me when each step has completed. I would just fault when a step takes too long. The step that faults tells me which sensor failed.

Program it however you like, but don't forget the rung comments!... :D

🍻

-Eric
 
I have to agree with Eric about the use of indirection here, not trying to gang up on you Adam, but we all can benefit from constructive criticism, so please don't be offended because of a difference of opinion about style.

Give 100 programmers the same task, and I guarantee that no two would bring back identical solutions. They may all have good and bad qualities too, and probably disagree about which one was best.

Paul
 
Give 100 programmers the same task, and I guarantee that no two would bring back identical solutions. They may all have good and bad qualities too, and probably disagree about which one was best.
Why would we disagree?... :D

:mad:
Eric Paul

🍻

-Eric
 
I have to agree with Eric about the use of indirection here, not trying to gang up on you Adam, but we all can benefit from constructive criticism, so please don't be offended because of a difference of opinion about style.

Give 100 programmers the same task, and I guarantee that no two would bring back identical solutions. They may all have good and bad qualities too, and probably disagree about which one was best.
Paul I have no means to be offended by you or Peter, to me “criticism” from someone that has years of experience in the PLC world is more like a BEST advice. So please should I have any more question in this thread or any other fell free to criticize away. (y)
Thanks Again.🍻🍻
 

Similar Topics

Damper control: air to air heat exchanger, pre-heater We call this a block and bypass dampers, I have process air coming into this preheater at...
Replies
12
Views
9,953
http://www.plctalk.net/qanda/showthread.php?t=27555 base on this similar system or boiler system what the different/advantage controlling the...
Replies
1
Views
1,505
We have a damper motor which we need to test. However the method of connection has eluded us. Can any body identify the makers symbol in the...
Replies
10
Views
2,388
I am having a incredible time understanding the attached drawing and the theory of operation on a Jordan Controls SM-1020-D-2 damper. TB 2...
Replies
8
Views
3,334
We have an application where an operator needs to move an idler roll assembly up and down an incline of about 45o. This will be a completely...
Replies
13
Views
4,704
Back
Top Bottom