Показано с 1 по 8 из 8

Тема: Не сбрасываются счетчики времени

  1. #1

    Exclamation Не сбрасываются счетчики времени

    Добрый день, при разработке проекта столкнулись со следующей проблемой. В проекте используется большое количество счетчиков времени(более 800), которые сбрасываются раз в 12 часов выходом функционального блока cкрипт С#(выход переходит из состояния выкл. в состояние вкл. на один цикл). При работе проекта обнаружили, что некоторые счетчики времени не сбросились после изменения выхода скрипта и продолжили подсчет времени. При этом в момент следующего сброса(по прошествии ещё 12 часов) счетчики времени насчитавшие более 12 часов были сброшены, но не сбросились уже другие счетчики и также продолжили подсчет времени. В чём может заключаться данная проблема? Есть ли в скаде ограничения на количество связей к одному выходу(выход скрипта, отвечающий за сброс счетчиков, имеет более 1000 связей)? Версия MasterScada 3.11.0.17386 3.11(30011293_7008)_20_05_13_08_57.
    Последний раз редактировалось Vadim.Cybr; 05.04.2021 в 11:51.

  2. #2

    По умолчанию

    Не должно быть.
    Опрос по изменению установлен?
    Возможно если разные циклы опроса стоит (например у скрипта 500 мс, а у ФБ 1000), то импульсы попадают между циклами.
    Можно для начала сделать выдачу импульса со скрипта более длинной - 4-5 секунд например.
    Спасибо.

  3. #3

    По умолчанию

    Цикл опроса у скрипта и у ФБ одинаковый - 1000 мс. Увеличение длительности импульса до 5 секунд решило проблему со сбросом счетчиков. К выходу скрипта, выдающего импульс для сброса, также привязаны входы других скриптов, исполняющихся при подаче импульса. При работе проекта обнаружили, что в один из моментов сброса несколько скриптов не исполнились при подаче импульса, при это в предыдущие и последующие моменты сброса скрипты исполнялись корректно. Опрос скриптов установлен по изменению входов.

  4. #4

    По умолчанию

    Приложите проект (Проект - Экспортировать), укажите путь к команде и скриптам которые не исполнились
    Спасибо.

  5. #5

    По умолчанию

    Путь к команде Объект\Сервер\Переключение смен\Антидребезг_post_switch\Выход. Не исполнились скрипты: Скрипт переназначение сотрудников и Скрипт обновление данных производства. Также прикрепил Логи. Скрипты не исполнились в 11.04.2021 20:00.
    Вложения Вложения

  6. #6

    По умолчанию

    Антидребезг лучше поднять выше - сразу после скрипта, которым вы выдаете импульс. У вас сейчас на входы скрипта сигнал приходит только на следующий цикл.
    Возможно у вас сам код не отработал, вот вы пишите:
    bool temp; // singleshot generation variable
    if(exec != null) {
    if(exec.HasValue) {
    if((exec == true) && (temp == false))
    Во первых это масло масляное. HasValue это и есть проверка на null
    И что вы тут хотите сделать? Передний фронт отследить?
    Так вот так:
    bool? temp=false; // singleshot generation variable
    public override void Execute(){
    if(exec == true && temp == false)
    {
    Log(INFO, "обновление данных производства", 81);
    updateProduce();
    temp = true;
    }
    temp=exec;
    }
    Спасибо.

  7. #7

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Антидребезг лучше поднять выше - сразу после скрипта, которым вы выдаете импульс. У вас сейчас на входы скрипта сигнал приходит только на следующий цикл.
    Возможно у вас сам код не отработал, вот вы пишите:
    bool temp; // singleshot generation variable
    if(exec != null) {
    if(exec.HasValue) {
    if((exec == true) && (temp == false))
    Во первых это масло масляное. HasValue это и есть проверка на null
    И что вы тут хотите сделать? Передний фронт отследить?
    Так вот так:
    bool? temp=false; // singleshot generation variable
    public override void Execute(){
    if(exec == true && temp == false)
    {
    Log(INFO, "обновление данных производства", 81);
    updateProduce();
    temp = true;
    }
    temp=exec;
    }
    В каких случаях данный код может не отработать? Что будет, если в одном из скриптов возникнет неперехваченный Exception e, и есть ли возможность узнать об этом в режиме исполнения? Можно ли узнать сколько по времени занимает процесс формирования отчета?

  8. #8

    По умолчанию

    Цитата Сообщение от Vadim.Cybr Посмотреть сообщение
    В каких случаях данный код может не отработать?
    Например если TEMP будет в TRUE.


    Цитата Сообщение от Vadim.Cybr Посмотреть сообщение
    Что будет, если в одном из скриптов возникнет неперехваченный Exception e, и есть ли возможность узнать об этом в режиме исполнения?
    Можно посмотреть лог - в правом нижнем углу скады появляется красная кнопка.

    Цитата Сообщение от Vadim.Cybr Посмотреть сообщение
    Можно ли узнать сколько по времени занимает процесс формирования отчета?
    Имеется ввиду отчет из редактора отчетов?
    С помощью ФБ "Управление документом" можно отслеживать его выполнение
    Спасибо.

Похожие темы

  1. ПЛК 110-60 М02, сбрасываются уставки
    от kirillak в разделе ПЛК1хх [М02]
    Ответов: 4
    Последнее сообщение: 14.11.2019, 17:20
  2. ПЛК и счетчики Энергомера
    от Kostic77 в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 04.05.2015, 16:22
  3. Сбрасываются часы плк
    от Andrew_Stranger в разделе ПЛК1хх
    Ответов: 22
    Последнее сообщение: 23.04.2014, 23:49
  4. Счетчики СЭТ-4TM.02
    от kanadchikov в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 17.08.2011, 15:06
  5. счетчики
    от Dima_31 в разделе Помощь Разработчикам
    Ответов: 4
    Последнее сообщение: 20.08.2009, 12:11

Метки этой темы

Ваши права

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