Стартовая страница › Форумы › Разработка и интеграция › Драйвер счетчика Меркурий 230, 231, 232, 233, 236
- В этой теме 303 ответа, 18 участников, последнее обновление 1 месяц, 3 недели назад сделано manjey73.
-
АвторСообщения
-
17.06.2024 в 19:56 #33071baurУчастник
Потом есть вот такая ошибка, похоже на другие но есть дополнительная строка
at System.Collections.Generic.Dictionary 2.get_Item(TKey key)Полный текст:
2024-06-17 16:38:52 Ошибка при вызове метода Session устройства [4] РП4 Ввод-1 Яч.#19:
System.Collections.Generic.KeyNotFoundException: The given key ‘Status’ was not present in the dictionary.
at System.Collections.Generic.Dictionary
2.get_Item(TKey key)
at Scada.Comm.Drivers.DrvMercury23x.Logic.DevMercury23xLogic.Session()
at Scada.Comm.Engine.DeviceWrapper.Session()18.06.2024 в 07:13 #33074baurУчастник18.06.2024 в 10:30 #33078manjey73УчастникОшибку статуса тоже поймал. Сейчас нет света дома, и на один из запрос такая ошибка выскакивает. Буду разбираться.
Спасибо за инфу. Вижу, что счетчики без Тарификатора (AR). Возможно некоторые запросы просто не поддерживаются. Надо будет проверить по документации.
На работе как раз 236-й имеется. Буду искать причины.18.06.2024 в 10:31 #33079manjey73УчастникХотя странно, в наименовании ART, а тип указан AR…
18.06.2024 в 12:15 #33087manjey73УчастникПосмотрел свой код, и не нашел там тега Status. Это точно встроенный тег в Коммуникатор.
Есть подозрение, почему на него возникает ошибка. Вопрос только смогу ли я малой кровью это исправить без глобальной переделки логики драйвера.Ее конечно надо переделывать в связи с переходом на имена тегов в 6-й версии по хорошему. Главное найти на это время…
19.06.2024 в 06:33 #33093baurУчастникСпасибо за ответы
Тут создал новый тикет про Встроенные формулы в драйвере
Для подобных задач хорошо было бы новой системный формулы DataTag вместо DataRel, где будет 2 аргумента код устройства и код тега, когда позиция канала строго не зафиксирована
19.06.2024 в 08:31 #33095manjey73УчастникУглы между фазами вроде присутствуют, можно активировать в шаблоне.
Суммы мощностей вроде тоже должны быть в ответах.Основной проблемой в 5-й версии была привязка к индексам тегов, после запуска драйвера. При попытках отключить из опроса каких-то параметров съезжали привязки. Приходилось это обходить окольными путями.
При переносе на 6-ю видимо где-то и зарылась собака, которую сложно найти.Так что быстро прямо не ждите, начал потихоньку разбираться, не знаю, что из этого получится.
- Этот ответ был изменен 2 месяца, 3 недели назад от manjey73.
19.06.2024 в 11:19 #33101manjey73УчастникЗаменил отправку данных с индекса на DiviceTag, но подозреваю, что не сильно поможет в случае получения ошибочных данных. В части выскакивания исключения может не помочь.
Как назло не выдает исключения, чтобы поймать…
19.06.2024 в 14:15 #33102baurУчастник19.06.2024 в 14:22 #33103baurУчастникОпрос не идет
Отбой, у нас как раз пинг пропал
19.06.2024 в 14:44 #33106manjey73УчастникМожет Михаил что подскажет, как защититься от Исключения, которое вызывается самим Коммуникатором?
У меня тоже было исключение по поводу тега Status, в коде драйвера он никак не фигурирует, его формирует сам Коммуникатор или его механизм, при запуске драйвера.
19.06.2024 в 17:27 #33108manjey73УчастникЧуть подправил чтение профилей мощности. Запустил дома на тест…
20.06.2024 в 06:54 #33109baurУчастникLog драйвера TEST_DrvMercury23x_6002.zip
[1] Меркурий ------------ Статус : норма Канал связи : TCP-клиент Общие данные (20) ----------------- Меркурий236_2 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_91 = SN_29901891 Изготовлен 19.02.2017 Время архива 01.01.0001 0:00:00 Меркурий236_20 = SN_29901905 Изготовлен 19.02.2017 Время архива 01.01.0001 0:00:00 Меркурий236_10 = SN_29902166 Изготовлен 19.02.2017 Время архива 01.01.0001 0:00:00 Меркурий236_12 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_25 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_11 = SN_48411611 Изготовлен 29.05.2023 Время архива 01.01.0001 0:00:00 Меркурий236_14 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_24 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_37 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_8 = SN_26933623 Изготовлен 03.06.2016 Время архива 01.01.0001 0:00:00 Меркурий236_13 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_5 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_16 = SN_48411616 Изготовлен 29.05.2023 Время архива 01.01.0001 0:00:00 Меркурий236_4 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_26 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_19 = SN_29901926 Изготовлен 19.02.2017 Время архива 01.01.0001 0:00:00 Меркурий236_15 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Меркурий236_18 = SN_21991912 Изготовлен 02.02.2015 Время архива 20.06.2024 9:30:00 Меркурий236_17 = SN_0 Изготовлен 01.01.0001 Время архива 01.01.0001 0:00:00 Устройства (20) --------------- [1] РП2 Ввод-1 Яч.#2 : не определён [2] РП2 Ввод-2 Яч.#19 : не определён [3] РП4 Ввод-1 Яч.#2 : не определён [4] РП4 Ввод-1 Яч.#19 : не определён [5] РП7 Ввод-1 Яч.#1 : не определён [6] РП7 Ввод-1 Яч.#4 : не определён [7] РП11 Ввод-1 Яч.#15 : не определён [8] РП11 Ввод-1 Яч.#26 : не определён [9] РП12 Ввод-1 Яч.#15 : не определён [10] РП12 Ввод-1 Яч.#26 : не определён [11] РП13 Ввод-1 Яч.#15 : не определён [12] РП13 Ввод-1 Яч.#24 : не определён [13] РП14 Ввод-1 Яч.#8 : не определён [14] РП14 Ввод-1 Яч.#1 : норма [15] РП15 Ввод-1 Яч.#7 : не определён [16] РП15 Ввод-1 Яч.#2 : не определён [17] РП1 Ввод-1 Яч.#2 : не определён [18] РП1 Ввод-2 Яч.#19 : не определён [19] РП3 Ввод-1 Яч.#2 : не определён [20] РП3 Ввод-1 Яч.#19 : не определён
Есть 3 вида ошибки:
2024-06-20 08:39:32 Ошибка при вызове метода Session устройства [4] РП4 Ввод-1 Яч.#19: System.Collections.Generic.KeyNotFoundException: The given key 'Status' was not present in the dictionary. at System.Collections.Generic.Dictionary 2.get_Item(TKey key) at Scada.Comm.Drivers.DrvMercury23x.Logic.DevMercury23xLogic.Session() at Scada.Comm.Engine.DeviceWrapper.Session()
2024-06-20 08:44:50 Ошибка при вызове метода Session устройства [16] РП15 Ввод-1 Яч.#2: System.Collections.Generic.KeyNotFoundException: The given key 'Status' was not present in the dictionary. at Scada.Comm.Drivers.DrvMercury23x.Logic.DevMercury23xLogic.Session() at Scada.Comm.Engine.DeviceWrapper.Session()
2024-06-20 08:38:37 Ошибка при вызове метода Session устройства [15] РП15 Ввод-1 Яч.#7: System.ArgumentOutOfRangeException: Year, Month, and Day parameters describe an un-representable DateTime. at System.DateTime..ctor(Int32 year, Int32 month, Int32 day, Int32 hour, Int32 minute, Int32 second) at Scada.Comm.Drivers.DrvMercury23x.Logic.DevMercury23xLogic.Session() at Scada.Comm.Engine.DeviceWrapper.Session()
Еще 1 момент, время от времени статус от не определён меняется на ошибка и опрос останавливается кроме Меркурий 230 ART-00 PQSIDN, тот всегда норма
20.06.2024 в 07:08 #33110baurУчастникЕще 1 момент, время от времени статус от не определён меняется на ошибка и опрос останавливается кроме Меркурий 230 ART-00 PQSIDN
Вот тут ночью опрос остановился, статус выдал ошибка, опрос возобновился только после перезапуска линий
line001.log (лог до перезапуска)
20.06.2024 в 08:53 #33111manjey73Участник[15] РП15 Ввод-1 Яч.#7 — вот этот вот счетчик, точная его модификация ?
По поводу Статуса написал Михаилу, может подскажет как его поймать.
У вас показания все в ваттах и вольтамперах и это на ячейках трансформаторов?
Там есть параметры range (надо бы на multiplier поменять множитель) его можно использовать, ну и наименования поменять тогда в кВатты и т.д. как вам надо)- Этот ответ был изменен 2 месяца, 3 недели назад от manjey73.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.