![]() ![]() ![]() ![]() ![]() ![]() |
||
![]() |
||
![]() ![]() ![]() ![]() This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc. |
||
![]() |
![]() |
#1 |
Lifetime Supporting Member
|
Damper Position Monitoring
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.
__________________
You can’t control what you can’t measure. Last edited by Adam303; March 16th, 2012 at 07:32 PM. |
![]() |
![]() |
#2 |
Lifetime Supporting Member + Moderator
|
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
__________________
www.PLCCable.com PLC Communication Cables, PLC Trainers, MicroLogix, ControlLogix, Siemens, Allen Bradley and more...OEM and aftermarket supplies... Aftermarket 1784-U2DHP Allen Bradley USB to DH+, new USB to 485 modbus |
![]() |
![]() |
#3 |
Lifetime Supporting Member
|
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:
Set the timebase and preset appropriately and repeat the logic for each damper... Paul |
![]() |
![]() |
#4 |
Lifetime Supporting Member + Moderator
|
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 |
![]() |
![]() |
#5 |
Lifetime Supporting Member
|
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.
__________________
You can’t control what you can’t measure. |
![]() |
![]() |
#6 |
Lifetime Supporting Member + Moderator
|
Well then anyone would be able to do it... oh wait
![]()
__________________
www.PLCCable.com PLC Communication Cables, PLC Trainers, MicroLogix, ControlLogix, Siemens, Allen Bradley and more...OEM and aftermarket supplies... Aftermarket 1784-U2DHP Allen Bradley USB to DH+, new USB to 485 modbus |
![]() |
![]() |
#7 |
Lifetime Supporting Member
|
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.
|
![]() |
![]() |
#8 | |
Lifetime Supporting Member + Moderator
|
Quote:
![]() -Eric |
|
![]() |
![]() |
#9 |
Lifetime Supporting Member
|
Excellent solution Eric Thanks For the big help.
On this small of a system indirect addressing should not be that hard to figure out ![]() I just thought this would be a good solution to monitor the off state of each prox
__________________
You can’t control what you can’t measure. |
![]() |
![]() |
#10 |
Lifetime Supporting Member + Moderator
|
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!... ![]() ![]() -Eric |
![]() |
![]() |
#11 |
Lifetime Supporting Member
|
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 |
![]() |
![]() |
#12 |
Lifetime Supporting Member + Moderator
|
|
![]() |
![]() |
#13 | |
Lifetime Supporting Member
|
Quote:
![]() Thanks Again. ![]() ![]()
__________________
You can’t control what you can’t measure. |
|
![]() |
![]() |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Sequencers | randy | LIVE PLC Questions And Answers | 44 | January 31st, 2020 05:06 PM |
SQO and SQC Problems for RSLogix 500 | Loca21 | LIVE PLC Questions And Answers | 9 | February 25th, 2008 09:49 AM |
Position tracking using resolver | ascot01 | LIVE PLC Questions And Answers | 4 | November 13th, 2007 05:28 PM |
Position Feedback with Mitsubishi Servos | kpizzolatto | LIVE PLC Questions And Answers | 1 | June 13th, 2007 01:48 PM |
PID for damper position control | geniusintraining | LIVE PLC Questions And Answers | 12 | December 21st, 2006 03:05 AM |