Page 1 of 1

FB & UDT

Posted: Fri Oct 20, 2017 7:26 am
by besogon+
Добрый день, коллеги.
Очень необходима помощь в решении следующего вопроса: есть закрытый FB11 с экземплярным DB11, UDT и DB41 от производителя оборудования. FB скомпилирован в SCL, исходника нет, в интерфейсе FB11 и DB41 вызывается UDT. Для того, чтобы вставить данный набор в свой проект, мне необходимо изменить номер UDT. И в этом проблема: если изменить номер UDT и загрузить обновленный DB41, то перестают изменяться данные в экземплярном DB11. Открывал FB, всем известным способом, но что с ним можно сделать, честно, не знаю. Помогите советом. Спасибо
(oo)

Re: FB & UDT

Posted: Fri Oct 20, 2017 9:40 am
by Dfcz
Сделать изменения в своем проекте.

Не понятны некоторые выражения:
- интерфейсе FB11 и DB41 вызывается UDT
- перестают изменяться данные в экземплярном DB11

Нашел проект с похожими блоками - попробовал менять и так и так - все меняется и все компилируется.

Re: FB & UDT

Posted: Fri Oct 20, 2017 10:09 am
by POV_PDA
Dfcz хотел сказать, что это вам может помешать, если у вас есть закрытые блоки от двух производителей оборудования и у обоих один UDT. А так вы можете поменять свой UDT в проекте, чтобы развести конфликт номеров.
Чем закрыт FB, если новым "приват", тогда плохо, но если старым "ноу_хау", то снимите атрибут известной утилитой, потом редактируйте блок в свое удовольствие, конечно это будет на AWL, SCL код будет недоступен.

Re: FB & UDT

Posted: Fri Oct 20, 2017 11:37 am
by besogon+
POV_PDA, попал в точку: номер UDT совпадает для двух разных закрытых FB, поэтому нет возможности сделать изменения в своем проекте и, соответственно, загрузить новый набор FB, UDT. Старым "ноу-хау" способом открывается FB, но в нем сплошная косвенная адресация, прямых ссылок на UDT нет или я не могу найти. Могу скинуть ссылку (проект S7 от производителя) в личку, если кому-то интересно... и может помочь. Спасибо

Re: FB & UDT

Posted: Mon Oct 23, 2017 12:54 pm
by Dfcz
Кидай, посмотрю.

Re: FB & UDT

Posted: Tue Oct 24, 2017 5:21 pm
by Usver
А причем тут вообще вызов UDT? UDT вообще не вызывается, т.к. он не грузится. UDT - UserDataType. Оно должно работать на этапе компиляции. Можно ниже Ваших контроллеров в проекте создать программу, где и будут FB, UDT и экземпляр (экземпляры) с "удобным" номером, а затем перенести эти FB, UDT № 8 и DB куда следует. А степ7 вроде поддерживает символьную адресацию. По крайней мере можно попробовать.