S7 - Problem after modifying multi-instance FB

RMA

Member
Join Date
Sep 2004
Location
North of Hamburg, Germany
Posts
2,052
I had to make some changes to the "active" FB of a multi-instance FB pair. It must have been too early in the morning, or too late at night but somehow I managed to create a couple of Variables as Temps instead of Stats.

Modifying that and recreating the DBs was no problem, but now when I try to update the calling FB it won't accept the FB number of the called FB in the data type column. The name of the FB appears in red and when I type in the FB number it is not accepted and reverts back to the FB's name, still in red. I even tried changing the name of the called FB, but it still goes back to the old name, even though the new name shows up in the Symbol table.

Of the other usual possibilities, Edit -> Block Call -> Update , the update remains greyed out, regardless where I set the cursor and File -> Check and update accesses churns away for 20 seconds or so, but nothing changes.

Anybody got any ideas how I can get these calls updated - there are 63 calls in the calling FB, each with 11 parameters. I really don't fancy having to type that all in again! :(
 
Just to add a bit more info, after changing the name of the called FB, I tried Edit -> Block Call -> Update again and it turned all my calls red. I then changed the name of the called back to its original name, repeated the process, hey presto, all the calls are black again, so it's doing something!

Unfortunately, the Data Type entries remain stubbornly red, so we're no further forward.
 
After updating the interface of the FB, why do you refer to regenerating the DB's ? Once an FB has been updated, the instance DB gets regenerated after you have updated the calls going "up the tree".
 
Once an FB has been updated, the instance DB gets regenerated after you have updated the calls going "up the tree".

Not quite sure what you mean by this, partly because I'm not entirely clear which FB is the instance FB, the called one or the calling one?

Since I've had occasional problems with DBs not getting updated, or with me forgetting to update them, when I think about it I usually go round and update everything in sight, just to be on the safe side - I wonder if it was too much of a good thing this time.

I've had a look inside both DBs and both of them are showing the correct structure, it's just the data type in the calling FB that's the problem - I wonder if it could be a time stamp problem?

I tried checking the consistency in HW-Config, but as usual that came up with "No faults" - I have never, ever, had this check throw up a fault, even when my FM352-5 were continuously bombing out - according to their own diagnostics, with consistency faults!

I think I'll try deleting the DBs and see if I can persuade Step7 to recreate them for me and see if that helps.
 
Problem solved!

It looks like it was a Time-stamp problem I went back to the back-up copy of the called FB. Then I went into the calling FB and did the Edit -> Block Call -> Update again and everything turned black again.

Then back into the called FB and made the changes again, with cut & paste that was about ten seconds worth of work.

Then I deleted both DBs and created the DB for the called FB. Then back into the FB and just to be on the safe side repeated Edit -> Block Call -> Update, probably totally superflous, but you never know. Then saved the FB.

Then I created the DB for the calling FB again repeated the Edit -> Block Call -> Update and this time everthing stayed black. Checking the DB showed the correct structure, so it looks as though everything's OK now.

Phew! Thank goodness for that - it wasn't 63 calls, I'd forgotten all the auxilary motor driven switches, there are another 23 of them!
 
Turns out we weren't quite finished after all. The FBs saved OK, but next time I opened it up, there were my red parameters back again. However, this time when I tried to save it I read the Help details a bit more carefully, this same error message came up right at the start of this saga but I skimmed quickly through the Help info and clicked the window away too quickly, without having fully understood what I had read, as it turned out. Thereafter, I never got this error message back again - hence my problems!

So for the benefit of anyone else who finds himself (or herself, before somebody complains!) in a similar big hole:

If you're sitting looking at a parameter declaration table full of red entries in the Data Type column, right click on a faulty declaration line to open the context menu and there you'll find a line reading something like "Update Declaration entry" and left clicking on it will get rid of your problem. I'm not sure of the exact text for two reasons:

1) I'm working with a German Version of Step7
2) Now that the problem is corrected, this option is no longer present in the context menu!
 
One problem with instance DBs refusing to update when deleting + recreating them can be that there is an entry in the symbol table that declares the DB to be the old type FB.
A few times I have had to find the DB in the symbol table and manually remove the entry i order to be able to syncronise things again.
 
I did that this time as well, but it didn't seem to have any effect, at least I don't think it did, sometimes I'm not quite sure what exactly was the decisive factor in curing things like this!
 

Similar Topics

I had to modify a multiple instance FB to add another Parameter and that meant of course that all the calls in the calling FB had to be...
Replies
17
Views
14,968
Hi, I have had problem with upgrading some projects from v16 to v18. I tried it on 3 diffrent computers. I want to post this so that anyone that...
Replies
3
Views
148
Hi, I am having a challenge installing a new drive ACS355-03E-44A0-4 as it keeps on displaying Fault code F00018 even when the load is not...
Replies
3
Views
134
I have an issue on my vessel, we have water tight door system created in China, company is no longer operating. We have 7 doors each with their...
Replies
4
Views
135
Hi all. Simple as simple can be, I don't understand what's happening. I'm toggling he OSR on, GX_LUB_PUMP1_LEAD should switch. It doesn't. The...
Replies
27
Views
660
Back
Top Bottom