Siemens S7-400 Memory Full

MarkNightingale

Lifetime Supporting Member + Moderator
Join Date
Sep 2010
Location
In The VAT Shed
Posts
740
Hi,

Yesterday, I was at a customer site. I made one little change. Changed a dummy bool output to an actual output. I didn't add any tags, or any markers, just changed to an output that was already in the hardware configuration.

When I tried to download the change, I got a memory full error. I tried to compress the memory, as I have done in the past, but it would not load the block to the PLC.

Is there anything else I can try, before I tell the customer they need to upgrade the CPU.

Cheers

Mark
 
If you can stop the plc, stop it, delete the block from the online folder then download the new block, then back in run.
 
I didn't add any tags, or any markers, just changed to an output that was already in the hardware configuration.
The program block that was changed has to be downloaded in full.
So if is a large block, then it might not be possible due to no available free memory, no matter that the actual code change is minimal.
If there is only very little free PLC memory, a solution could be to split existing program blocks into smaller blocks.

If it was me I would suggest upgrading to S7-1500. Buying a new bigger S7-400 CPU will be expensive, and will only give temporary relief.
 
Thanks for the replies.

@LD I can try that next time I am on site, didn't think about doing that.

@jesper, upgrading to S7-1500 isn't really an option, the cost would be too big.

Another question. Do VAT tables take up much room in the CPU. In this program there are about 50 VAT tables. I could delete some of these maybe?

Cheers

Mark
 
@jesper, upgrading to S7-1500 isn't really an option, the cost would be too big.
Depends. If you have to purchase a medium or higher end S7-400 CPU, it could be same or less cost to replace an entire S7-400 rack with an equivalent S7-1500 rack. Also think ahead, if the plant is to operate for many years from now, you will probably have to upgrade sooner or later.
 
Unless they are made available on the web server. In that case they are downloaded with the hardware configuration.
I didnt think about that but I bet he referring to what is in the blocks folder

I would think that is part of system data....
sdb and such
 
Yes I was referring to what is in the blocks folder.

I doubt any of the VAT tables are on the web server.

Just another question. If I delete the block, this is OB1, and I try to re-download, what happens if it says the memory is still full and won't allow me to download OB1 again :unsure:

Cheers

Mark
 
I remember working with a full ET200S controller several years ago (a 300 in a different case). The controller required free memory twice the size of the block in order to download, so when changes were made to the largest block I had to delete the block and several smaller blocks Online, download the large one, then redownload the smaller ones.
 
Hi,

Yesterday, I was at a customer site. I made one little change. Changed a dummy bool output to an actual output. I didn't add any tags, or any markers, just changed to an output that was already in the hardware configuration.

When I tried to download the change, I got a memory full error. I tried to compress the memory, as I have done in the past, but it would not load the block to the PLC.

Is there anything else I can try, before I tell the customer they need to upgrade the CPU.

Cheers

Mark
I'm just worried that i will delete OB1 online and then not be able to re-download it again.

But it makes sense.

Cheers

Mark

Is you dummy output located to temp area or merker (M) area?

Also is CPU RAM or ROM memory full?

If all is programmed to OB1 then it is programmed differently as it should.
Siemens takes new program changes to use on next plc scan, so online changes needs twice as much memory as block is using for download. After changes are used, old block is deleted from memory automatically.
It can be also that memory card is full, but assuming that problem is on CPU side memory and you need
bigger CPU model. (or relocating program to smaller pieces, but that would mean that you need full program download and stop.)

You can try to search if online project has downloaded DB-areas or FB and FC blocks which aren't actually used and remove them from online.
As you need change to OB1 and you can't load OB1 because lack of memory, you maybe can add OB30 or other OB block and locate only one rung there.
But your dummy output should be then on %M or DB-block side for reading to another subprogram.
 
Hi Lare,

Thanks for the response.

The dummy output is currently in the temp area.

Not everything is in OB1. It is quite an extensive program.

I tried putting the PLC in stop before downloading the modified OB1, but that didn't work. I tried to recompile everything, but again that didn't work.

I am back at the customer site next week, so will have a look at deleting OB1 online as LD said earlier.

Cheers

Mark
 
Just another question. If I delete the block, this is OB1, and I try to re-download, what happens if it says the memory is still full and won't allow me to download OB1 again
That should not be possible. Assuming that the offline OB1 is same size of the deleted OB1.
You can also check the memory status when offline. You can see how much is available and compare with the size of OB1.
OB1 should not be very big. In OB1 you mostly call other blocks.
If there is not enough memory to load OB1 without first deleting it in the online program, then I would attempt to remove any unused code or DBs.
Changing the PLC program online without having to stop the CPU is essential.

I just remember something, in some of the earlier and lower-end S7-400 CPUs, you had to install a RAM card to perform online editing. When you were done programming online, you would install a flash card and load the program to the flash card for it to be stored permanently. In some places the RAM card was installed permanently and the program was only saved by the backup batteries.
Exactly what is the CPU type, and what is the card type in the card slot in the CPU ?
 

Similar Topics

I am trying to quickly find out whether the SIEMENS S7-400 CPU 414-2 (6ES7414-2XG03-0AB0) V1.12 can write to the flash card mounted in it (MC952...
Replies
2
Views
2,927
I am looking for the manual that shows the bit memory avaialbe in different s7-400 processors. For example what is the highest bit address i can...
Replies
5
Views
2,681
Hi Folks, Was wondering if anyone can offer a bit of guidance. I tried downloading to a 414-2 the other day but was stopped due to lack of...
Replies
2
Views
3,296
I'm trying to get a handle on what is "Load Memory". Can any one explain what Load Memory is and how it is implemented?
Replies
13
Views
13,594
Hi everyone, I'm working on a project where I need to exchange data between a Siemens S7-1200 PLC and an Allen-Bradley MicroLogix 1400 PLC. The...
Replies
8
Views
663
Back
Top Bottom