John Miller
Member
STEP 7 Professional, V5.4 + SP2, K5.4.2.0_16.6.0.1, K5.4.2.0
Address priority: "Symbol has priority for all accesses (I,Q,M,T,C and DB)" (lower-right choice in tab)
I feel I must be missing something. I have various UDTs defined. Some are used directly in data blocks "derived from UDT". Others are used as members of other structures or used for variables within a function block (i.e accessed via another FB's instance data block.) I don't think it matters which of these ways I might be using; the annoying result seems to be the same.
To use an almost hypothetical example, let's say I'm using D1_Oil_Prog_Parameters (DB606) which has been defined in SIMATIC Manager to be Data Block Derived From UDT606 (JT_Oil_Prog_Parameters).
So I am zooming along in the LAD/FBD/STL editor -- or really, it's more like stumbling around -- and I go to to set a member in this structure. Ooops! I seem to have forgotten to define that member. No problem, I open UDT606 and insert the forgotten member in the prettiest location (usually somewhere in the middle of the structure).
Of course, the newly added member still doesn't show up because I am accessing it via DB606. This is where (this small part of) my trouble starts. What is the best way to update DB606? If I open DB606 in the LAD editor, it notices that UDT606 has changed, ... and so it decides to throw away all the symbol information! (The "DB Param" editor does the same thing.)
The online help has the following workaround for cases including opening a DB that is derived from a modified UDT:
"To Correct or Avoid Error:
Avoid the procedures described above."
The only way that I have figured out to update DB606 is to invoke "Check Block Consistency..." function from SIMATIC Manager, select DB606 and invoke "Compile". At which point, the Consistency Checker comes back and tells me that I have blocks open in the LAD editor and I have to close all of them before the Checker can continue. (Of course, this also seems to mean that I must throw in some dummy value for the structure member I was trying to define, as well as clean up any incomplete networks.)
This procedure seems very drawn-out, annoying, and illogical. Is there no way to tell the LAD editor to "update DB606"?
Am I missing something obvious? Or perhaps something obscure?
Thanks for any tips.
Address priority: "Symbol has priority for all accesses (I,Q,M,T,C and DB)" (lower-right choice in tab)
I feel I must be missing something. I have various UDTs defined. Some are used directly in data blocks "derived from UDT". Others are used as members of other structures or used for variables within a function block (i.e accessed via another FB's instance data block.) I don't think it matters which of these ways I might be using; the annoying result seems to be the same.
To use an almost hypothetical example, let's say I'm using D1_Oil_Prog_Parameters (DB606) which has been defined in SIMATIC Manager to be Data Block Derived From UDT606 (JT_Oil_Prog_Parameters).
So I am zooming along in the LAD/FBD/STL editor -- or really, it's more like stumbling around -- and I go to to set a member in this structure. Ooops! I seem to have forgotten to define that member. No problem, I open UDT606 and insert the forgotten member in the prettiest location (usually somewhere in the middle of the structure).
Of course, the newly added member still doesn't show up because I am accessing it via DB606. This is where (this small part of) my trouble starts. What is the best way to update DB606? If I open DB606 in the LAD editor, it notices that UDT606 has changed, ... and so it decides to throw away all the symbol information! (The "DB Param" editor does the same thing.)
The online help has the following workaround for cases including opening a DB that is derived from a modified UDT:
"To Correct or Avoid Error:
Avoid the procedures described above."
The only way that I have figured out to update DB606 is to invoke "Check Block Consistency..." function from SIMATIC Manager, select DB606 and invoke "Compile". At which point, the Consistency Checker comes back and tells me that I have blocks open in the LAD editor and I have to close all of them before the Checker can continue. (Of course, this also seems to mean that I must throw in some dummy value for the structure member I was trying to define, as well as clean up any incomplete networks.)
This procedure seems very drawn-out, annoying, and illogical. Is there no way to tell the LAD editor to "update DB606"?
Am I missing something obvious? Or perhaps something obscure?
Thanks for any tips.