Просмотр полной версии : При эмуляции всплывает окно о нулевой уставке таймера, размещённого в макросе
Доброго дня, уважаемые специалисты.
При работе в OL 2.2.318.0 возникла следующая ситуация:
- создал макрос, внутри которого присутствует один таймер TON, значение задержки записывается со входа макроса через масштабирование (умножение на 1000) и "Write to FB"
- на основном холсте ко входу подключил константу 10
При попытке эмуляции проекта получил всплывающее предупреждающее сообщение о том, что в этом макросе в таймер записано недопустимо малое значение.
Перепроверил макрос - и сам по себе он нормально эмулируется с выдержками, и умножение на 1000 выполняется, и запись в TON производится.
А вот при эмуляции с холста - такое сообщение.
Избавился от сообщение при помощи установки в свойствах TON значения 1 секунда.
После этого, всплывающие окна стали перечислять другие макросы на холсте, даже случай, когда записывал константу в таймер внутри макроса. Лечил предустановкой таймеров.
Теперь у меня два вопроса:
1. Почему появилось сообщение?
2. Будет ли перезапись внутри макроса при изменении константы времени на основном холсте или останется значение, которое записано в свойствах таймера?
Номер TON внутри макроса какой? и есть ли такие же номера TON на холсте? Возможно это причина ошибки (предположение), типа программа неправильно определяет блок FBD
Доброго дня, уважаемые специалисты.
При работе в OL 2.2.318.0 возникла следующая ситуация:
- создал макрос, внутри которого присутствует один таймер TON, значение задержки записывается со входа макроса через масштабирование (умножение на 1000) и "Write to FB"
- на основном холсте ко входу подключил константу 10
При попытке эмуляции проекта получил всплывающее предупреждающее сообщение о том, что в этом макросе в таймер записано недопустимо малое значение.
Перепроверил макрос - и сам по себе он нормально эмулируется с выдержками, и умножение на 1000 выполняется, и запись в TON производится.
А вот при эмуляции с холста - такое сообщение.
Избавился от сообщение при помощи установки в свойствах TON значения 1 секунда.
После этого, всплывающие окна стали перечислять другие макросы на холсте, даже случай, когда записывал константу в таймер внутри макроса. Лечил предустановкой таймеров.
Теперь у меня два вопроса:
1. Почему появилось сообщение?
2. Будет ли перезапись внутри макроса при изменении константы времени на основном холсте или останется значение, которое записано в свойствах таймера?
Скорее всего, программа анализирует только предустановленное время таймера. Если используется "Write to FB", то будет применяться его значение.
Возможно, просто не помню этот момент в старых версиях. Были комбинации, когда программно вроде писали 0 во время для отключения таймера, и ошибок это не вызывало.
На основном холсте только 10-15 самодельных макросов, в том числе и по 2-4 экземпляра, мелкая логика (И, ИЛИ, НЕ).
В макросах присутствуют таймеры - по 1-2 шт. В каждом макросе они нумеруются от 1, поэтому в разных макросах номера могут совпадать.
Сожалею, но проект приложить не могу.
Сделал минимальный тестовый пример из тех макросов - предупреждение воспроизвелось.
Скорее всего, программа анализирует только предустановленное время таймера. Если используется "Write to FB", то будет применяться его значение.
Абсолютно верно! Надо прописать в таймере 1 секунду, а уже значение подавать через врайт ту фб. Предупреждения тогда не будет
Возможно, просто не помню этот момент в старых версиях. Были комбинации, когда программно вроде писали 0 во время для отключения таймера, и ошибок это не вызывало.
Это всегда так было. Года два последних так точно
Спасибо.
Запомню, что требуется инициализация свойств таймера на этапе компиляции.
Спасибо.
Запомню, что требуется инициализация свойств таймера на этапе компиляции.
Да для работы даже и не требуется. Это только чтобы предупреждения при эмуляции не было.
Рвет шаблон, что через свойства фб время указывается в секундах, а через запись в фб - в миллисекундах
Рвет шаблон, что через свойства фб время указывается в секундах, а через запись в фб - в миллисекундах
Не надо ля-ля! Через свойства время указывается в днях, часах, минутах или секундах. Если в днях, тот шаблон не рвется?
65354
А если в свойствах надо в миллисекундах, то тоже запросто
65355
petera я думаю что человек по другому поводу сетует, что через Запись в FB нельзя сразу писать в секундах, часах, днях, а только в миллисекундах.
petera я думаю что человек по другому поводу сетует, что через Запись в FB нельзя сразу писать в секундах, часах, днях, а только в миллисекундах.
Потому, что запись в ФБ предназначен не только для таймеров. Он универсальный. Зачем, например в уставку счетчика записывать миллисекунды, нужно просто обезличенное число.
А так для каждого типа ФБ нужен свой блок записи.
ЗЫ.
65357
petera или иметь свойства для блока "Запись в FB" всего-то. Либо чтобы эти свойства воспринимались автоматически, в зависимости что настроено в таймере, что еще проще.
Пишем 1-цу в таймер, если у него выставлен час, то это и должно быть 1 час, а не 1 миллисекунда.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot