Стартовая страница › Форумы › Разработка и интеграция › Получение текущих данных входного канала в драйвере
- В этой теме 7 ответов, 4 участника, последнее обновление 7 лет, 7 месяцев назад сделано
Mikhail.
-
АвторЗаписи
-
29.10.2018 в 13:12 #10523
Romiros
УчастникВозможно ли из драйвера коммуникатора обратится к текущим данным канала привязанного к сигналу?
Смысл в том, чтобы писать в RapidScada архивные и текущие данные из БД MSSQL, и в один служебный канал по каждому объекту заносить время последней записи архива(это поле из MSSQL). Чтобы выполнять запрос архивов из БД, время записи которых больше времени записанного в текущие данные выбранного канала. Может есть способ проще?
Я пробовал хранить эту запись в xml, но не надёжно, файл может испортиться при ненормальном завершении процесса ServerComm.29.10.2018 в 14:40 #10524
manjey73УчастникВроде Михаил как-то писал что из Коммуникатора недоступны БД.
29.10.2018 в 14:48 #10525Romiros
УчастникМожет что-нибудь изменилось. Система не стоит на месте. Можно конечно организовать подключение через API в самом драйвере Kp, но вдруг проще можно.
29.10.2018 в 19:57 #10535
MikhailМодераторМожно конечно организовать подключение через API в самом драйвере Kp
Так можно, но для данного случая слишком громоздко.
чтобы писать в RapidScada архивные и текущие данные из БД MSSQL
Вероятно, в этом году мы разработаем драйвер, который берёт из БД текущие данные. Но по архивам задачи пока не ставилось. Работа с архивами более специфична для каждой конкретной базы.
На мой взгляд, проще всего писать в ту самую базу, из которой читаете. Либо сохранять в файл. Чтобы защититься от повреждения файла, можно старый файл не перетирать, а копировать с другим именем и в случае ошибки читать из старого.17.12.2018 в 08:01 #10838
baurУчастникВозможно ли из драйвера коммуникатора обратится к текущим данным канала привязанного к сигналу?
не проще ли обратиться к минутным данным, если не онлайн система.
Я вот думаю писать утилиту, который следить за файловой системой, как только появится новый файл с минутным архивом тут же записывает в БД. Думаю, это лучше, чем писать в БД впрямую с функционалом текущего модуля. Текущий модуль слишком загружает БД, таблицы часто попадает в блокировку (у меня кроме Insert БД делает лишние движения для фильтрации и т.д.) все это усложняется с тем, что в БД параллельно пишет несколько экземпляров сервера. Из-за блокировок потом даже трудно читать данные.
Вероятно, в этом году мы разработаем драйвер, который берёт из БД текущие данные
да, это было бы кстати
17.12.2018 в 14:51 #10845Romiros
УчастникС текущими данными проблем нет. Сложнее с архивами и событиями. Проверка наличия файла тут не поможет. Решил писать в xml, с промежуточной копией, как посоветовал Михаил.
17.12.2018 в 17:20 #10847
MikhailМодераторВероятно, в этом году мы разработаем драйвер, который берёт из БД текущие данные
Войдёт в следующую версию.
17.12.2018 в 17:21 #10848
MikhailМодераторЯ вот думаю писать утилиту, который следить за файловой системой, как только появится новый файл с минутным архивом тут же записывает в БД.
Лучше заказать нам ))
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.