S7 DB Adress Handling

mjoha266

Member
Join Date
Jan 2008
Location
Gothenburg
Posts
34
Hello. I have this problem with Simens S7 that I can't figure out how (if possible) to solve...

I have my DB with my variables. Everything is fine so far. After a while programing my controller I figure out that I need some more variables in my DB. To get a good structure in the DB I would like to place them somewhere in the middle of the other variables. However, when I'm doing that S7 looks at the absolute adress and not the symbolic name of the variable (i.e. the variables already used in the program will change due to that I added some variables in the DB).

Do anyone know if there is a setting for this in S7 or if its just the way it works...

Thanks!
 
You can change your project from absolute to symbolic priority (Blocks>Object Properties>Address Priority). I have done this for years, and it works great.

But back up your original project first and play around with it and see that you get the results you expect.
 
The guiding principle is simple: if you're rearranging a DB, only moving entries, then use the "Symbolic" Address Priority. After compilation ("Check block consistency"), STEP7 will automatically accommodate the new absolute address given to the symbolic entries during rearrangement.

However, if you're changing symbols in a DB without changing the order of the entries in the DB, use the "Absolute" Address Priority option. After compilation, STEP7 will match the new Symbols to the old Absolute address.

Failing to adhere to these two principles will, at best, result with compilation errors, which then must be corrected individually. The worse case scenario will be replacing the absolute address without you knowing, and causing havoc in your plant after downloading it to your PLC. If you're using an HMI other then SIEMENS (which can adopt the new addresses automatically), you'll also have mismatches in your HMI Tag's database.

Generally, I find it more convenient to work with the "Symbolic" Address Priority. If I change a few symbols, I correct them manually in the FC's/FB's. Only if I make major changes in symbols, do I convert to "Absolute" Address Priority in order to avoid excessive work.

In any case, it's a good practice to make a complete compilation in the old "Address priority" and backing up the project, before converting to the new priority.
 

Similar Topics

Hello everyone, I have a question... is it possible that two IPS in different network segments can see each other through communication between...
Replies
3
Views
1,061
Hi, why i can't change output adresses ? And how can i do this ? In STAT i have output adresses starting from 4.0, but it is also not possible to...
Replies
7
Views
1,171
Hi I need to find and IP of a drive profinet that bundown The machine doesn't have the IP and name of device write and anywhere It's a...
Replies
3
Views
1,106
Hello, I´m using Codesys 2.3 and trying to access Wago I/O modules 750-430 and 750-530 by WORD variable (or maybe an array), unsure if it´s...
Replies
6
Views
1,793
With RS5000 and a Clogix, I would like to know if i can work with same coils adresse on 2 different subroutine and just call one at the time? I...
Replies
13
Views
3,102
Back
Top Bottom