QUOTE
Why doesen´t change in the program from %M2001 to Pump1 when I put the symbol in the variable table with this address?
Because basically direct address and symbol are two different variables or better instances of data types. Infact you could assign several symbols to the same variable.
For example you could have a variable at address %MW0 that you use in the program as auxiliary variable in a calculation
in that case you could assign many instances of it.
Variable1
Variable2
Variable3
Variable4
The expression for example is:
%MW0:=1+1;
%MW0:=%MW0*2;
%MW0:=%MW0/2;
%MW0:=%MW0-2;
For better "read" the expression could be useful to have different name for each step, so:
Variable1:=1+1;
Variable2=Variable1*2;
Variable3:=Variable2/2;
Variable4:=Variable3-2;
or better
addition:=1+1;
multiplication=addition*2;
division:=multiplication/2;
subtraction:=division-2;
all variables have the same address %MW0, they are instances of data type INT located in the memory at address 0.
I hope you could understand my poor english and my explanation...