Страница 7 из 10 ПерваяПервая ... 56789 ... ПоследняяПоследняя
Показано с 61 по 70 из 96

Тема: Отображение данных с ПЛК210 на цифровом дисплее СП310-Р

  1. #61

    По умолчанию

    Цитата Сообщение от Mikhail_NNT Посмотреть сообщение
    Суть вроде ясна. Как этот момент можно реализовать в таком случае? Неужели выход только создавать 20 ФБ с разными таймерами, а если бы их было 100?

    Пробовал разные варианты таймеров, по разному запускать, с разными условиями, принудительно выключать. Результата два: либо вообще не включаются таймеры, либо циклически перезапускаются.
    Как вы предлагали с ТР также не будет рабочей схемой?
    2 варианта:
    1) встроить таймер прямо в ФБ, тогда у каждого экземпляра будет по своему таймеру.
    2) использовать массив таймеров, и вызывать нужный как вызываете переменные массива.
    Последний раз редактировалось kondor3000; 20.01.2025 в 14:35.

  2. #62

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    2 варианта:
    1) встроить таймер прямо в ФБ, тогда у каждого экземпляра будет по своему таймеру.
    2) использовать массив таймеров, и вызывать нужный как вызываете переменные массива.
    У меня сделано по первому варианту. Таймер находится (объявляется и вызывается) внутри ФБ, далее ФБ вызывается в Главной программе в цикле N раз. Таймер объявлен в VAR, т.е. внутренний.
    Таймер2.png Таймер4.png
    Последний раз редактировалось Mikhail_NNT; 20.01.2025 в 14:53.

  3. #63

    По умолчанию

    Как вариант-костыль, сделайте в фб 20 таймеров, и передавайте в него i как входную переменную номера таймера. Но это все равно неправильный костыль и возможно не проканает, хотя... (Это как раз 2ой вариант кондора)

    PS Скрины объявленных переменных делайте в оффлайне, это более информативно.
    Последний раз редактировалось МихаилГл; 20.01.2025 в 15:02.

  4. #64

    По умолчанию

    Цитата Сообщение от Mikhail_NNT Посмотреть сообщение
    У меня сделано по первому варианту. Таймер находится (объявляется и вызывается) внутри ФБ, далее ФБ вызывается в Главной программе в цикле N раз. Таймер объявлен в VAR, т.е. внутренний.
    Таймер2.png Таймер4.png
    Нет, тут о том, что таймер должен быть входной-выходной переменной, чтоб было где сохранять. А он у вас просто один. Как Solo в сериале Бункер.

    Я даже не знаю как с таким объявлением работать, если честно...

  5. #65

    По умолчанию

    Цитата Сообщение от Mikhail_NNT Посмотреть сообщение
    У меня сделано по первому варианту. Таймер находится (объявляется и вызывается) внутри ФБ, далее ФБ вызывается в Главной программе в цикле N раз. Таймер объявлен в VAR, т.е. внутренний.
    Таймер2.png Таймер4.png
    Тогда я не понимаю, зачем вам цикл FOR в ФБ, если вы 20 раз вызываете ФБ то и цикл внутри не нужен.

    Цикл надо было использовать в основной программе, массив из 20 переменных и массив из 20 таймеров.
    Последний раз редактировалось kondor3000; 20.01.2025 в 15:23.

  6. #66

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Тогда я не понимаю, зачем вам цикл FOR в ФБ, если вы 20 раз вызываете ФБ то и цикл внутри не нужен.

    Цикл надо было использовать в основной программе, массив из 20 переменных и массив из 20 таймеров.
    Этот цикл у ТС вне фб... А таймер внутри 1. Я уже сам путаюсь. Я возможно тоже не так понимаю ваш 1ый способ...
    Последний раз редактировалось МихаилГл; 20.01.2025 в 15:26.

  7. #67
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    13,009

    По умолчанию

    Mikhail_NNT вы один FB вызываете или создаете циклом 20 FB ? если вызов одного FB 20 раз, то его экземпляр всего один, соответственно и таймер 1.

    Экземпляр FB создает набор переменных под себя. Вызов одного и того же в цикле работает с одним экземпляром переменных. Так как экземпляр создастся всего один.

  8. #68

    По умолчанию

    Короче, ТС, покажите описание переменных в офлайне, народ хочет знать, у вас fb или array () of fb

    PS Квадратных скобок в цикле нет... Это не массив...

  9. #69

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    https://owen.ru/forum/attachment.php...367589&thumb=1
    разве не очевидно что он гоняет один ФБ подставляя в него входящие значения входных данных из 20 мест?
    И ни какой таймер туда не входит
    даже если он объявил несколько экземпляров этого ФБ
    Да все уже поняли, кроме ТС. А вдруг)

  10. #70

    По умолчанию

    Вот скрины работы 20 экземпляров ФБ, со встроенным таймером внутри ФБ. В примере Таймер на 20 секунд.
    Сама программа, таймер встроен в ФБ 1 Программа с таймерами.jpg Вызов 20 экземпляров в цикле FOR 1 Работа 20 ФБ.jpg
    Просмотр работы 17 и 18 экземпляра, включены не одновременно и время на таймерах разное !!! 1 Работа 17 и 18 таймера.jpg
    То есть они работают, каждый в своём экземпляре ФБ.

    Для просмотра работы, не открывая экземпляры, после цикла поставлена i:=17; и 17 экземпляр виден прямо в PLC_PRG.
    Последний раз редактировалось kondor3000; 20.01.2025 в 18:26.

Страница 7 из 10 ПерваяПервая ... 56789 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 25
    Последнее сообщение: 03.09.2020, 09:37
  2. Программируемое реле ПР200. Отображение информации на дисплее.
    от mchelarsky в разделе Программируемые реле
    Ответов: 2
    Последнее сообщение: 08.08.2019, 12:50
  3. Отображение float/int на дисплее ПР200
    от flicker581 в разделе Среда программирования OWEN Logic
    Ответов: 0
    Последнее сообщение: 17.02.2016, 19:12
  4. Ответов: 8
    Последнее сообщение: 05.06.2014, 21:33
  5. Ответов: 4
    Последнее сообщение: 21.02.2014, 09:24

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •