Показано с 1 по 10 из 1785

Тема: Вопросы по MasterSCADA 4D

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    18.11.2019
    Адрес
    Пермь
    Сообщений
    88

    По умолчанию

    Здравствуйте! Столкнулся с проблемой в отчетах. В тех. поддержке сказали что пока данный функционал не реализован, и когда будет реализован неизвестно.

    Суть:
    В отчётах есть возможность обработки данных: счётчик пробега и количество включений
    "Счетчик пробега" - определяет время наработки данной переменной, т.е. количество секунд которые переменная была во включенном состоянии, на данном интервале времени.
    "Количество включений" – определяет количество переходов из "Ложь" в "Истина" переменной на интервале времени.
    Из справки MS4D

    По факту они не работают. Задал вопрос в разделе CoDeSyS о возможности реализации данного функционала посредством программы ST. Однако есть некоторые проблемы.
    1. Количество отслеживаемых подобным образом параметров - сотни, в дальнейшем тысячи. Писать вручную программу для каждой переменной - вариант, но крайний.
    2. Сама программа в скада не обнуляет счетчики через сутки.
    3. Интервал начинается после загрузки узла, то есть если исполнение было перезагружено аккурат перед построением отчета - данных соответственно не будет.

    Возможно ли реализовать данный функционал действующими инструментами MS4D?

  2. #2

    По умолчанию

    Цитата Сообщение от Minarion Посмотреть сообщение
    Здравствуйте! Столкнулся с проблемой в отчетах. В тех. поддержке сказали что пока данный функционал не реализован, и когда будет реализован неизвестно.

    Суть:
    В отчётах есть возможность обработки данных: счётчик пробега и количество включений
    "Счетчик пробега" - определяет время наработки данной переменной, т.е. количество секунд которые переменная была во включенном состоянии, на данном интервале времени.
    "Количество включений" – определяет количество переходов из "Ложь" в "Истина" переменной на интервале времени.
    Из справки MS4D

    По факту они не работают. Задал вопрос в разделе CoDeSyS о возможности реализации данного функционала посредством программы ST. Однако есть некоторые проблемы.
    1. Количество отслеживаемых подобным образом параметров - сотни, в дальнейшем тысячи. Писать вручную программу для каждой переменной - вариант, но крайний.
    2. Сама программа в скада не обнуляет счетчики через сутки.
    3. Интервал начинается после загрузки узла, то есть если исполнение было перезагружено аккурат перед построением отчета - данных соответственно не будет.

    Возможно ли реализовать данный функционал действующими инструментами MS4D?
    В библиотеке OSCAT есть пара блоков
    M_T
    точность в милисекундах, но нужно самому суммировать значения
    ONTIME
    точность в секундах, но суммируется все время наработки, надо только поиграться с сохранением переменной, в справке описано
    Screenshot_4.png

  3. #3
    Пользователь
    Регистрация
    18.11.2019
    Адрес
    Пермь
    Сообщений
    88

    По умолчанию

    Цитата Сообщение от VladGC Посмотреть сообщение
    ONTIME
    точность в секундах, но суммируется все время наработки, надо только поиграться с сохранением переменной, в справке описано
    Screenshot_4.png
    Здравствуйте! Спасибо за ответ!
    Остановился на ONTIME.

    Не подскажите как выход SECONDS(UDINT) преобразовать из секунд в вид часы.минуты.секунды?

  4. #4

    По умолчанию

    Цитата Сообщение от Minarion Посмотреть сообщение
    Не подскажите как выход SECONDS(UDINT) преобразовать из секунд в вид часы.минуты.секунды?
    Возможно получится через функцию UDINT_TO_TIME

  5. #5
    Пользователь
    Регистрация
    18.11.2019
    Адрес
    Пермь
    Сообщений
    88

    По умолчанию

    Цитата Сообщение от b_aleks Посмотреть сообщение
    Возможно получится через функцию UDINT_TO_TIME
    Не получается. Возвращает ошибку: Недопустимое присваивание:UDINT := TIME

  6. #6

    По умолчанию

    Цитата Сообщение от Minarion Посмотреть сообщение
    Не получается. Возвращает ошибку: Недопустимое присваивание:UDINT := TIME
    Скиньте строчку кода, где вы преобразуете из одного типа в другой. У меня в проекте есть много мест, где я эту функцию использую, таких ошибок не возникало. Я пишу так:
    ПеременнаяТипаTIME := UDINT_TO_TIME(ПеременнаяТипаUDINT);

  7. #7
    Пользователь
    Регистрация
    18.11.2019
    Адрес
    Пермь
    Сообщений
    88

    По умолчанию

    Цитата Сообщение от b_aleks Посмотреть сообщение
    Скиньте строчку кода, где вы преобразуете из одного типа в другой. У меня в проекте есть много мест, где я эту функцию использую, таких ошибок не возникало. Я пишу так:
    ПеременнаяТипаTIME := UDINT_TO_TIME(ПеременнаяТипаUDINT);
    Спасибо! Разобрался.
    Надо было добавить ещё одну переменную, а я преобразовывал сразу переменную выхода SECONDS.

    ONTIME_myVar(IN:= myVar, RST:= RESTART, SECONDS:= timeMyVar, CYCLES:= cycleMyVar);
    timeVar:=UDINT_TO_TIME(timeMyVar*1000);

Похожие темы

  1. Вопросы по СИ-8
    от aleksandr87 в разделе Эксплуатация
    Ответов: 2
    Последнее сообщение: 11.06.2016, 18:56
  2. Вопросы новичка по MasterScada
    от MrNobody в разделе Master SCADA 3
    Ответов: 4
    Последнее сообщение: 04.09.2014, 14:39
  3. MasterScada v3.6 Основные вопросы
    от colorprint2008 в разделе Master SCADA 3
    Ответов: 7
    Последнее сообщение: 24.12.2013, 15:50
  4. конвертация проекта из Masterscada 3.5 в Masterscada 3.4
    от Сергей_SPB в разделе Master SCADA 3
    Ответов: 2
    Последнее сообщение: 01.04.2013, 16:56
  5. Вопросы по трендам MasterSCADA
    от 42ia в разделе Master SCADA 3
    Ответов: 9
    Последнее сообщение: 26.06.2012, 10:58

Ваши права

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