AB Double Coil/Output usage?

Duranthas

Lifetime Supporting Member
Join Date
Jul 2008
Location
Southeast Missouri
Posts
132
In about 2 months I will have a very small window to accomplish quite a few projects. To try and speed things up I would like to do most of my programming now and just switch it on and debug then on at least one of the projects. The problem is that I'll have to reuse some of the I/O to accomplish this. Can I use the same OTE twice but for the "new" version just JMP & LBL around it? Or can I create a subroutine and not JSR? The only other option I know of is branch around all the existing logic with new logic but use a toggle bit to direct whether it can read across the original branch or the new one.

Oh, these project will most be PLC-5 but some 5/04.

Is this a bad idea?
 
If you are planning on writing new programming, but not using it yet, why not just write the changes offline, then download the new program when you are ready?
 
Duranthas,

You can create a new program for each project. Use the same Inputs and Outputs for all of your projects, but create a separate program file and save them to disk memory. Then when ready to test and debug them, load the first one and debug it. Then go on to the second project.

Of course you can program different projects in the same program, if you have enough memory, enough I/O, use subroutines, and have lots of time to waste!
 
The main reason I was trying to keep it all in the same program instead of working offline and downloading the big change is because in the next 2 months I'll have to make 15-20 little changes. If I create 2 different files, one current and one future, then every change I make between now and then I'll have to do twice.
This is my situation on at least 2 of the projects I'll have to tackle during our plants 2 week shutdown. 3 projects are to PLCs that rarely get modified so I already made a copy, changed the copy, and have it waiting on my jump drive for when the day comes. I just wanted to do most of the grunt work now because when the time comes I'm certain that there will be plenty of distraction and quite frankly I suck at doing major edits when people constantly keep bugging me. Well, this is major edits to me. One project I need to gut about 50 lines and add probably 100ish and on another gut around 200 lines of code and add maybe 30.
I suppose it's best that I just come in extra early a few days before everyone else and do my programming then when the time comes.
 
When I have to make changes to a live machine, but can't do it offline, I use a bit to control the changes. What you could do is make a branch around the existing logic, with your new logic, but put a bit infront of it.

Something like:
Code:
---|XIO TOGGLE_Bit---<exisiting logic>--|-- <output>
   |                                    |
   |XIC TOGGLE_Bit---<New Logic>--------|

Then just flip the bit when you want to enable the changes.
 
Last edited:
So now it appears you are not talking about different projects, but just a bunch of changes to the same project. In the Allen-Bradley PLC5, you can make the changes offline, but not "Test" them. On line, the untested edits will show up, but not be effective until tested.

However, this will be a dangerous game, if it is important not to shut down this program accidently.
 
Duranthas: Yes. You can make a new 'lad file' and then in your main routine, either JSR to it or the old one. I do this where I need to test out a lot of new logic but have the old logic there.
 
You can't add routines or data files or even resize data files while in run mode. For that reason, always always leave spares behind.

I use the same method as Christoff84. As a matter of fact, on one machine I have a TEST button buried in the panelview so I can add all my test logic from the office via the network, then go out to the machine and toggle my bit from the panelview.

If you have spare ladder files, you can use the bit to condition the JSR to the new versus the old, but if not, you can just add the logic throughout the program. Give your test bit a short and simple symbol name (mine is "T1") and you can use "Find All" to give you a jump list to navigate through the program.

If you use double coils, make sure that one of them is not scanned by either jumping over it or not JSR-ing to the whole file.

Paul
 
Last edited:
I suppose I'll do the last scenario in my first post, like Christoff84 suggested.

Lancie1, there is more than one project, but one of the projects is the PLC5 for an entire transferline that will be tweaked for the next two months before my big project starts. This is why I didn't want to do offline changes and then dump the new file at the time of the big project because it won't include all the changes for the next two months. Another project is a SLC 5/04 that likely won't be changed between now and then. That one I can do now and dump in at the time of the project. There are a few other projects where major equipment is being added, removed, or both but I'll just stick with what Christoff84 suggested and OkiePC confirmed.

Thanks fellas.
 

Similar Topics

I've just done a Check Program command, and I get this double coil error. What does it mean? How can I correct it? Thanks
Replies
23
Views
6,559
Hello, I was just reading about Double Coil Syndrome on an old post from here. It's something that I dealt with and figured out for the program...
Replies
18
Views
5,208
how to design a ladder for a motor which has to rotate both clockwise and anticlockwise.........i know i cant use a load twice.but the motor(load)...
Replies
13
Views
3,360
I m just learning and no industrial experiance...Please explain the concepts... -----------| I:0.1 |--------------------( O:0.0 )----- | |...
Replies
10
Views
5,360
I came across a application recently, and noticed the use of a double coil. My understanding of this is that this will not work, but I am not as...
Replies
8
Views
3,834
Back
Top Bottom