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