Ответы в темах
-
АвторСообщения
-
OlegУчастникВот еще два скриншота: https://disk.yandex.ru/d/EOoV3SO2U9fE6Q
Это два разных ПК с одинаковой скадой и драйвером счетчика. На одном в параметрах пусто, на другом параметры без значений. Тоже баг?)
OlegУчастникЗдравствуйте, вот скриншоты: https://disk.yandex.ru/d/LdsaUedxJ363pQ
Проблема заключалась в том, что если указывать учетные данный счетчика User/111111 или Admin/222222 то имеем данную проблему.
Если не указывать — работает.
OlegУчастникЗдравствуйте. Последняя SCADA и драйвер. Счетчик Меркурий 230 ART2-03 PQRSIDN
В принципе не прочитать данные, сразу ошибки. Где копать?)2024-10-22 20:35:30 Сеанс связи с устройством [4] Меркурий230
2024-10-22 20:35:30 Ошибка при вызове метода Session устройства [4] Меркурий230:
System.Collections.Generic.KeyNotFoundException: The given key ‘Меркурий230_18 = SN_09314318 Изготовлен 24.09.2011_18’ was not present in the dictionary.
at System.Collections.Concurrent.ConcurrentDictionary`2.ThrowKeyNotFoundException(TKey key)
at System.Collections.Concurrent.ConcurrentDictionary`2.get_Item(TKey key)
at Scada.Comm.Drivers.DrvMercury23x.Logic.DevMercury23xLogic.Session()
at Scada.Comm.Engine.DeviceWrapper.Session()
OlegУчастникА какой утилитой можно посмотреть данные Исторического архива стандартного файлового архива RS?
OlegУчастникДа, запишите пожалуйста, было бы полезно иметь от драйвера обратную связь, выполнена команда или нет. Спасибо
OlegУчастникВ следующий раз так попробуем, через дополнительный архив.
Пока так сделали, работает. Модуль автоуправления отправляет команду пустую строковую через канал, у которого тег привязан в модулю экспорта. Также у канала выходная формула, которая формирует строковую команду с указанием времени экспорта текущее время минус 10с. Таким образом заданный массив каналов в модуле экспорта один раз пишется в БД в нужное время.
cmd=ExportArchive
startDT=2022-12-23 10:00:00
endDT=2022-12-23 11:00:00
С документацией и примерами тяжело конечно, много не понятно..
Например почему, не выполняется команда cmd=ExportArchive модулем экспорта если в этом модуле добавлен запрос и выбран тип «Исторические данные». Данная команда зааботала только тогда, когда поставили галочку включить Репликацию архивов.Большое спасибо за помощь и ответы, RS действительно очень гибкая и функциональная.
OlegУчастникТеперь просто перестало работать, по логам команда ушла и пришла, куда копать дальше?
2024-09-26 20:27:41 Модуль ModDbExport 6.1.0.0 запущен
2024-09-26 20:27:41 Запуск экспорта2024-09-26 20:27:41 Модуль ModAutoControl 6.1.0.1 запущен
2024-09-26 20:27:41 Проверка регистрации ModAutoControl: Регистрационный ключ действителен.
2024-09-26 20:27:41 Состояние модуля загружено
2024-09-26 20:28:00 Сработка триггера «Триггер 8»
2024-09-26 20:28:00 Отправка команды. Канал 10555
2024-09-26 20:28:00 Отправка команд триггера завершена———————————————————————————
2024-09-26 20:27:41 Экспортёр «[4] RapidDB_new_data_get» запущен
2024-09-26 20:28:00 Получена команда экспортёра: ExportArchiveНаименование : [4] RapidDB_new_data_get
Сервер БД : ExportDB2
Соединение : нормаТекущие данные
—————
Состояние : отключеноИсторические данные
——————-
Состояние : норма
В очереди : 0 из 1000
Экспортировано : 0
Пропущено : 0
OlegУчастникНет, все равно как-то неправильно работает. Если в команде указать время 14:01:00,
то экспорт будет в 14:02:00, потом в 14:04:00, далее в 14:06:00 и так далее, он не останавливается. Никаких других задач в модуле экспорта нет..
OlegУчастникcmd=ExportArchive
startDT=2022-12-23 10:00:00
endDT=2022-12-23 11:00:00Нашел на форуме про тег команды, экспорт по таймеру работает.
Только остался нюас 😉 Как время задавать динамически?
startDT= {Now} пройдет?
А если нужно текущее время минус полчаса, как это написать? Или надо отправить в канал 1, а в канале если пришла 1, то формировать тестовую команду? Она потом уйдет в модуль экспорта по тегу?
OlegУчастникМихаил, подскажите пожалуйста, где прочитать про «вызывать хранимую процедуру для экспорта текущих данных» и в ней игнорировать данные за ненужное время. Спасибо
OlegУчастникМихаил, спасибо за ответ, только пока ничего не ясно)
На какой канал надо посылать команду в МАУ? И какой текст надо в канале писать?
Формировать текст, это значит в нашем запросе заменять @cnlNum на {n} и т.д.?cmd=ExportArchive
startDT=2022-12-23 10:00:00
endDT=2022-12-23 11:00:00INSERT INTO counterpcs (cnlnum, datetime, val)
VALUES (@cnlNum, ADDTIME(@timestamp,30000.0), @val)
ON DUPLICATE KEY UPDATE cnlnum = @cnlNum, datetime = ADDTIME(@timestamp,30000.0), val = @val
OlegУчастникRomiros, спасибо. Т.е. если в Модуле импорта из БД плюс во вкладке Команды вставить такой запрос, то будет работать экспорт? @cnlNum и другие переменные этот модуль воспринимает?
INSERT INTO counterpcs (cnlnum, datetime, val)
VALUES (@cnlNum, ADDTIME(@timestamp,30000.0), @val)
ON DUPLICATE KEY UPDATE cnlnum = @cnlNum, datetime = ADDTIME(@timestamp,30000.0), val = @val
OlegУчастникНет, тут вопрос как записать в стороннюю БД mySQL текущие данные из SCADA 1 раз по триггеру?
В настройках модуля экспорта только или по изменению или по интервалу.Как вариант у нас есть выход создать копии каналов, которые надо экспортировать во внешнюю БД и с помощью скрипта в SCADA копировать значения нужных каналов в копию этих каналов. Модуль экспорта видит, что данные изменились и экспортирует данные во внешнюю БД. Есть два минуса — лишняя работа по созданию каналов, и во время перезагрузки сервера модуль экспорта в БД считает, что данные обновились и еще раз их экспортирует.
Есть более элегантное решение? Спасибо!
OlegУчастникДа, работает, спасибо!
OlegУчастникСпасибо! Попробую и отпишусь)
-
АвторСообщения