Micrologix 1100 memory module

kolyur

Lifetime Supporting Member + Moderator
Join Date
Oct 2004
Location
Wooster, Ohio
Posts
1,602
We recently installed a new machine at a customer's site with a Micrologix 1100. Afterwards we found a bug in the program which has since been corrected. The problem now is how to get the corrected program onto the customer's machine, preferably without a site visit. The customer has no experience with PLCs so just emailing the new program is not an option.

I came across the 1763-MMI module and it seems like it might do what we need but the manual is somewhat vague about how it works. From what I can tell, I would load the updated program onto the MMI with RSLogix and set the S:1/11 "Load Memory Module Always" bit. Then mail to the customer, he sticks it in, turns on power and voila, he's running the new program. But what isn't clear to me is whether the module has to remain there forever. Does the program get transferred to the NV memory of the PLC? Or would removing it cause the PLC to revert to its old program? There's a slight possibility that the bug in the old program could cause the machine to damage itself, so ideally I'd like to be able to apply a permanent fix.
 
If it behaves like a SLC Modular memory module, you may have two problems:

1) The program in the CPU will not have the bit(s) set to cause it to load from memory module in the first place.

2)If you are not lucky or careful, the wrong bit settings will cause the CPU to Fault if the memory module is removed after the program is transferred.

I think you might be able to use snail mail to get this done if you can instruct the operator on how to default the controller so that it will look for the memory module when it boots. If you have a spare ML1100 to mess with, run some tests to prove out the whole process in advance.
 
My initial concern was that in order for PLC to read the memory module's program automatically, we would have had to set some status bits in the original program (which of course we didn't). But that doesn't seem to be the case. From the 1100 user manual:

"Load Memory Module Always
For this option to work, you must set (1) this bit in the control program before downloading the program to a memory module. When this bit is set in the memory module and power is applied, the controller downloads the memory module program."

I read this to mean that a memory module will always override a stored program if the status bits on the module are set correctly. No problem there. The next hurdle is whether the program is simply read from the module at power-up, or actually transferred to the PLC's NV memory (allowing the memory module to be removed). Everything I've read so far suggests that it's the former. This strikes me as very odd--the ability to update a PLC's program with a portable, removable device (and then remove the device) seems like it would be a much more useful feature.
 
Last edited:
kolyur said:
...The next hurdle is whether the program is simply read from the module at power-up, or actually transferred to the PLC's NV memory (allowing the memory module to be removed). Everything I've read so far suggests that it's the former. This strikes me as very odd--the ability to update a PLC's program with a portable, removable device (and then remove the device) seems like it would be a much more useful feature.

kolyur,

If I can put your mind at ease...

It does indeed do as you imagine it should do and that is in part what it is intended for. You set the bits in the offline program that you download to the Memory Module. The status of these bits will determine what the processor does when it powers up with the Memory Module inserted. You do not need to set the equivalent bits in the program already existing in the processor's NVRAM.

In the offline program with...

S:1/11 - Load Memory Module Always bit set to 1
S:1/12 - On Powerup Go To Run (Mode Behavior) bit set to 1

...and the program downloaded to the Memory Module, and inserted into the controller...

Each time the power is cycled the contents of the Memory Module will be loaded into the processor's memory (NVRAM) and the program will attempt to go to RUN. Because it is now stored in NVRAM, the Memory Module can be removed and the processor will continue to RUN from NVRAM.

Also, and obviously, because it is now stored in NVRAM, the processor can be power cycled without the Memory Module inserted and it will continue to RUN from NVRAM.

To round this off: S:1/10 bit...

With...

S:1/10 - Load Memory Module on Memory Error bit set to 1
S:1/11 - Load Memory Module Always bit set to 0
S:1/12 - On Powerup Go To Run (Mode Behavior) bit set to 1

...and downloaded to the Memory Module and inserted...

Each power cycle the processor will attempt to load from NVRAM and go to RUN. The Memory Module contents are ignored. Only if the processor memory is corrupted, or the processor is defaulted, will it attempt to load from the Memory Module and go to RUN.

You can of course also set all three bits to 1.

Why?

Because the S:1/11 - Load Memory Module Always option only loads the contents after a power cycle or if the processor's memory is corrupted. It does not loads its contents if the processor is defaulted. You need the S:1/10 - Load Memory Module on Memory Error bit set for this feature.

Another important bit to consider is S:2/9 - Program compare...

If you set this bit, along with the other three, and download to the Memory Module, then each time the processor is power cycled a comparison is made between the contents of the Memory Module and the contents of NVRAM. They must match or the controller will not got to RUN. If they do not match, you would have to manually transfer the Memory Module contents to NVRAM.

This is useful where you want to prevent users from easily modifying the contents of NVRAM. In other words, what you send a customer on a Memory Module is all they can RUN once it has been inserted and powered up. This feature, of course, requires the Memory Module to be ever present in the controller.

There is a procedure to reset this status, but that's for another day.

Regards,
George
 
George, thank you for the detailed description. I'm glad to hear that the memory module will work as I had hoped. We found a way to fix the problem with a small wiring modification so we are considering that option also. If we go with the memory module I'll report back with my experience.
 

Similar Topics

I have checked out the posibility of performing a memory store with 2711-B6C2 Panelview using DH485, is there any way to accomplish this using a...
Replies
5
Views
6,331
Hello, I need use retentive memory in a Rockwell Micrologix 1100 to save the value of some variables and the state of some counters when the power...
Replies
1
Views
3,536
Need to load several micrologix 1100 units with the same program. The 1100's are new in box from the factory and in many different locations...
Replies
14
Views
18,093
im running plc500 on a micrologix 1100 connected by ethernet to network running plc5000. When i power down at night i loose my ip address evn...
Replies
3
Views
1,833
Hi, I cannot find the DLCA1764.EXE utilty software for data retrieving. Can someone share the link to download this software. Thanks!
Replies
4
Views
93
Back
Top Bottom