There is work program uploaded from CPU (315-DP2).
Program include FB20, FB26, FB29 and other.
FB20 have STAT block with declaration parameters:
#STAT115 type FB26 Address 152.0
#STAT149 type FB26 Address 160.0
#STAT183 type FB29 Address 168.0
#STAT200 type FB27 Address 174.0
#STAT215 type FB27 Address 186.0
#STAT230 type FB27 Address 198.0
FB26 have owneself STAT block with length of 2 byte (2 bool parameters).
FB29 have owneself STAT block with length of 2 byte (6 bool parameters).
When open and try to save FB20 in LAD/FBD/STL Editor, there is Error:
"The block cannot by saved because the declaration table contains invalid entries."
If looking for STAT definition of #STAT115 then there is no parameters,
sametime for #STAT149 (same type!) there is 2 bool parameters. Meanwhile length of both parameters #STAT115 and #STAT149 is the same = 8 byte.
If to delete #STAT115 and next create it again, then appears parameters in STAT block of #STAT115 like of #STAT149.
With #STAT183 situation is the same.
After deleting and recreating #STAT115 and #STAT183 above described error disapear, but with saving there is warning that interface FB20 was changed and this may couse to stop CPU.
Until FB20 Editor not closed I may change and save FB20 without this error, but if FB20 Editor close and reopen then situation repeat again.
I try it with Step7 5.4 SP3 and SP4.
Changed FB20 not lead CPU to stop even if his DB20 not to recreat, because address of parameters not changed.
What it may be? Can anybody help?
In Russian:
Всем доброго времени суток!
Есть следующая проблема со Step7:
Есть рабочая программа, загруженная из CPU (315-DP2).
Программа включает блоки FB20, FB26, FB29 и др.
FB20 имеет раздел STAT с указанными параметрами:
#STAT115 type FB26 Address 152.0
#STAT149 type FB26 Address 160.0
#STAT183 type FB29 Address 168.0
#STAT200 type FB27 Address 174.0
#STAT215 type FB27 Address 186.0
#STAT230 type FB27 Address 198.0
FB26 имеет собственный раздел STAT длиной в 2 байта (2 булевых параметра).
FB29 тоже имеет собственный раздел STAT длиной в 2 байта (6 булевых параметров).
Если открыть и попытаться сохранить FB20 в LAD/FBD/STL редакторе, то возникает ошибка:
"The block cannot by saved because the declaration table contains invalid entries."
- Блок не может быть сохранен, так как таблица описаний интерфейса содержит неверные записи.
Если посмотреть на описание раздела STAT параметра #STAT115, то там нет никаких параметров. В тоже время у #STAT149 (того же типа!) есть 2 булевых параметра. При этом длина обоих параметров #STAT115 и #STAT149 одинакова и = 8 byte.
Если удалить #STAT115 и создать его снова, то в его разделе STAT появляются два булевых параметра как и у #STAT149.
У #STAT183 ситуация такая же.
После удаления и повторного создания #STAT115 и #STAT183 выше описанная ошибка исчезает, но при сохранении возникает предупреждение, что интерфейс FB20 был изменен, что может привести к останову CPU.
До тех пор пока редактор FB20 не закрыт, можно изменять и сохранять FB20 без появления этой ошибки, но если редактор FB20 закрыть и открыть заново, то вся ситуация повторяется снова.
Я пробовал это в Step7 5.4 SP3 и SP4.
Измененный FB20 к останову не приводит даже если не пересоздавать его DB20, так как адресация параметров не меняется.
Что бы это могло быть? Может кто-нибудь помочь?