ac800 compile error
I meet error 13: variable too many variables while compiling after adding new profibus simecode motor the error refers to variable in global variable while its blank, the heap seems less than half memory......., any help?
Voted best answer
There is no workaround for the limitation on 65k Variables. You need to split the Application or define the Variable in a Program or Single Control Module instead of globally.
Also you can find some duplicates of your question by searching this site...
Answers
Hi,
If you are facing with the Too Many variables error in the control builder, please find the details on how it calculates the number of variables.
The no of variables declared can be analyzed in the Control builder, by compiling the CB once (by going online through test mode / download ) and then select “Tools\maintenance\analysis\write variable memory”, it will provide you the popup for selecting the application. Select the application, the notepad file will get generated.
For example if the application AP1 Is having two SCM, SCM1 (SCM11 under SM1) and SCM2 (SCM21 under SCM2) and if the no of variables declared is as follows
AP1 : Global variables = 100.
SCM1 : Parameters =50/ Variables = 60 / Communication variables = 70 / External Variables = 80.
SCM11 : Parameters = 15 / Variables = 16 / Communication variables = 17 / External Variables = 18.
SCM2 : Parameters = 20 / Variables = 30 / Communication variables = 40 / External Variables = 50.
SCM21 : Parameters = 25 / Variables = 26 / Communication variables = 27 / External Variables = 28.
Now the Limitation of the Variables 65535 will be of Two types:
a) Application Level : AP1 = 100+50+20 = 170 (This should not cross 65535).
b) SCM Level :
SM1 = (50+15)+60+70+80 = 275(This should not cross 65535). Note only parameters get added from child to parent level.
SM11 = 15+16+17+18 = 66 (This should not cross 65535)
SM2 = (20+25)+30+40+50 = 165(This should not cross 65535). Note only parameters get added from child to parent level.
SM21 = 25+26+27+28 = 106(This should not cross 65535).
Add new comment