1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Вывод архивных значений по периодам

Ответить
Аватара пользователя

Автор темы
iluha
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 27 июл 2020, 12:40
Имя: Илья
Страна: Узбекистан
город/регион: Ташкент
Благодарил (а): 1 раз
Поблагодарили: 7 раз

Вывод архивных значений по периодам

Сообщение iluha »

Народ, я всё понимаю, что вы опытные, занятые и прочее...

Но прошу подмогните, сам не ожидал, что с этим столкнусь.

Исходная комплектация:
WinCC v7.5 (WinCC Explorer)
Рисую в Graphic Designer.

Задача:
Вывести данные по сигналу (скажем давление) за день, неделю, месяц, в цифровом виде, наверное в окошках I\O Field (я предполагаю).
При чем, данные за день, это начало смены с 00:00 часов и до полных 24 часов, т.е. накопительного типа.

Вопрос 1. Как по шагам с нуля до реализации это организовать, что мне нужно задействовать (alarm loggin, tag logging, user archive)?
Вопрос 2. Можно ли обойтись без VBS, штатной библиотекой редактора?
Вопрос 3. Может кто кинет толковую ссылку на мануал, или же готовое решение, хотя бы приближенное?

Спасибо заранее.

makesstr
осмотрелся
осмотрелся
Сообщения: 187
Зарегистрирован: 19 сен 2019, 10:09
Имя: Макс
Страна: Россия
город/регион: Славянск-на-Кубани
Благодарил (а): 5 раз
Поблагодарили: 32 раза

Вывод архивных значений по периодам

Сообщение makesstr »

Я такие задачи обычно решаю глобальным часовым скриптом, который по времени делает запись значения нужного тега в файл экселя. Но есть и более сложный вариант. Поставить wincc connectivity pack, и VBSным скриптом запрашивать SQL о значении сохраненного тега в графиках.
WinCC 7.4 SP1 Upd15, Step5.6

ZuElecRu
освоился
освоился
Сообщения: 290
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 31 раз
Поблагодарили: 35 раз

Вывод архивных значений по периодам

Сообщение ZuElecRu »

А вы хотите на экран выводить эти значения? В виде таблицы скажем за месяц по дням на пример?

LexSL
осмотрелся
осмотрелся
Сообщения: 191
Зарегистрирован: 16 дек 2011, 15:13
Имя: Алексей
Страна: Россия
Благодарил (а): 59 раз
Поблагодарили: 44 раза

Вывод архивных значений по периодам

Сообщение LexSL »

Решается TagLogging и (если нужно) скриптами.
Например. Есть тег - "input" - float32. Создаете еще один тег - input_1h_avg (также float) - для отображения в IO field среднего значения за час.
Открываете TagLogging. Создаете ProcessValue Archive.
А дальше на рисунке расписал.
1h_avg_1.png
Учтите, что тег "input_1h_avg" будет изменяться только каждый час. Т.е. если вы запустили Runtime в 10:20, то тег изменится в 11:20, 12:20, 13:20 и так далее (т.е. не ровно в хх:00 часов). И если оператор смотрит на экран в 11:40, на котором отображен тег "input_1h_avg", то ему надо объяснить, что это - значение за предыдущий час от 10:20 до 11:20.
Для суммы аналогично, только на вкладке Parameters указываете Sum. Будет сумма всех значений, полученных за час.
1h_sum_1.png

Еще вариант - например Вам необходимо показывать сумму за сутки. Можно воспользоваться вариантом выше (Archiving - Factor = 1, Cycle = 1 day), то тогда значение будет меняться, как уже сказал, раз в сутки.
А можно вместо указания Sum, воспользоваться скриптом. Например, у вас есть уже архивирование каждый час суммы (см. выше).
На вкладке Parameters указываете Action.
1h_sum_3.png
Этот Action создаете в GlobalScript -> ProjectFunction. обязательно соблюдение сигнатуры метода!!!
script.png
Тег input_sum_shift будет прибавляться каждый час. типа это данные за смену.
Создаете еще один скрипт, который срабатывает например, каждый день в 00:00:10 и обнуляет тег input_sum_shift для того, чтобы подсчет начинался заново для новой смены.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

Автор темы
iluha
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 27 июл 2020, 12:40
Имя: Илья
Страна: Узбекистан
город/регион: Ташкент
Благодарил (а): 1 раз
Поблагодарили: 7 раз

Вывод архивных значений по периодам

Сообщение iluha »

Вооот, дружище, всем бы такого сердца, как у тебя !
Спасибо.

Отправлено спустя 3 минуты 5 секунд:
ZuElecRu писал(а): 03 ноя 2021, 14:59 А вы хотите на экран выводить эти значения? В виде таблицы скажем за месяц по дням на пример?
См. вложение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

ZuElecRu
освоился
освоился
Сообщения: 290
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 31 раз
Поблагодарили: 35 раз

Вывод архивных значений по периодам

Сообщение ZuElecRu »

В вашем случае я бы все в ПЛК посчитал и не морочился ни с какими архивами. Я у себя счетчики воды запоминаю посуточно в блоке данных сриптом в панели. По силам любой панельке. 31 значение в месяц не много для ПЛК. Это самый простой вариант. Но я хочу и функцию записи из панели тоже убрать, руки не доходят, установка сама автономно пусть подсчет ведет в разумных пределах. А ВинСиси пусть архив ведет уже подсчитанных значений да репорты делает.
Аватара пользователя

Автор темы
iluha
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 27 июл 2020, 12:40
Имя: Илья
Страна: Узбекистан
город/регион: Ташкент
Благодарил (а): 1 раз
Поблагодарили: 7 раз

Вывод архивных значений по периодам

Сообщение iluha »

ZuElecRu писал(а): 08 ноя 2021, 10:14 В вашем случае я бы все в ПЛК посчитал и не морочился ни с какими архивами. Я у себя счетчики воды запоминаю посуточно в блоке данных сриптом в панели. По силам любой панельке. 31 значение в месяц не много для ПЛК. Это самый простой вариант. Но я хочу и функцию записи из панели тоже убрать, руки не доходят, установка сама автономно пусть подсчет ведет в разумных пределах. А ВинСиси пусть архив ведет уже подсчитанных значений да репорты делает.
Согласен, это тоже метод. Я о нем думал с самого начала, но меня насторожила емкость памяти ЦПУ, какую историю и за какой период он сможет безболезненно хранить. Поэтому в сторону WinCC смотрю.
Ответить

Вернуться в «WinCC»