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

Вложенные функциональные блоки

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

Автор темы
aydarhub
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 01 июн 2020, 16:13
Имя: Айдар
Страна: Российская Федерация
город/регион: Набережные Челны
Благодарил (а): 38 раз

Вложенные функциональные блоки

Сообщение aydarhub »

Добрый день. Хочу построить свою программу используя функциональные блоки, но возник вопрос. Есть 2 функциональных блока(рампа и тележка) и одна функция(главная). Первый функциональный блок(рампа) вызывается внутри второго(тележки), а второй(тележка) вызывается несколько раз для разных сущностей внутри функции(главной). Попробовал такое сделать. Вызвал в главной функции 2 функциональных блока(2 тележки), создалось 2 блока данных для 2 тележек, а для рампы так и остался 1 блок данных, который создался при вызове рампы внутри функционального блока тележки. Но по логике программы, для каждой тележки должна быть своя рампа. Как можно это реализовать? Что сделать, чтобы создавались разные блоки данных?

Sergy6661
read only
read only
Сообщения: 577
Зарегистрирован: 19 фев 2019, 22:38
Имя: Сергей
Страна: Россия
город/регион: Краснодар
Благодарил (а): 17 раз
Поблагодарили: 73 раза

Вложенные функциональные блоки

Сообщение Sergy6661 »

Сделайте функции "Тележки" 2 штуки и из них вызывайте сколько и каких надо "Рамп".

Автор темы
aydarhub
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 01 июн 2020, 16:13
Имя: Айдар
Страна: Российская Федерация
город/регион: Набережные Челны
Благодарил (а): 38 раз

Вложенные функциональные блоки

Сообщение aydarhub »

Sergy6661 писал(а): 10 дек 2020, 13:16 Сделайте функции "Тележки" 2 штуки и из них вызывайте сколько и каких надо "Рамп".
проблема в том, что функции не могут хранить в себе данные. Мне кажется, должен же быть способ вызова функционального блока из функционального блока. Не просто так же они существуют. Если нельзя сделать так, тогда вообще, получается, смысла в их использовании нет, можно обойтись функциями :ges_hmm:

Sergy6661
read only
read only
Сообщения: 577
Зарегистрирован: 19 фев 2019, 22:38
Имя: Сергей
Страна: Россия
город/регион: Краснодар
Благодарил (а): 17 раз
Поблагодарили: 73 раза

Вложенные функциональные блоки

Сообщение Sergy6661 »

Для хранения данных предназначены дата-блоки, функция в степе это по факту подпрограмма в которой выполяются действия с переменными из ДБ и пр. и оформляются вызовы FB, FC и пр.
И таки да можно обойтись функциями.

Отправлено спустя 5 минут 15 секунд:
aydarhub писал(а): 10 дек 2020, 13:34 Если нельзя сделать так, тогда вообще, получается, смысла в их использовании нет
Есть смысл использовать правильно, если использовать не правильно то работать не будет, или будет работать извращенно... :ext_dont_ment: И это глобально можно отнести к чему угодно.

Автор темы
aydarhub
здесь недавно
здесь недавно
Сообщения: 32
Зарегистрирован: 01 июн 2020, 16:13
Имя: Айдар
Страна: Российская Федерация
город/регион: Набережные Челны
Благодарил (а): 38 раз

Вложенные функциональные блоки

Сообщение aydarhub »

Sergy6661 писал(а): 10 дек 2020, 14:06 Для хранения данных предназначены дата-блоки, функция в степе это по факту подпрограмма в которой выполяются действия с переменными из ДБ и пр. и оформляются вызовы FB, FC и пр.
И таки да можно обойтись функциями.

Отправлено спустя 5 минут 15 секунд:
aydarhub писал(а): 10 дек 2020, 13:34 Если нельзя сделать так, тогда вообще, получается, смысла в их использовании нет
Есть смысл использовать правильно, если использовать не правильно то работать не будет, или будет работать извращенно... :ext_dont_ment: И это глобально можно отнести к чему угодно.
Всё, разобрался. Достаточно просто выбрать Multi-instance когда предлагает создать DB для блока и всё будет работать как нужно :))
Ответить

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