I_don't_know
Junior Member / Новичок
Участник № / Member № 9706
отправлено / posted
Задача: реализовать выгрузку данных (среднее арифметическое по нескольким каналам) из СПАД архива за определённый промежуток времени с заданным периодом в Exel (по кнопке). Изучив форум стало ясно, что для выборки данных нужно использовать CALL.LocalQuick, а для выгрузки в Exel компонент "Связь с СУБД". И если с выгрузкой в Exel текущих значений всё вроде бы понятно, то с выборкой усреднённых данных каналов из архива не понятно совсем. Не могли бы вы прислать пример проекта с использованием CALL.LocalQuick, а так же порекомендовать метод выгрузки полученных данных в Exel.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Если среднее арифметическое значение уже записано в архив Trace Mode, то проще всего использовать системную переменную @Data_from_SIAD. В результате Вы получите txt-файл. Его потом импортировать в Excel встроенными средствами самого Excel.
I_don't_know
Junior Member / Новичок
Участник № / Member № 9706
отправлено / posted
Данный метод уже реализован, но технолога на объекте такой вариант не устроил. Однако я использовал не @Data_from_SIAD, а CALL.ROOT. Заказчику не понравилось, что экспорт txt-файла осуществляется в папку проекта. С Call.LocalQuick затруднения вызывает привязка аргументов CALL.ChGroupReq и архивируемых каналов. Так же не понятно, куда в итоге помещается массив выборки данных.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
6.10.2 Для обработки рекомендуется использовать LocalQuick. Во встроенной Справочной Системе есть описание для канала Call.LocalQuick (Справочная Система - Каналы и системные переменные - Канал класса Call - Call.LocalQuick)
Для начала создаем каналы Call.TVC или Call.CGR и к ним привязываем анализируемые каналы (один анализируемый к одному Call.TVC).
Далее, создаем Call.LocalQuick. К его аргументам (второму, третьему и далее, счет с 0) привязываем каналы Call.TVC/CGR (Редактирование - Дополнительно - Привязка).
Для канала Call.LocalQuick задаем Параметр 32 или более. "Более" определяется необходимостью разбивать заданный диапазон на интервалы или нет. В Справке подробно описано.
Все. Запускаем проект, нарабатываем архив. В аргументы 0 и 1 канала Call.LocalQuick устанавливаем время. Для активации анализа подаем во входное значение количество обрабатываемых Call.TVC. Результаты в аргументах Call.TVC.
Сообщения / Posts 17320 | Из / From: Россия
| IP / IP: IP адрес / IP address |
I_don't_know
Junior Member / Новичок
Участник № / Member № 9706
отправлено / posted
Спасибо, с получением массива данных среднего арифметического разобрался. Теперь осталось разобраться с экспортом этих данных. Есть ли возможность экспортировать этот массив данных если не в Exel, то хотя бы в txt-файл, но не в корень проекта, а в заранее подготовленную папку? Пускай даже если эта папка сама по себе и будет лежать в корне, главное что бы txt-файлы архива были отдельно от остального проекта.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
I_don't_know
Junior Member / Новичок
Участник № / Member № 9706
отправлено / posted
Есть ли примеры работы с @Data_from_SIAD: а именно экспорт архивных данных нескольких канала с xx по yy по событию?
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
I_don't_know
Junior Member / Новичок
Участник № / Member № 9706
отправлено / posted
В видео уроках нет примеров работы с системной переменной @Data_from_SIAD, только с CALL.ROOT.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
quote:Отправитель / Originally posted by I_don't_know: В видео уроках нет примеров работы с системной переменной @Data_from_SIAD, только с CALL.ROOT.
В рамках Trace Mode 6, рекомендованный метод работы с архивом - Call.Root (по этому видео-урок по этому методу).
Метод с Data_from_SIAD устаревший. Если Вы планируете использовать именно устаревший метод, то сформулируйте конкретные вопросы.
Data_from_SIAD экспортирует данные по всем архивируемым каналам.
Событие, по которому происходит активация экспорта определяется Разработчиком проекта и формируется, например, программой.
Сообщения / Posts 17320 | Из / From: Россия
| IP / IP: IP адрес / IP address |
I_don't_know
Junior Member / Новичок
Участник № / Member № 9706
I_don't_know
Junior Member / Новичок
Участник № / Member № 9706
отправлено / posted
Добрый день. Подскажите, можно ли при экспорте данных в TXT при помощи CALL.ROOT убрать миллисекунды. Например, при экспорте данных строка имеет вид "08.10.2024 0:01:03.360 2.20667". Её нужно привести к виду "08.10.2024 0:01:03 2.20667" для удобства технологу.
Сообщения / Posts 13 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Данные выдаются со всей возможной точностью вплоть до миллисекунд. Изменить это в данном механизме нет возможности. Если очень мешает, то можно сторонними средствами обрабатывать текстовый файл и приводить в нужный технологу вид.
Сообщения / Posts 17320 | Из / From: Россия
| IP / IP: IP адрес / IP address |