Стартовая страница › Форумы › Разработка и интеграция › ModArcMSSql
- В этой теме 77 ответов, 5 участников, последнее обновление 2 года, 9 месяцев назад сделано
Mikhail.
-
АвторЗаписи
-
25.09.2023 в 13:59 #29810
JurasskParkУчастникМихаил, прошу прощения. Вопрос снят. Как всегда — сначала написал, потом подумал.
Вопрос был в том, что я через клиент — скачивал таблицы.
foreach (IBaseTable baseTable in configDatabase.AllTables) { client.DownloadBaseTable(baseTable); }А как получить структуру таблицы из модуля без client.DownloadBaseTable?
И теперь понял, что я забыл объявить переменную configDatabase = new ConfigDatabase(); 🙂26.09.2023 в 14:49 #29821
MikhailМодераторДоступ к базе конфигурации из модуля осуществляется из ServerContext
База уже загружена.02.10.2023 в 08:16 #29852
JurasskParkУчастникЯ немного запутался.
Вопрос №1. Можно ли обратиться из Module.View к ServerContext? Если да, то как? Я тупой. 😀
У меня клиент прописан в у модуля и для Logic и для View.Я понимаю, чтобы обратиться к interface, нужно создать Class, реализовать интерфейсы в нем ServerContext. Но если честно, я думал, что есть что-то попроще…
Объявить Manager, в нем объявить Storage… Вот как этот Storage инициализировать я опять не понял… Тупой. 😀
/// <summary> /// Reads the configuration database from the storage. /// </summary> private bool ReadConfigDatabase() { string tableTitle = CommonPhrases.UndefinedTable; try { configDatabase = new ConfigDatabase(); foreach (IBaseTable baseTable in configDatabase.AllTables) { tableTitle = baseTable.Title; storage.ReadBaseTable(baseTable); } tableTitle = CommonPhrases.UndefinedTable; configDatabase.Init(); DebugerLog(Locale.IsRussian ? "База конфигурации считана успешно" : "The configuration database has been read successfully"); return true; } catch (Exception ex) { DebugerLog(Locale.IsRussian ? "Ошибка при чтении базы конфигурации, таблица {0}" : "Error reading the configuration database, the {0} table"); return false; } }02.10.2023 в 08:21 #29853
JurasskParkУчастникХм… Была идея еще через BaseTableAdapter читать файл с диска…
Но не хочется писать костыли, если вы говорите, что всё уже есть.
Помогите, пожалуйста, как из Module.View обратиться к таблицам, чтобы их считать со значениями. =)02.10.2023 в 10:00 #29854
manjey73УчастникВот-вот, меня тоже интересовало, как можно запускать линию опроса во View 🙂
Но тут момент — Коммуникатор может быть на удаленной машине а не на том же сервере.
Значит надо городить свое каким-то образом.02.10.2023 в 10:23 #29855
JurasskParkУчастникmanjey73, в моём варианте проще. Так как module сервера… Хотя стоп… Администратор и проект всё равно на одном ПК находится.
P.S. я уже склоняюсь не мучиться и вернуть ScadaClient чтобы считывать конфигурацию…
02.10.2023 в 11:00 #29856
manjey73УчастникНу я примерно о том же когда-то спрашивал. Не важно, это Модуль или Драйвер, у него есть View, а доступа из View через штатные каналы связи вроде нет.
И могут ли штатные каналы связи работать без Коммуникатора?Меня конечно больше интересовал доступ к COM портам из View
02.10.2023 в 11:57 #29857
MikhailМодераторИз класса View модуля или драйвера можно получить базу конфигурации из открытого проекта. Из класса Logic модуля можно получить ту базу, которой оперирует Сервер.
View работает как часть приложения Администратор. Логика модуля или драйвера работает как часть службы. То есть приложения разные.
02.10.2023 в 12:00 #29858
JurasskParkУчастникВсё. Теперь понятно. Тогда возвращаю ScadaClient. 🙂
02.10.2023 в 19:03 #29865
JurasskParkУчастникhttps://youtu.be/VwQ8EEK8Mfg?si=1G55K8jKZBRhG-g2
Промежуточная версия.03.10.2023 в 14:34 #29869
MikhailМодераторТема стала длинной и начиналась с ModArcMSSql, поэтому я упустил, а что делает модуль ModConfigDatabaseMSSQLJP?
03.10.2023 в 15:30 #29873
JurasskParkУчастникТоже самое что и ModArcMSSql, только теперь данные текущие не складывает. 🙂
04.10.2023 в 14:07 #29874
MikhailМодераторЕсли модуль выгружает базу конфигурации в MSSQL, то можно рассмотреть вариант выполнить этот модуль в виде расширения для Администратора по аналогии с ExtDepPostgreSql.
В общем, что удобнее.-
Ответ изменён 2 года, 10 месяцев назад пользователем
Mikhail.
08.10.2023 в 23:45 #29914
JurasskParkУчастникМодуль подразумевает не только выгрузку, но еще и синхронизацию данных.
Пока сделал хранения данных в таблицах по типу:
— мгновенные значения
— тренды
— минутные
— часовые
— суточные
Данные передаются только мгновенные, а уже на основе их данные запись появляется в нужной таблице.
Думал, о том чтобы считать среднее у часовых или суточных… Но не знаю.
А вот писать значение, когда изменилось часовое или суточное… Я думаю это нужно, т.к. постоянная проблема с обнаружением, когда часовое на самом деле сформировалось, например, в 14:00 или 14:03, а может в 13:59.09.10.2023 в 13:55 #29918
baurУчастникЖелательно чтобы минутные данные тоже передавались из RapidSCADA, чтобы по любым спорным вопросам был только 1 источник истины.
-
Ответ изменён 2 года, 10 месяцев назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.