Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

Тема: При эмуляции всплывает окно о нулевой уставке таймера, размещённого в макросе

  1. #1

    По умолчанию При эмуляции всплывает окно о нулевой уставке таймера, размещённого в макросе

    Доброго дня, уважаемые специалисты.

    При работе в OL 2.2.318.0 возникла следующая ситуация:
    - создал макрос, внутри которого присутствует один таймер TON, значение задержки записывается со входа макроса через масштабирование (умножение на 1000) и "Write to FB"
    - на основном холсте ко входу подключил константу 10

    При попытке эмуляции проекта получил всплывающее предупреждающее сообщение о том, что в этом макросе в таймер записано недопустимо малое значение.

    Перепроверил макрос - и сам по себе он нормально эмулируется с выдержками, и умножение на 1000 выполняется, и запись в TON производится.
    А вот при эмуляции с холста - такое сообщение.

    Избавился от сообщение при помощи установки в свойствах TON значения 1 секунда.

    После этого, всплывающие окна стали перечислять другие макросы на холсте, даже случай, когда записывал константу в таймер внутри макроса. Лечил предустановкой таймеров.

    Теперь у меня два вопроса:

    1. Почему появилось сообщение?

    2. Будет ли перезапись внутри макроса при изменении константы времени на основном холсте или останется значение, которое записано в свойствах таймера?

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

    По умолчанию

    Номер TON внутри макроса какой? и есть ли такие же номера TON на холсте? Возможно это причина ошибки (предположение), типа программа неправильно определяет блок FBD

  3. #3

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Доброго дня, уважаемые специалисты.

    При работе в OL 2.2.318.0 возникла следующая ситуация:
    - создал макрос, внутри которого присутствует один таймер TON, значение задержки записывается со входа макроса через масштабирование (умножение на 1000) и "Write to FB"
    - на основном холсте ко входу подключил константу 10

    При попытке эмуляции проекта получил всплывающее предупреждающее сообщение о том, что в этом макросе в таймер записано недопустимо малое значение.

    Перепроверил макрос - и сам по себе он нормально эмулируется с выдержками, и умножение на 1000 выполняется, и запись в TON производится.
    А вот при эмуляции с холста - такое сообщение.

    Избавился от сообщение при помощи установки в свойствах TON значения 1 секунда.

    После этого, всплывающие окна стали перечислять другие макросы на холсте, даже случай, когда записывал константу в таймер внутри макроса. Лечил предустановкой таймеров.

    Теперь у меня два вопроса:

    1. Почему появилось сообщение?

    2. Будет ли перезапись внутри макроса при изменении константы времени на основном холсте или останется значение, которое записано в свойствах таймера?
    Скорее всего, программа анализирует только предустановленное время таймера. Если используется "Write to FB", то будет применяться его значение.

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

    По умолчанию

    Возможно, просто не помню этот момент в старых версиях. Были комбинации, когда программно вроде писали 0 во время для отключения таймера, и ошибок это не вызывало.

  5. #5

    По умолчанию

    На основном холсте только 10-15 самодельных макросов, в том числе и по 2-4 экземпляра, мелкая логика (И, ИЛИ, НЕ).
    В макросах присутствуют таймеры - по 1-2 шт. В каждом макросе они нумеруются от 1, поэтому в разных макросах номера могут совпадать.

    Сожалею, но проект приложить не могу.
    Сделал минимальный тестовый пример из тех макросов - предупреждение воспроизвелось.
    Вложения Вложения
    Последний раз редактировалось FPavel; 22.01.2023 в 14:02.

  6. #6

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Скорее всего, программа анализирует только предустановленное время таймера. Если используется "Write to FB", то будет применяться его значение.
    Абсолютно верно! Надо прописать в таймере 1 секунду, а уже значение подавать через врайт ту фб. Предупреждения тогда не будет

  7. #7

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    Возможно, просто не помню этот момент в старых версиях. Были комбинации, когда программно вроде писали 0 во время для отключения таймера, и ошибок это не вызывало.
    Это всегда так было. Года два последних так точно

  8. #8

    По умолчанию

    Спасибо.
    Запомню, что требуется инициализация свойств таймера на этапе компиляции.

  9. #9

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Спасибо.
    Запомню, что требуется инициализация свойств таймера на этапе компиляции.
    Да для работы даже и не требуется. Это только чтобы предупреждения при эмуляции не было.

  10. #10

    По умолчанию

    Рвет шаблон, что через свойства фб время указывается в секундах, а через запись в фб - в миллисекундах

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. 65536 алгоритмов в одном макросе
    от Keldish в разделе Среда программирования OWEN Logic
    Ответов: 7
    Последнее сообщение: 02.03.2021, 12:13
  2. Работа по уставке
    от РусланСемей в разделе СПК1хх
    Ответов: 5
    Последнее сообщение: 15.01.2020, 07:33
  3. ФБ PID в макросе
    от ASo в разделе Среда программирования OWEN Logic
    Ответов: 2
    Последнее сообщение: 24.04.2017, 15:58
  4. Макрос в макросе
    от АлексPetr в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 28.01.2015, 21:16
  5. Ответов: 1
    Последнее сообщение: 22.09.2014, 20:05

Ваши права

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