Здравствуйте. Программист я начинающий... )
Есть подъёмный механизм, управляемый G120, отслеживание работы механизма по абсолютному энкодеру. Для этого написан FB Crane, с вложенными в него FB G120 и FB Encoder. Всё это работает, Три DB соответственно. Но потребовался ещё такой же механизм в этой же программе. Для FB Crane назначить новый DB нет проблем, а как назначить другие DB для вложенных блоков привода и энкодера, что бы не было конфликта с первым вызовом, я не пойму... Программа в старом добром Step 7 v5.5
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Повторный вызов FB с вложенными FB в программе.
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 30 ноя 2018, 13:48
- Имя: Иван
- Страна: Россия
- город/регион: Тюмень
-
- не первый раз у нас
- Сообщения: 325
- Зарегистрирован: 17 июн 2016, 14:18
- Имя: Максим
- Благодарил (а): 7 раз
- Поблагодарили: 118 раз
Повторный вызов FB с вложенными FB в программе.
Скопируйте FB Crane, обзовите его, например, Crane2 и вызывайте из него нужные FB с уже другими DB.
Но по хорошему нужно было изначально делать мультиэкземплярный DB для FB Crane.
Но по хорошему нужно было изначально делать мультиэкземплярный DB для FB Crane.
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 30 ноя 2018, 13:48
- Имя: Иван
- Страна: Россия
- город/регион: Тюмень
Повторный вызов FB с вложенными FB в программе.
SMax Я действительно думал так сделать. Я не пойму как сделать мультиэкземпляр в Step 7 v5.5. В ТИА портале понятно, но в степе не пойму...
-
- эксперт
- Сообщения: 3643
- Зарегистрирован: 10 ноя 2009, 04:58
- Имя: Толмачев Михаил Алексеевич
- город/регион: г. Чехов, МО
- Благодарил (а): 8 раз
- Поблагодарили: 286 раз
Повторный вызов FB с вложенными FB в программе.
Самому с лету трудно догадаться, как сделать задуманное. Ключевым шагом является первый:
1. Создайте user data type (UDT) на каждую структуру - кран, энкодер, частотник... Это облегчит вам в будущем многократно использовать одни и те же структуры, вы будете просто заполнять готовые UDT-структуры данными.
2. У FB Crane в разделе InOut добавьте переменные тех типов, что вы создали в UDT - Encoder, G120. Посмотрите, что получается. Может поймете, к чему все идет.
3. А идет все к тому, что в FB Crane вы будете указывать экземпляры датаблоков с конкретными данными. Создайте эти датаблоки, указывая типы данных из раздела UDT и укажите их, как надо, в вызовах FB Crane. Заполните датаблоки реальными исходными данными.
1. Создайте user data type (UDT) на каждую структуру - кран, энкодер, частотник... Это облегчит вам в будущем многократно использовать одни и те же структуры, вы будете просто заполнять готовые UDT-структуры данными.
2. У FB Crane в разделе InOut добавьте переменные тех типов, что вы создали в UDT - Encoder, G120. Посмотрите, что получается. Может поймете, к чему все идет.
3. А идет все к тому, что в FB Crane вы будете указывать экземпляры датаблоков с конкретными данными. Создайте эти датаблоки, указывая типы данных из раздела UDT и укажите их, как надо, в вызовах FB Crane. Заполните датаблоки реальными исходными данными.
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 30 ноя 2018, 13:48
- Имя: Иван
- Страна: Россия
- город/регион: Тюмень
Повторный вызов FB с вложенными FB в программе.
Всё оказалось гораздо проще. В общем FB Crane делаем статические переменные, с типом данных - FB <nr>. Для Encoder, G120. Вместо <nr> указываем номера вложенных FB. Тыкаем мышкой по вложенным блокам, в самом низу списка, есть пункт - Change multiinstance call, и в открывшемся окне указываем статические переменные с типом данных - FB <nr>. И всё. Параметры вызываемых FB переходят в общий дата блок.