Multiple Processors-One Rack?

sportster

Member
Join Date
Mar 2005
Location
WI
Posts
113
Hello,
I have a project using ControLogix and ControlNet. I have seven slot local rack with two empty slots. I have one 1756-L1 processor, 1756-ENBT/A, 1756-CNB/D, 1756-IR6I, and a 1756-AI16I. The problem is I am out of memory on my processor. If I add another processor can I share the CNB/D between them. I know the I/O modules; one can own and one can listen. Is it the same for communication modules as well? Would it be more cost effective to upgrade the memory? Can I even upgrade the memory? It is nearing the end of the fiscal and my budget is almost gone. I didn't spec out the processor for this project; someone else did. Now I have to work with it.
Thanks in advance.
Patrick Lisowski
 
The L1 was the first Controllogix processor. Logix 5500
:doh:I had forgotten about this one. It hasn't been in the catalog for a year or two now and I am surprised any new project is using one. They are still available for sale, but the L55 processor has more or less superceded them.

Same applies though, the memory is upgradeable on these older processors. I think the L1 memory modules use the same 1756-Mxx part numbers as the L55. Check this one out with your distributor.
 
The simple answer is no...

Within a particular system, base and extensions, only one processor can be the ultimate bus-manager.

Two processors would cause conflict... unless there was a way to synchronize the two... even then there is the issue of code synchronization.

If you are running out of memory then you need to re-examine how you are using the memory you have.

Typically, if your processor is sized properly for your I/O and you run out of memory, your process is not as modular as it can be.

Look at your code. See if your code can be made more modularized and thus, reduced.

In general, if your Processor Memory was reasonable for the I/O then you have a serious sphagetti-code problem.

You can ADD only so much... and you must do it wisely.
 
Last edited:
Hate to disagree with you terry but Control logix is a different animal all together.. One of there selling fetures is more than one processor in a rack..You can split your logic and run it on 2,3,or 4 or as many as you want..
EG. I/O control in one processor and motion in the other.. Scan times are good but you can only go as fast as your comms..so if it memory you are after then a processor would sort you out..As phillipW said memory can be brought for some processors..

However as Terry said maybe you should look at the programming..I think the L55xx has around 1MB of memory..I just finsihed a program on the control logix and have 200 rungs in my main routine and about another 200 in subroutines..and i went nuts with the tag names (Biggest memory gobble) like "Line_1_Fill_station_a_Carton_in_place".. Now Thats a tag!! When i go on line with the processor tomorow i will find out how much memory i used but at last check i had hardly scratched the surface..\
 
I have already gone though my code and stream-lined as much as possible. I am using UDT's for most everything, and the data tables are as small as I can allow. What basically happened I think is that the project outgrew the original plan. This processor was one we had around, and it was decided that it would be used for this project before I got involved. I'll check with my distributor to see what can be done. Thanks again.
Patrick Lisowski

Edit: So I can have two processors in one rack. Can they share the CNB/D module? The module is basically an extension of the backplane right? So it should be possible. Any AB people out there?
 
Last edited:
Never tried it but all the training demos AB has out ther have two processors and the last training seminar i went to they realy pushed the multiple processor bit..It might take some re programing becouse of programmed based tags, controller based tags as well as contol and listen..as you said the module is an extension of the backplane so there should be no reson why not....But again as Phillip said if you have the right processor then you can upgrade memory..
 
Good point darrenj. I was just curious about the idea of doing it. It would be interesting to try. I'll probably try to see about a memory upgrade. That seems like a better idea. Thanks.
Patrick Lisowski
 
Two controllers can share the same 1756-CNB module to make connections to ControlNet I/O, but only one controller can own the outputs of a particular I/O device. That's why it's called a "bridge", and not a "scanner".

In sportster's situation, he is out of memory in his controller and sounds like he needs to run I/O that is already configured on the ControlNet network. It might be hard to divide up the field I/O connections between two controllers effectively.

The 1756-L1 controller had just 160 kB of base memory included with the controller, and you can add 1756-M1, M2, M3 memory modules to the controller.

1756-M1 512 K
1756-M2 1 M
1756-M3 2 M

With the I/O list you mentioned, I suspect you just have the base controller and just need an M1 expansion module.
 
Well that clears a lot up!! i edited my last post before i submitted it..it said "hopefully someone like Ken will come across this post!" but i remember a previous post where you said you were not 100% on the control logix side so i didnt want to put you on the spot!!

I am still realing over using 160KB of memory!!..There is a modicon processor at a plant i work at that controls there whole process system from incoming product to final product and it uses a 984-785 processor with a whopping 64K of memory..The program is massive when viewed on paper..(I know its how memory is allocated!!)

Thanks Ken..
 
Terry Woods said:
The simple answer is no...

Within a particular system, base and extensions, only one processor can be the ultimate bus-manager.
No such limitation exists on the control logix platform. The Control Logix uses a producer/consumer data model, not a controller/slave model.
-------------------------------------

A memory upgrade is the simplest fix. Get with your AB distributor.

Also, you mentioned that you are using UDTs. When you make a UDT you should group all like data types together.

For example the following UDT takes 20 bytes for every tag of its type.
Tag1 BOOL
Tag2 DINT
Tag3 BOOL
Tag4 REAL
Tag5 BOOL

But the following equivalent UDT takes only 12 bytes.
Tag2 DINT
Tag5 REAL
Tag1 BOOL
Tag2 BOOL
Tag5 BOOL

If you have very many of these it can quickly add up. Another thing you can do is to take all your standalone BOOL tags and convert them to BOOL arrays. A standalone BOOL tag takes 4 bytes, and an array B of type BOOL[32] takes 4 bytes, but one gives you only one BOOLEAN tag while the other gives you 32 BOOLEAN tags for the same memory. I also often create an array called ONESHOTS which is BOOL[64] (8 bytes) rather than creating a whole bunch of tags just for one shot storage bits, giving me 64 one shot bits in the same memory footprint as two stand alone booleans.
 
Last edited:
I have the previous stated modules in the local rack and seven nodes of 1734 Point I/O on the ControlNet. I need to add two more nodes to the ControlNet... well one more at least. That's when I noticed the memory problem. I have about 16k left. It may be enough, but probably not.

Ken, You are right on with your guesses. Boy you guys around here are good!(y) Question... If I were to divide up my network between the two processors, say 4 nodes a piece, I would be able to share the CNB between the two processors. Is this correct? Would it be added into the I/O tree in each processor the same? What about in RSNetworx?
Thanks again!

Patrick Lisowski

Edit: Thanks for the suggestion alaric. I'll check on that tomorrow. I tried to group them together, but I may have missed some due to changes.
 
If I would you, Sportster, and want to use 2 CPUs, I would use only 1 (older) for ControlNet module, and move(produce/consume) IO-data between these 2 processors. So the new one works for exmple only ladder for the added nodes.

Still I think it is much easier and probably cheaper to change CPU to newer and bigger one. You will have then more speed, longer support and ofcourse, more memory = fexibilty


BR
Lauri
 
Relax guys this is really a very easy question. It seems that the processor is in question is is a base 1756-L1, w/160k memory. (Sorry about my initial confusion over this.) Ken's answer is the correct one: buy a 1756-M1 memory expansion module and you will have plenty of memory to be going on with.

Another CPU in the chassis is perfectly possible, but is NOT the correct solution to the problem.

I am still realing over using 160KB of memory!!..There is a modicon processor at a plant i work at that controls there whole process system from incoming product to final product and it uses a 984-785 processor with a whopping 64K of memory..The program is massive when viewed on paper..(I know its how memory is allocated!!

Actually the way CLX defines memory is quite different to older PLC's. There are two factors at work here. First of all CLX memory is specified the same way the rest of the computer industry...in 8 bit bytes, not 16 bit words. This introduces a factor of 2 when making a comparison with PLC/SLC.

Secondly the use of symbolic tag names greatly increases the amount of memory required. This introduces a factor of 4-5 when making a comparison with PLC/SLC.

Thirdly there is a significant system overhead in CLX, something in the order of 70kB for most systems.

And finally CLX supports more complex and powerful instructions that have larger data structures than the older PLC's. All this adds up quite quickly and in practice the 160kB of memory in the 1756-L1 may be the equivalent of about 16 kwords of code in a SLC500.

In this respect CLX is no different to other modern Automation Controllers in the same class. The S7's gobble up similar amounts of memory, and the new Unity Quantums make CLX look positively frugal.
 
Last edited:

Similar Topics

Is this possible to do on the SLC platform? The reason I ask is I would like to upgrade from a 5/04 to a 5/05 in one machine to get the use of...
Replies
6
Views
1,724
Hello everybody, have question: my customer wants to have hot backups of his 5x SLC 5/05, Can I install them in one rack and keep in prog mode...
Replies
7
Views
2,494
I am not great with Siemens and Profibus so looking for some advice. I have a project where I need to communicate approximately 20 status words...
Replies
4
Views
1,653
I want to add some logic to an existing 1756-L73 processor to add enhanced monitoring functionality. My problem is the existing program in the...
Replies
15
Views
4,156
Hello All, Having a problem with a RSView application... Application runs fine on one leg of my network (gets data, etc), but on a different leg...
Replies
3
Views
2,586
Back
Top Bottom