micrologix 1400 memory limit of 10k user data words

diat150

Lifetime Supporting Member
Join Date
Mar 2006
Location
Louisiana
Posts
1,475
I am getting the following error: The program has exceeded the memory limit of 10k user data words.

I am trying to store some string values in the PLC. I created a string data files that is 150 elements long and when I attempt to create a 2nd data file 150 elements long I get this error. I guess I am trying to better understand this error, is it specific to strings or is a culmination of the strings along with all of the other data files that I have created. this is a rather large program for a 1400, but I am sure I could do some cleanup if necessary.
 
is a culmination of the strings along with all of the other data files that I have created.
That is correct. Each string element in your program uses 40 words of memory, regardless of how many characters are actually being used. This adds up quick! Slimming down your ladder program won't make any difference since the error message indicates that you are hitting the data file memory limit, not the overall memory capacity. Memory usage of other data types pales in comparison to strings, so I'd suggest that you find a way to reduce your use of strings.
 
Yeah I kind of assumed that it was separate. Not really a big deal. I was planning on having a "default" set of strings and then allowing the user to change the actual strings. I was then going to MOV from default to actual if the user wanted to default back to the original string text. I thought about using a MOV block for each string element but it doesnt look like MOV supports string as a constant. oh well.
 
The COP instruction is used to move string elements, however it does not work with constants.

You may want to look into the ASCII data file. This works much the same as an Integer data file, except that each 16-bit element holds two ASCII characters. It's much more space efficient than the String datatype, and you can use pretty much any instruction that works with integers, including MOVing constants.
 
Actually the strings also use only 8 bits per character. The 40 words can hold 80 characters. But with a string you get the 80 character capability whether you need that much or not.
 
I assume you are using an HMI. If so then store the default string constants that you reset to in the HMI instead of the PLC.

If you aren't using an HMI then I second using an ascii data file for holding your default strings. If the default reset string is only 10 characters then you can use 5 words of an ascii data file. If you have variable lenghth strings you'll have to program each default COPy the hard way, if they are the same length you can use indirect addressing. You will have to explicitly set the length of the string when restoring the default.
 
I assume you are using an HMI. If so then store the default string constants that you reset to in the HMI instead of the PLC.

If you aren't using an HMI then I second using an ascii data file for holding your default strings. If the default reset string is only 10 characters then you can use 5 words of an ascii data file. If you have variable lenghth strings you'll have to program each default COPy the hard way, if they are the same length you can use indirect addressing. You will have to explicitly set the length of the string when restoring the default.
thanks, that was a good idea I didnt think about. I ended up writing a script in the redlion that writes the "default" text back to the tag on a button press.
 

Similar Topics

So I am trying to download a program to my processor and I get this error: Program error ERROR: The program has exceeded the memory limit of 10K...
Replies
3
Views
2,904
Getting ready to ship 38 machines we just built to one of our plants in Dominican Republic and looking at getting one of the memory module to put...
Replies
2
Views
6,155
Hello, I'm currently programming a MicroLogix 1400 using RSLogix Micro Starter, and I'm trying to convert a block of LONG values into FLOAT...
Replies
7
Views
4,602
We have an ongoing issue with the 1400 1766L32BXB. The Memory module Hardware Fault 6H is the error that shows up when the processor faults. The...
Replies
1
Views
5,866
I am writing a program where I have to store barcode strings into the program. The problem that I am having is that my string file by itself is...
Replies
2
Views
4,822
Back
Top Bottom