problem with micrologix 1000 programming

digo_h

Member
Join Date
Nov 2003
Posts
3
Hi, I just started working with micrologix 1000 on a simple college aplication and I'm having some problems.

When I use a Timer to energize 2 outputs it work fine. But once these 2 outputs go false after the time expires I cant turn it on again whithin the same executiuon...

Ex.
Turn outputs 2 and 4 on for 4 secons. --> turn outputs 5 and 4 on for 2 seconds --> turn outputs 2 and 4 on for 3 seconds...

When i try to energize 2 and 4 again, it simply doesnt work at all...

Is there any conflict problem when The first timer set 4 and 2 off and the third timer turn it on again??

Thx...
 
A double coil problem?

Just out of curiosity, how many -( )- instructions use the same output address?

i.e., does your code look like this:

T4:0 O:0/2
---| |-----------( )


T4:3 O:0/2
---| |-----------( )

 
The ladder is not here now, but I can post it tomorow...
Allen Nelson, my ladder look like your post...

T4:0 O:0/2
---| |-----------( )


T4:3 O:0/2
---| |-----------( )

2 diferent timers to set on the same output at diferent times...

My problem: I have to control 3 engines... Turn engine 1 for 3 seconds. Then turn engine 1 and 2 on at the same time for 3 seconds... then turn 1 and 2 off and turn engine 3 on for 5 seconds... And turn engine 1 and 2 on again for 3 seconds...

But int my ladder, following Allen's layout, once I turn engine 1 off(i.e. output 1) after the first 3 seconds I can't turn it on again later...

I seems easy to fix (at least I hope so). It looks to be some kind of conflic... I'm really lost...

Thx for the help...
 
Hi,

Take Allen's and Panic Modes comments seriously,

"Avoid double coils"

The trick is - parallel input conditions energise the output as when you required.

Don't give up, keep trying.
 
"Avoid double coils"... I didn't get it... What does it mean??
My english is really bad...

What exactly I have to change from Allen's diagram to make it work??

Could someone post an example? or send it to me @ [email protected]
or even a faq page or something like this...
 
here's a hint ...

digo_h,

rather than just hand you the answer, here’s another “beginner’s type” programming problem which might help … suppose that you have two fans to be controlled … call these FAN-A and FAN-B … suppose that the one switch for these fans can be turned to any one of three possible positions … suppose that one of the switch positions is marked “BOTH FANS” … while in this position, both FAN-A and FAN-B must run … suppose that another of the switch positions is marked “ONE FAN” … while in this position, only FAN-A must run … suppose that the last switch position is marked “OFF” … while in this position, both of the fans must be off …

now most beginners would try to write their rungs something along these lines:

    BOTH        FAN-A   
----] [----+----( )----+----
| |
| FAN-B |
+----( )----+

ONE FAN-A
----] [---------( )---------



the idea is: "when the switch is in the BOTH position, I need both fans to run ... but when the switch is in the ONE position, I only need FAN-A to run" ... now this seems to make perfect sense to us (as humans) ... but the PLC doesn't think like a human ... it thinks like a machine ...

here's what happens step-by-step when the processor scans the rungs shown above while the switch is in the BOTH position ... first the processor sees that the BOTH condition is TRUE ... so TRUE logic reaches the FAN-A output ... this puts a ONE in the output bit box for FAN-A ... now most beginners think that having a ONE in the output bit box will turn the fan ON ... and it will ... but only if the ONE status is still in the bit box AT THE END OF THE SCAN ... in other words, the status of the output bit boxes is only transferred over to the actual output module AFTER the processor has finished solving the logic on ALL of the program rungs ... and it's not finished yet ...

next the TRUE logic reaches the FAN-B output ... this puts a ONE in the output bit box for FAN-B ... again, remember that the status of the output bit box will only be transferred to the actual output module after the processor has finished solving the logic on ALL of the program rungs ... and it's still not finished yet ... we've got another rung to go ...

next the processor sees that the ONE switch condition is FALSE ... so FALSE logic now reaches the FAN-A output ... oooops! ... this puts a ZERO in the output bit box for FAN-A ... now when the processor finally reaches the end of the scan, look what the status of the FAN-A bit box will be ... it's a ZERO ... and so the screw for FAN-A on the output module will be turned OFF ... even though the switch position calls for both fans to be on ... so using these two rungs, only FAN-B will run when the switch is in the BOTH position ...

this is called a "double-coil" problem ... most beginners like to say "the last output wins" ... there's a little more to it than that, but that's the general idea ...

so what do we do to solve the problem? ... instead of thinking from left to right as we enter the rungs, let's try thinking from right to left ... this is a very handy programming trick ... suppose that we enter the following rungs to get started ...

            FAN-A
------------( )----

FAN-B
------------( )----



now clearly we're not done ... we still need to add something about the switch conditions at the left end of each of the rungs ... but the fact is that we ARE FINISHED WITH THE RIGHT ENDS ... specifically, we need ONE output for FAN-A ... and ONLY one output for FAN-A ... and we need ONE output for FAN-B ... and ONLY one output for FAN-B ... and so the right side of our program is now finished ... completely finished ... and if we add anything to the right side we'll mess it up ... and if we take anything away from the right side we'll mess it up ... so let's leave the right side alone ...

now go back to the left side and decide how you're going to reference the BOTH and the ONE switch positions ... then you'll be through and the fan program will work correctly ...

your programming problem can be solved by thinking along these same lines ... party on ...
 
Double Coils.
Although some plcs will let you do this I have need seen it actually work. Most of the time you will run into serious problems. Your output address should only be used on ONE OUTPUT COIL in the whole program.


T4:0 O:0/2
---| |-----------( )


T4:3 O:0/2
---| |-----------( )



this is no good.


here is a way it will work


T4:0 O:0/2
---| |-------------( )
|
|
|
T4:3 |
---| |------


 

Similar Topics

Sir, Could you please help me? I need to pull up temperature values from RS linx to Micrologix 1000 PLC using modbus. I've been trying for days...
Replies
10
Views
5,965
Hello, input 0/0 and 0/2 toggle on simultaneously when I trigger one of the two. I've dropped a clear file and checked the force sheet. Was...
Replies
4
Views
2,198
hi guys, im prety new with PLC my problem is, i got a micrologix 1000 at my job and im trying to connect to it with my laptop it got a module...
Replies
3
Views
4,331
Hi everyone, 1st of all sorry for my bad english as you will see english is not my promary language. Im new to this forum and so far im very...
Replies
17
Views
6,464
I've got a Micrologix 1000 that I seem to have lost communications with. I was able to AutoConfig using RSLinx, and then the problems happened...
Replies
10
Views
6,100
Back
Top Bottom