Perry Posted August 5, 2010 Report Share Posted August 5, 2010 I'm extremely new to ladder logic and I've run into a problem with my first program. For safety sake, I need to ignore input "1" while input "2" is high and then do the opposite, ignore input "2" while input "1" is high. Both situations need only occur for 500ms, then look for the opposite input again. I can make a timer to ignore one input, but my second timer disables the process from functioning. Thanks in advance for any help. Link to comment Share on other sites More sharing options...
External Moderators Nacho Posted August 6, 2010 External Moderators Report Share Posted August 6, 2010 500 ms is the time of the pulses of SB3. My way: First send the value of Inputs to Memory Bits but only when you want: SB3 I1 I0 MB0 --| |--|/|--| |-----( ) SB3 IO I1 MB1 --|/|--|/|--| |-----( ) Then use MB0 and MB1 instead of I0 and I1 in your application. Link to comment Share on other sites More sharing options...
Phil Salkie Posted August 10, 2010 Report Share Posted August 10, 2010 500 ms is the time of the pulses of SB3. My way: First send the value of Inputs to Memory Bits but only when you want: SB3 I1 I0 MB0 --| |--|/|--| |-----( ) SB3 IO I1 MB1 --|/|--|/|--| |-----( ) Then use MB0 and MB1 instead of I0 and I1 in your application. I don't think that's quite what he had in mind - Perry, what do you mean when you say "Ignore input 1 while input 2 is high"? Do you mean that for 500 ms after input 1 goes high, all signals from input 2 are ignored? And, similarly, after that, for 500 ms after input 2 goes high, all signals from input 1 are ignored? If so, you're looking at something more like this: MB1 T1 --| |---------------(0.50) MB2 T2 --| |---------------(0.50) I1 MB2 MB1 --| |-+-|/|-+--------( ) | | | T2 | +-| |-+ I2 MB1 MB2 --| |-+-|/|-+--------( ) | | | T1 | +-| |-+ For example - if I1 comes on with I2 off, then MB1 immediately comes on, which prevents I2 from turning MB2 on. However, T1 also starts timing, and after 500 ms, will allow I2 to turn on MB2. At that point, whenever I2 turns on, it will turn on MB2 (which will keep I1 from turning on MB1). Note that if I1 turns on and stays on, then after 500ms I2 turns on, MB2 will come on and MB1 will turn off for the next 500 ms, at which point MB1 will turn on again, and MB2 will turn off. If you were looking more for a circuit which would ignore the _entire time_ I2 was on if it came on within 500 ms of I1 turning on, you'd want something more like this: MB1 T1 --| |---------------(0.50) MB2 T2 --| |---------------(0.50) I1 MB2 MB1 --|P|-+-|/|-+--------(S) | | | T2 | +-| |-+ I1 MB1 --|/|----------------(R) I2 MB1 MB2 --|P|-+-|/|-+--------(S) | | | T1 | +-| |-+ I2 MB2 --|/|----------------(R) Here, if I1 comes on, for the next 500 ms I2 will be ignored, and if I2 stays on after the 500 ms, it will still be ignored. Only if I2 changes from OFF to ON after the 500 ms has elapsed will MB2 come on, disabling MB1. Link to comment Share on other sites More sharing options...
Perry Posted August 16, 2010 Author Report Share Posted August 16, 2010 What I'm trying to accomplish is have the PLC ignore any possible backlash from a limit switch. I1 is CW triggering from the limit switch and I2 is CCW triggering from the limit switch. It is possible as this switch gets worn that it can hit the CCW contacts after rebounding from the CW direction and it can do the opposite (hit the CW contacts after rebounding from the CCW direction). So I'm just trying to build a timer to ignore opposite inputs for the short time the limit switch arm returns to center neutral. It appears to me that Phil's first example will accomplish this?? What I'm still a little fuzzy on is the duration that the timer coil remains latched after the delay has timed out. Are the contacts on the respective timer closed for one scan after the time out or are the contacts latched until the timer is reset again? Link to comment Share on other sites More sharing options...
MVP 2023 Joe Tauser Posted August 17, 2010 MVP 2023 Report Share Posted August 17, 2010 The default timer, type TD, has contacts that close when it times out and they stay closed until power is removed from the timer or it is reset with an -® coil referenced to the timer's address. I would look at the timed pulse for this application, type TE. This timer closes it's contact immediately for the preset amount of time, and then goes off until power is removed from the timer. If the timer is re-triggered while it is "busy", it will not restart. Set the timer's preset for the amount of time you want to debounce the limit switch input, and trigger the timer with that input. Then use the timer's contact in your program. Look at the Help topic Timers(T) for a good explanation of all the timer types and how they work. Joe T. Link to comment Share on other sites More sharing options...
Perry Posted August 17, 2010 Author Report Share Posted August 17, 2010 The default timer, type TD, has contacts that close when it times out and they stay closed until power is removed from the timer or it is reset with an -® coil referenced to the timer's address. I would look at the timed pulse for this application, type TE. This timer closes it's contact immediately for the preset amount of time, and then goes off until power is removed from the timer. If the timer is re-triggered while it is "busy", it will not restart. Set the timer's preset for the amount of time you want to debounce the limit switch input, and trigger the timer with that input. Then use the timer's contact in your program. Look at the Help topic Timers(T) for a good explanation of all the timer types and how they work. Joe T. I don't see a TD or TE in the M91 timer list. This simple PLC must not have the full list of functions. Link to comment Share on other sites More sharing options...
MVP 2014 Simon Posted August 18, 2010 MVP 2014 Report Share Posted August 18, 2010 Hello Perry, I think Joe is referring to the timers in Visilogic, since this is in fact the Visilogic forum. The M91 series PLCs (and u90Ladder software) have a much simpler configuration. EDIT: this thread has now been moved to the u90 Ladder forum. Link to comment Share on other sites More sharing options...
Perry Posted August 18, 2010 Author Report Share Posted August 18, 2010 I was under the assumption that U90 was under the visilogic group since my cd has both names on it. Got it now! thanks. Link to comment Share on other sites More sharing options...
MVP 2014 Simon Posted August 19, 2010 MVP 2014 Report Share Posted August 19, 2010 No worries Perry. It gave us a chance to test out the new forum a bit more, as it was not possible to move topics on the old forum. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now