Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: RadMur от 13 Июля 2026, 17:08:45
-
Здравствуйте!
Можно ли совместить источник Сообщения и Периодический?
В приложении пример отчета. Там два источника. Первый - это
сообщения, через них я записываю в БД события.
Второй - периодический, оттуда берутся вес и температура для графика.
Я попытался перетащить эти показания в DataBand, но туда попали одни(постоянные)
значения. А мне нужны показания на момент наступления каждого события
из источника Сообщения.
-
Здравствуйте.
Совместить источник "Сообщения" с другим источником не получится. В данном случае можно только создать в БД свою таблицу с нужной структурой и записывать в нее необходимую информацию - примеры скриптов для работы с БД, см. по ссылке (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) и строить отчет на основании накопленных в нем данных.
-
Здравствуйте!
Продолжаю эксперименты с отчетами и сообщениями.
Сначала сделал отчет, как в Помощи, т.е. сообщения добавляются через систему. Все работает корректно, колонки Завершено и Длительность содержат данные.
Затем сделал добавление сообщений через скрипт(AddMessageToGroup) и отчет по новой группе сообщений. Сообщения добавляются, но колонки Завершено и Длительность не содержат данных.
Это норма для сообщений, добавленных через скрипт?
-
Здравствуйте.
Это норма для сообщений, добавленных через скрипт?
Да, для сообщений, которые формируются через скрипты, колонки "Завершено" и "Длительность" не заполняются.
-
Здравствуйте.
Для построения таблицы гибридного отчёта можно использовать данные из системных таблиц Simple-Scada по следующему алгоритму:
- по таблице messages строится таблица с необходимыми для отчета колонками и добавлением колонок для переменных. Критерием отбора строк служит номер группы сообщений и временное окно построения;
- из таблицы отчета выбираются все временные метки и помещаются в динамический массив;
- по массиву в цикле выполняются получение значений переменных из архива по временной метке (ArchiveValueByTime) с последующей записью в таблицу отчёта.
Из-за использования архивной функции построение таблицы достаточно медленное. Однако данный алгоритм слабо связан с проектом и не требует дополнительных ресурсов БД.
Пример во вложении предельно упрощен. Секундный генератор переменных. Две кнопки событий и фиксированные имена переменных. Отбор только по номеру группы сообщений (можно предварительно почистить таблицы). Кнопка "Построить таблицу", визуализация результата в таблице Simple-Scada.
-
Большое спасибо! Обязательно попробую.