To "expand" a little further...
ASF said:
...First thing in the new year I'm off to a remote site to add a second chassis to an existing SLC installation. All of the hardware is already in place (by others), I just have to turn up and commission it...
We'd have to assume you have already covered the programming side of things, but either way and for the sake of advising the Forum in general...
You've probably already headed to or started this project upgrade by now and have most likely no issue with the following consideration that I'm going to mention. So for the purpose of this topic in general, and for anyone reading it and looking for as much info as possible; one other thing that users should bear in mind when adding to an existing SLC modular system is the processor's current memory consumption, or more importantly, what is left.
Note: The SLC modular controllers have no memory expansion options. However, an upgrade to a higher memory capacity processor may be possible (8k > 16k > 32k > 64k)
Although, in this case, we are only talking about two additional digital I/O modules, there may also be cases where a more fuller expansion chassis, or two, are being added. However, in all of these cases, whether adding a little or a lot to the physical side of things, they may all, by the nature of any required additional programming logic for the I/O points, push a project size over the maximum memory capacity for the processor in question.
Now, of course, if an existing project's processor has sufficient spare memory then there is generally little need for concern. But if it happened to be quite close to its maximum capacity, or indeed not, but the amount of additional programming logic is considerable, then it could possible run out while you are adding the logic, if you have not considered it to begin with.
So my advice is to make sure to check the existing processor's memory has sufficient headroom to add whatever programming logic is likely required to service the additional I/O points. Also consider the future in estimating the required memory, as often many of the additional I/O points may be added as spares and will not likely be utilized until a later date.
There are no hard figures for estimating the likely required programming memory usage for additional digital, analog or speciality I/O points. For instance, a single input point could add just one programming rung to one particular project, whereas it could add an entire and sizable subroutine in another particular project. It is completely application dependent so that is why I would say that users should carefully consider this when expanding existing older systems where the processor's memory is not relatively huge to begin with, and may already be considerably used up. An example, and as has happened to me in the past, is where a 16k processor is running "tight" and adding even additional local I/O (not expansion) required more memory for the programming than was available. An upgrade to a 32k processor was necessary. I have also had to upgrade from a 32k to a 64k processor where expansion I/O was added.
Just keep it in mind is all I'll say.
While there are no hard "per point" figures available for estimating the amount of memory that will be used in an SLC modular processor, there is a worksheet that has been around for Donkey's years to aid users in this task...
29481 - Estimating Memory Remaining on a 5/03, 5/04 and 5/05 Processor
Access Level: TechConnect
If you are more experienced at estimating likely memory consumption based on previous project observations, then you will most likely not bother with that worksheet. But for those who cannot or do not want to guess as much, it may prove useful.
Also, and regardless of whether or not you are adding additional I/O points, there is extensive information available on the amount of word memory consumed per programming instruction type. For instance, an OTE instruction uses 0.75 of a user word in memory, an XIC uses 1 user word, an ADD instruction uses 1.5 user words and a BSL uses 2 user words.
Did-you-know? - A single SLC program may contain up to a maximum of 12k user words. That is, within a single "LAD 2" routine file. If using a 16k, 32k or 64k processor, and the overall program exceeds the 12k user words boundary, then you must start a new file (LAD 3, etc.). Of course, it is good practice to structure our programs into several organizational subroutines, regardless of size, but still, we many of us know of or have seen those programs out there where the entire program logic was written in one single LAD 2 routine. So that is another small but important fact to consider if physically expanding or programatically adding to existing projects.
As the technote above is "TechConnect" only - the worksheet and any memory usage information it mentions are available in the...
SLC 500 Instruction Set Reference Manual
Always a bit of "light" reading in there.
Regards,
George