S7-400 Memory card help

maharshicool

Member
Join Date
Dec 2006
Location
Lagos
Posts
15
Hi
Iam using S7-414-3DP, this the first time iam using S7-400.
The problem iam able to download the project in the RAM but it does not allow me to download user program to memory card, it displays insufficient storage space. The EEPROM has 1MB of storage space. My CPU details are

Work memory 1.4MB code and 1.4MB of data 0.045 ms/1000 instructions 8KB DI/O; 32 connections 1*DP/MPI, 1*DP and 1 receptacle for IF modules; send and receive capability for direct data exchange; constant bus cycle time and clocking editing, routing, data record routing; mulitcomputing capable; firmware V5.1

Chking the object propertise of the block :
blocks.jpg


I hope all the information help.

Thanx
 
Try to uploading to PG (from RAM to your PG), and then downloading it (that you have upload first) to memory card. It should work.
 
Is there anything already on the memory card, like another project, or was it a blank Siemens formatted card?
 
See if this thread helps any:



http://www.plctalk.net/qanda/showthread.php?t=13383


I've never actually tried to load the project, but think that it may just be too big. I looked at a project of mine that had a similar number of blocks. The memory required for the blocks, like you show above, was about 250kbytes. When I look at the size of that project in the Siemens/Step7/S7proj folder though its around 20Mbyte. Even archived its around 3Mbyte, so still wouldn't fit.
 
Hello Experts,

I have a slightly different situation and I would like to ask for your help. I have [6ES7952-1AM00-0AA0] memory card (4MB), with [6ES7 412-5HK06-0AB0] CPU, the first download is being performed well, but when I’m trying to update some function, I couldn’t download it to the CPU and I’m receiving message [(8301) Insufficient memory space or work memory on the module]. I would like to ask, is there any way to edit the memory space in the CPU, or any other solution to finish testing and commissioning with this memory card?

I’ve attached the screenshots for this operation.

Thanks in advance.
 
Thanks a lot Eng. Thomas_v2 for your help :),

I guess you are the only one who said the truth about this issue.

Since the hardware configuration is made before programming, and boundaries of IOs, DBs and all other limitations are mentioned for every CPU family and I didn't exceed them, that means Siemens has failed taking this family (S7-412-5H) to the maximum.

In fact, I’ve checked my budget and it doesn’t allow me to change the CPU since it will cost too much money disregarding the delivery time. I would like to ask if there is any solution to decrease the work memory?

Thanks in advance,
 
I would like to ask if there is any solution to decrease the work memory?
You could analyse the PLC program.
Start with a cross reference of the entire program.
Are there any unused blocks that could be deleted ?
Check the largest DBs, can they be reduced to what is actually used ?
Are there FBs that are used many times. A small reduction in the declared variables (STATs) will give a saving in the instance-DBs that is multiplied by the number of times the FB is used.

If that is not enough, you could try to analyse even deeper. Is there functionality that is not really needed, or can be reduced or simplified ?

edit: If you are not the original programmer you should be careful if the original programmer has programmed access to DBs via pointers. These accesses will not show up in the cross-reference.
 
One of the biggest memory wastes are strings with standard length where it is not needed. For example: You have a bunch of strings where you will only have 10 characters in it, but it has room for 254. So instead of just declaring it as STRING, declare it as STRING[10].

You can also see if you have a bunch of LREALs where REALs would be ok.

Also check for arrays with a high amount of unused indices, for example: ARRAY[0..199] of INT, where you only use index 0 to 29.

Maybe you have a whole bunch of timers and counters that you don't really need?
 
Did you delete the function in the plc before downloading the new version you wanted to try? If the work memory is nearly full there needs to be enough space to load the new version of the block before the old version is removed, so by deleting it manually you may find that you can make the required change.
 
Did you delete the function in the plc before downloading the new version you wanted to try? If the work memory is nearly full there needs to be enough space to load the new version of the block before the old version is removed, so by deleting it manually you may find that you can make the required change.
You could be on to something.
Also maybe the CPU memory should be freed up.
On the S7-400 the memory is kept with the batteries even at power off, so any memory gaps will also be kept.
So maybe compressing will free up some memory.

Online CPU properties .... Memory Tab .... Compress button.
Notice it will require that the CPU is switched to STOP mode.
 

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,917
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...
Replies
15
Views
312
Is there anyway to be certain that the memory module in a ML1400 has been written to with the current program? I have controllers in the field...
Replies
0
Views
865
Dear Experts, We are currently in a project commissioning stage now of a Biomass Plant. The above mentioned CPU is used. 2 days ago, our load...
Replies
7
Views
2,595
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,892
Back
Top Bottom