Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: R3nK0 от 17 Февраля 2021, 17:01:28
-
Добрый день, коллеги!
Очень двано (уже 4 года назад) была затронута тема с "застрявшей" переменной, которая принадлежала расписанию и продолжала ему следовать, даже если "raspisanie.Enabled:=false;". Так вот, этот баг до сих пор существует. Расписание становится неактивным, однако Simple-Scada продолжает незамедлительно реагировать на переменную false, которую пользователь пытается изменить, например положив в OPC сервер в соответствующий расписанию тег другое значение.
Это очень мешает гибко применять одни и те же переменные для различных вариантов управления оборудованием, например изменить ручной/автоматический режим включения-выключения оборудования, уже не получится, поскольку если расписание связано с переменной, положив значение извне, оно мгновенно меняется на false, даже в отключенном состоянии.
Примечательно вот что, если изначально создать расписание с отключенным параметром "Доступен" и запустить проект, расписание не будет управлять переменной, однако как только скриптом или еще-каким образом расписание будет активировано, деактивировать его не получится, только перезапускать проект и не трогать расписание вообще.
Проект пересоздан в версии 2.5.1 и до сих пор проблема есть, две ночи спать не давала эта проблема ;D
Уважаемые модераторы, прошу Вас сообщить специалистам об этой проблеме, и если такое возможно, сообщите пожалуйста сроки, заказчик (наш) требует обозначить срок сдачи проекта, заранее благодарю!
-
Здравствуйте.
Свойство Enabled у компонента "Расписание" работает корректно уже очень давно. Это касается и версии 2.5.1 и многих более старых версий. Вы можете сейчас сами в этом убедиться создав проект с расписанием и менять ему свойство Enabled через скрипты. Мы так и сделали только что, прочитав Ваше сообщение и ещё раз убедились в том что при выключенном свойстве Enabled расписание прекращает управление переменной оставляя значение без изменений. Кроме того нам известно, что сейчас несколько проектов других пользователей работают с выключением расписаний и у них не возникает каких-либо проблем.
Расписание становится неактивным, однако Simple-Scada продолжает незамедлительно реагировать на переменную false
Нет, это не так. Если переменная продолжает перезаписываться, значит:
1. у расписания не выключено свойство Enabled (например из-за дополнительных условий в скрипте и т.п.);
2. перезапись делает другое включенное расписание в проекте, которое тоже связано с этой переменной (причем расписание может быть либо на мнемосхеме, либо в каком-то окне);
3. переменная перезаписывается на контроллере;
4. переменная перезаписывается в скриптах.
Если Вы проверили эти пункты, но разобраться не получилось, то вышлите нам текущую версию проекта на support@simple-scada.com, мы укажем точную причину и место в котором идёт перезапись переменной.
-
Все оказалось гораздо проще, тот кто писал код, очень долго не спал, проблема была вовсе не в .Enabled. До этого проверили все то же, что посоветовали Вы, но это как с потерянным носком и матерью, пока она не скажет "вот же он лежит", он не появится. Спасибо за мгновенные ответы и терпение к осваивателям Вашего софта! Вопрос закрыт.