1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Повторный вызов FB с вложенными FB в программе.

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
evrey
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 30 ноя 2018, 13:48
Имя: Иван
Страна: Россия
город/регион: Тюмень

Повторный вызов FB с вложенными FB в программе.

Сообщение evrey »

Здравствуйте. Программист я начинающий... )
Есть подъёмный механизм, управляемый G120, отслеживание работы механизма по абсолютному энкодеру. Для этого написан FB Crane, с вложенными в него FB G120 и FB Encoder. Всё это работает, Три DB соответственно. Но потребовался ещё такой же механизм в этой же программе. Для FB Crane назначить новый DB нет проблем, а как назначить другие DB для вложенных блоков привода и энкодера, что бы не было конфликта с первым вызовом, я не пойму... Программа в старом добром Step 7 v5.5

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 6 раз
Поблагодарили: 113 раз

Повторный вызов FB с вложенными FB в программе.

Сообщение SMax »

Скопируйте FB Crane, обзовите его, например, Crane2 и вызывайте из него нужные FB с уже другими DB.
Но по хорошему нужно было изначально делать мультиэкземплярный DB для FB Crane.

Автор темы
evrey
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 30 ноя 2018, 13:48
Имя: Иван
Страна: Россия
город/регион: Тюмень

Повторный вызов FB с вложенными FB в программе.

Сообщение evrey »

SMax Я действительно думал так сделать. Я не пойму как сделать мультиэкземпляр в Step 7 v5.5. В ТИА портале понятно, но в степе не пойму...

Михайло
почётный участник форума
почётный участник форума
Сообщения: 3559
Зарегистрирован: 10 ноя 2009, 04:58
Имя: Толмачев Михаил Алексеевич
город/регион: г. Чехов, МО
Благодарил (а): 6 раз
Поблагодарили: 253 раза

Повторный вызов FB с вложенными FB в программе.

Сообщение Михайло »

Самому с лету трудно догадаться, как сделать задуманное. Ключевым шагом является первый:

1. Создайте user data type (UDT) на каждую структуру - кран, энкодер, частотник... Это облегчит вам в будущем многократно использовать одни и те же структуры, вы будете просто заполнять готовые UDT-структуры данными.

2. У FB Crane в разделе InOut добавьте переменные тех типов, что вы создали в UDT - Encoder, G120. Посмотрите, что получается. Может поймете, к чему все идет.

3. А идет все к тому, что в FB Crane вы будете указывать экземпляры датаблоков с конкретными данными. Создайте эти датаблоки, указывая типы данных из раздела UDT и укажите их, как надо, в вызовах FB Crane. Заполните датаблоки реальными исходными данными.

SMax
не первый раз у нас
не первый раз у нас
Сообщения: 320
Зарегистрирован: 17 июн 2016, 14:18
Имя: Максим
Благодарил (а): 6 раз
Поблагодарили: 113 раз

Повторный вызов FB с вложенными FB в программе.

Сообщение SMax »


Автор темы
evrey
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 30 ноя 2018, 13:48
Имя: Иван
Страна: Россия
город/регион: Тюмень

Повторный вызов FB с вложенными FB в программе.

Сообщение evrey »

Всё оказалось гораздо проще. В общем FB Crane делаем статические переменные, с типом данных - FB <nr>. Для Encoder, G120. Вместо <nr> указываем номера вложенных FB. Тыкаем мышкой по вложенным блокам, в самом низу списка, есть пункт - Change multiinstance call, и в открывшемся окне указываем статические переменные с типом данных - FB <nr>. И всё. Параметры вызываемых FB переходят в общий дата блок.
Ответить

Вернуться в «Simatic Step7»