Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Rolich от 05 Августа 2024, 12:15:46

Название: Вопрос по тренду в отчёте
Отправлено: Rolich от 05 Августа 2024, 12:15:46
Доброго всем времени суток
В проекте имеется битовая переменная, отвечающая за работу агрегата (1 - в работе, 0 - остановлен)
Подскажите, пожалуйста, как в отчёт вывести график, на котором по оси Y в виде горизонтальной полосы отображались бы периоды работы (зеленым - в работе, белым - простой), а по оси Х - время отчёта
Спасибо
Название: Re: Вопрос по тренду в отчёте
Отправлено: Simple Scada от 05 Августа 2024, 15:11:30
Здравствуйте.

Скорее всего, Вам подойдет пример создания диаграммы Ганта по сообщениям – ссылка (https://simple-scada.com/help/report/ganttchartmess.html). Следует учитывать, что каждое состояние оборудования (1 – в работе, 0 – остановлен) можно вывести только в отдельный ряд (используя "Условия" можно задать разные цвета для каждого ряда – см. скриншот во вложении).
Название: Re: Вопрос по тренду в отчёте
Отправлено: Rolich от 07 Августа 2024, 06:14:23
Доброго времени суток
Построение графиков Ганта возможно только для сообщений ?
Изначально вопрос был об обычной битовой переменной, сообщения в проекте не используются вовсе
В частности, сложность возникает с пониманием того, какие переменные из источника прописывать в поля "Значение" и "Конечное значение"
Название: Re: Вопрос по тренду в отчёте
Отправлено: Simple Scada от 07 Августа 2024, 07:52:49
Здравствуйте.

Для построения диаграммы Ганта необходимы данные: время начала события и время завершения события. При работе с архивными данными переменной с использованием источников данных (https://simple-scada.com/help/report/sourcetypes.html) "По-изменению" или "Периодический" эти данные отсутствуют. Соответственно, построить диаграмму Ганта, используя указанные источники данных, не получится.

Для построения диаграммы Ганта можно использовать два способа:
1. Наиболее простой – используя источник данных "Сообщения". При необходимости сообщения можно скрыть через настройку прав пользователя -> Сообщения (https://simple-scada.com/help/manual/editor-users.html).
2. Используя SQL-запросы (https://simple-scada.com/help/script/workbd.html), можно записывать необходимую информацию в свою таблицу БД (примеры работы с БД см. по ссылке (https://simple-scada.com/help/script/dbscripts.html)). Далее в отчете использовать пользовательский источник данных (https://simple-scada.com/help/report/sourcetypes.html) (пример см. по ссылке (https://simple-scada.com/help/report/rep-user-data.html)) и строить диаграмму Ганта на основании накопленных в нем данных.
Название: Re: Вопрос по тренду в отчёте
Отправлено: Simple_Scada от 07 Августа 2024, 09:55:52
Цитировать
Изначально вопрос был об обычной битовой переменной, сообщения в проекте не используются вовсе
Тогда Вам возможно подойдет:
1. Выводить в отчет ступенчатый тренд (как писано по ссылке (https://simple-scada.com/help/report/rep-trends.html)) по этой переменной.
2. Создать дополнительную внутреннюю Boolean переменную и в скрипте по изменению исходной переменной (https://simple-scada.com/help/script/changed-the-variables.html) записывать в новую переменную инвертированное значение исходной переменной. Когда исходная переменная равна 1, записывать 0, когда исходная переменная равна 0, записывать 1. У внутренней переменной включить архивацию "по изменению". Затем вывести в отчет на одну диаграмму ступенчатые тренды по этим переменным: один тренд зеленый, другой белый. Тренды будут накладываться друг на друга и в периоды работы агрегата линия будет зеленая, а в моменты простоя линия будет белая.