Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: VladD от 16 Декабря 2019, 13:07:07
-
Добрый день..составил формирование отчета по Вашему примеру: за определенный пользователем интервал времени выводится общее время простоя, холостого хода и работа под нагрузкой механизма. Вопрос: руководство требует, чтобы была разбивка по сменам (каждая смена 12 часов - 4 смены),т.е. выбрали интервал и в отчете..1 смена - такие то показатели, вторая - такие и т.д. Возможно ли такое сформировать, если возможно, направьте в правильную сторону. Спасибо.
-
Здравствуйте. Какого-то автоматического разбиения данных по сменам - нет. И, к сожалению, даже скриптами в отчетах сделать не получится, т.к. источники данных не имеют такой функции. В данный момент можно организовать только построение за период который целиком включает смену и ли несколько смен.
Например за одну смену: можно перед построением отчета задавать время (через скрипты например) начала и конца устанавливая начало и конец смены соответственно, тогда отчет будет построен за эту смену.
Можно построить отчет и за 4 смены: создать в отчете 4 разных источника данных для каждой смены свой источник. Затем, при построении отчета каждому источнику данных выставить время начала и время конца соответствующее смене. Тогда будет построен отчет с разбивкой на 4 смены. Но вся проблема в том, что для этого нужно всегда строить отчет за фиксированный период времени, для 4 смен он должен быть 12 * 4 = 48 часов. А вот за произвольный интервал времени построить не получится.
-
Спасибо..а возможен ли такой вариант..завести четыре пользователя...каждый UserName_N это смена_N (N=1-4), но надо как-то присваивать внутренней переменной (vrSmena) значения от 1 до 4 при смене текущего пользователя и строить отчет по изменению переменной vrSmena. Тогда будет ли это работать подобно примеру с отчетами по циклам, т.е. выбираем произвольный интервал и составляется отчет с разбивкой по сменам. Спасибо.
-
VladD, ничего непонятно по описанию. Нужно строить отчет при каждой смене пользователя? Причём здесь отчёт по циклам? Вы говорите про такой отчет по циклам, как по этой ссылке (https://simple-scada.com/help/report/cycles-rep.html)? Или Вы называете отчет по сменам - отчетом по циклам?
т.е. выбираем произвольный интервал и составляется отчет с разбивкой по сменам.
как мы писали в пред. ответе - за произвольный интервал времени отчет по сменам построить не получится. Можно построить только за период, который включает в себя от одной до 4 смен. Пример для 4 смен был описан в предыдущем нашем ответе:
Можно построить отчет и за 4 смены: создать в отчете 4 разных источника данных для каждой смены свой источник. Затем, при построении отчета каждому источнику данных выставить время начала и время конца соответствующее смене. Тогда будет построен отчет с разбивкой на 4 смены. Но вся проблема в том, что для этого нужно всегда строить отчет за фиксированный период времени, для 4 смен он должен быть 12 * 4 = 48 часов.
Аналогично можно построить отчет за одну смену (период должен быть обязательно 12 часов), за две смены (период 24 часа) или три смены (период 36 часов). Но за произвольный период времени построить не получится.
-
да имелось ввиду, что как пользователь сменился то построить отчет
-
Таким образом, как только пользователь авторизовался, то фиксируем время начала (цикл, смена, как угодно), пользователь вышел, фиксируем время окончания (цикл, смена) и строим отчет по изменению, основываясь на значении внутренней переменной, которая будет менять свои значения, основываясь на том какой пользователь авторизовался. Авторизовался Пользователь1 (связан с сменой1), то внутренней переменной присвоить 1, Пользователь2, то внутренней переменной присвоить 2 и так до 4.
-
Чтобы отследить авторизацию лучше использовать скрипт с типом события "Авторизация пользователя" (https://simple-scada.com/help/script/user-authorization.html), он выполняется при каждой авторизации. Нужно также учитывать что если клиентов много, то авторизация на любом клиенте приведёт к выполнению скрипта "Авторизация пользователя". Но это никак не поможет в решении задачи с отчетом по сменам за произвольный период.