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

Тема: DataLog средствами MasterSCADa

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

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

    По умолчанию DataLog средствами MasterSCADa

    Привет всем!

    Задача: в базу нужно писать ОРС-теги с определённым периодом:
    1. Значение
    2. Время
    3. Качество

    Независимо от того, изменился ли тег за время периода записи.
    Просто тупо набивать хотя бы по миллиону записей на каждый тег.

    К сожалению, я не могу разобраться, как сделать в MasterSCADa эту элементарную задачу.
    Теги у меня пишутся 2 раза: при старте и останове Runtime. И всё...
    Насколько я понял из доков, основное здесь - настройка шаблонов в "Система -> Архив -> Шаблоны".
    Как только не перенастраивал я этот шаблон...
    Что здесь не так?
    Настройка шаблона MasterSCADa.png
    Какие настройки надо сделать, чтобы теги писались в БД каждые 5 сек, независимо ни от чего?
    ЗЫ: Теги в симуляции OPC UA на второй машине, их значения не меняются.

  2. #2

    По умолчанию

    Цитата Сообщение от dimioks Посмотреть сообщение
    Какие настройки надо сделать, чтобы теги писались в БД каждые 5 сек, независимо ни от чего?
    Зачем писать одно и тоже значение в БД?
    Спасибо.

  3. #3

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Зачем писать одно и тоже значение в БД?
    Ну например чтобы построить график уровня материала. Даже если он 3 часа не изменялся

    PS В мс4д я это триггером просто делаю в самой базе mssql. Может и ТС так проще будет.

  4. #4
    Пользователь Аватар для dimioks
    Регистрация
    01.10.2016
    Адрес
    Самара
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от МихаилГл Посмотреть сообщение
    Ну например чтобы построить график уровня материала. Даже если он 3 часа не изменялся

    PS В мс4д я это триггером просто делаю в самой базе mssql. Может и ТС так проще будет.
    Как вариант - да.
    Но ведь лог данных - настолько простая задача, что это делается мимоходом, не заглядывая в документацию на очередную SCADa...
    1. Соединение.
    2. Список данных.
    3. Триггер.
    А тут...

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

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Зачем писать одно и тоже значение в БД?
    Надо. Для обучения нейронки на предприятии.

  6. #6

    По умолчанию

    Посмотрите вот эту страницу:
    https://support.mps-soft.ru/MasterSC...ie_dannih.html
    Строго через определенное время сделать можно только если будет меняться метка времени значения.
    Эффективнее на этапе получения данных во внешнюю систему, обработать ситуацию что если значение не меняется - то и считать его равным последнему, а не забивать базу данных миллионами одинаковых значений.
    Спасибо.

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

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Эффективнее на этапе получения данных во внешнюю систему, обработать ситуацию что если значение не меняется - то и считать его равным последнему, а не забивать базу данных миллионами одинаковых значений.
    Нет. Для обучения нужен "срез по времени", в котором данные должны быть представлены в полном составе, включая неизменные, ошибочные и помехи. Нет смысла потом дополнять "прореженные" данные и создавать для этого ещё одну БД+СУБД.
    Задача SCADa - формировать данные в БД для ВУ. Обработка данных, удаление ненужных записей, сжатие БД - задача ВУ. Так всегда было, есть и будет.

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Посмотрите вот эту страницу:
    https://support.mps-soft.ru/MasterSC...ie_dannih.html
    Строго через определенное время сделать можно только если будет меняться метка времени значения.
    Читал уже. Как раз я и не могу настроить "Периодический" триггер... Метки времени от OPC - меняются.

  8. #8

    По умолчанию

    Цитата Сообщение от dimioks Посмотреть сообщение
    Задача SCADa - формировать данные в БД для ВУ. Обработка данных, удаление ненужных записей, сжатие БД - задача ВУ. Так всегда было, есть и будет.
    В данном случае речь идет о базе данных самой скады - она сама обрабатывает, удаляет и сжимает. И делать она это должна так, чтобы при обращении к БД это не занимало много времени для отображения графиков

    Цитата Сообщение от dimioks Посмотреть сообщение
    Читал уже. Как раз я и не могу настроить "Периодический" триггер... Метки времени от OPC - меняются.
    Если метка времени меняется, то периодическая архивация будет работать.
    Если же метка времени не меняется - то записываться в архив значение с этим интервалом не будет.
    Выделите переменную и посмотрите на вкладке Данные - меняется ли метка времени с нужным интервалом
    Спасибо.

  9. #9
    Пользователь Аватар для dimioks
    Регистрация
    01.10.2016
    Адрес
    Самара
    Сообщений
    31

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Если метка времени меняется, то периодическая архивация будет работать.
    Если же метка времени не меняется - то записываться в архив значение с этим интервалом не будет.
    Выделите переменную и посмотрите на вкладке Данные - меняется ли метка времени с нужным интервалом
    Выделил. Посмотрел. Не обновляется. Т.е. данные не читаются с периодическим опросом. При изменении, или открытии/закрытии Runtime - меняются метки времени. Но ещё более странно, что при некоторых настройках значение тега в MasterSCADa меняется, а в "Данные" не меняются и в БД не добавляются.
    Появление дробного числа среди целочисленных при настройке "Среднее" меня просто убил... Усреднилось то, что в принципе не может подлежать усреднению в моём варианте)))

    Короче... пока ничего хорошего не получается совсем. Ни создание массивов для нейронки, ни элементарного моментального снимка данных (например, в случае аварии или по нажатию кнопки оператором) - не получается, судя даже по документации.
    С одним вариантом настроек - из-за "прореживания", с другой - из-за устреднения. И то и другое - абсолютно неадекватно относительно целочисленных и битовых значений.
    Например, мой "Режим работы" - целочисленный, может иметь шесть строго определённых значений. Никаких "прореживаний", min/max, а тем более усреднений тут не может быть принципиально.
    Второй вариант: битовый тег состояния аварийной кнопки. Которая может быть неизменна месяцами. И данные о последнем изменении могут быть давным давно удалены из БД. А моментальный снимок обязан содержать весь набор данных, независимо от последнего изменения.
    Последний раз редактировалось dimioks; Сегодня в 21:54.

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

    По умолчанию

    Интересно, а как может не меняться метка времени? У нас чё, в природе время блин стоит на месте?

Похожие темы

  1. Парсинг JSON средствами ST в Codesys 3.5
    от Pavel_Makarov в разделе Сетевые технологии
    Ответов: 20
    Последнее сообщение: 28.11.2023, 10:32
  2. Имеется код на ЯВУ Pascal. Как описать его средствами IDE OwenLogic?
    от Дмитрий_Кирсанов в разделе Среда программирования OWEN Logic
    Ответов: 9
    Последнее сообщение: 13.09.2021, 13:34
  3. СПК в режиме MODBUS Slave средствами CDS
    от ASo в разделе СПК210, СПК1xx [М01]
    Ответов: 1
    Последнее сообщение: 15.11.2019, 16:45
  4. Перезагрузка 304 ПЛК средствами CoDeSys v3.4
    от GeLeX в разделе ПЛК3xx (архив)
    Ответов: 10
    Последнее сообщение: 15.04.2014, 05:27
  5. Возможно ли решить нижеописанную задачу средствами Овен?
    от Вова в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 23.02.2011, 14:40

Ваши права

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