Некорректное чтение кодов ошибок ВКТ-7 [10667]

Разве такой функционал уже не реализован?


Вопрос только в том как настроить данные два поля чтобы игнорировать все НС с кодом 80 ?

В технической поддержке производителя посоветовали воспользоваться более новым ПО для съема данных с ВКТ-7 - Менеджер данных v 1.2.11
Прилагаю скриншот таблицы данных из заводского ПО:


Как видно - ситуация по сравнению с VKTEasy не изменилась. Кодов ошибок как в ЛЭРС тут нет.
Еще раз обращу внимание на то, что это именно таблица данных, а не отчетная ведомость.

В архив ошибок ЛЭРС приходит как код НС прибора, так и код байта качества. Те самые ошибки ЛЭРС УЧЕТ с кодом 80, о которых идет речь, это значения кода байта качества. Если вы не хотите, чтобы ошибки ЛЭРС УЧЕТ с таким кодом для прибора ВКТ-7 участвовали в диагностике “Обнаружены события/ошибки устройства”, просто не включайте ее в этот список. Но обратите внимание, что если от прибора придет НС с таким же кодом, то она также будет проигнорирована.

Как уже писал выше, рассматриваемые ошибки ЛЭРС УЧЕТ с кодом 80 это на самом деле код байта качества. Если вы хотите, чтобы коды байта качества не сохранялись в архив ошибок при опросе прибора ВКТ-7, то создайте отдельное предложение в разделе Поддержка новых устройств.

Версия 3.48.4
Таблица с данными:

Ваш отчет просто ставит звездочку, вместо набора кодов НС.

В оригинальном отчете VKT7Easy2 коды НС. Т.е. на мой взгляд отчет никак не решает задачу - сделать отчет по ВКТ-7 с кодами НС

Из того что я вижу код 80, не единственная проблема.

Вот отчет из VKT7Easy2, от клиента
VKT

Вот отчет из ЛЭРСа по тому же прибору с кодами которые в таблице данных.

Также данные по этому объекту, можно посмотреть коды
Data_2022-10-21_0935.zip (7.1 КБ)

Отчет из заводской программы - читается легко с помощью руководства по эксплуатации для ВКТ-7 и соответствует индикации прибора. А отчет из ЛЭРСа требует дополнительной декодировки и не соответствует пользовательской документации на ВКТ-7.

:+1:

Но видимо в данном случае этого мало. Результат не может быть использован. Возможно есть пробелы в “протоколе обмена”. Тут есть необходимость Вам задать вопросы в Теплоком.

Давайте подытожим наше обсуждение. Вас не устраивает:

  1. Коды в ЛЭРС УЧЕТ (Таблица с данными → Архив ошибок → Код) не совпадают с кодами в заводской программе.
  2. Отчет по ВКТ-7 из Каталога отчетных форм не совпадает с отчетом в заводской программе.
  3. В Архив ошибок ЛЭРС УЧЕТ попадают ДС (байт качества) с кодом 80 или вовсе все ДС, которых нет в таблице/отчете заводской программы.

Если все вышеописанное верно, отвечу по каждому пункту:

  1. Код ошибки прибора является составным, то есть он состоит из номера ТВ + параметр + код. В ЛЭРС УЧЕТ в Архиве ошибок не поддерживаются составные коды, поэтому составной код хранится одним числом в поле Код Архива ошибок.
  2. Мы можем доработать данную отчетную форму так, чтобы она в точности повторяла отчет заводской программы. Уточните устроит ли вас такой вариант?
  3. Такой вопрос уже обсуждается в предложении Игнорировать при опросе ВКТ-7 НС/ДС с кодом 80.

Возможно я не до конца погрузился в документацию ВКТ7, но как расшифровать код ошибки ВКТ7 я не нашел. Прошу ссылку на эту информацию.

Кроме того. Получается для ВКТ7 коды ошибок имеют двойную упаковку служебной информацией.

Тот же самый архив в ЛЭРСе, без обработки параметры, DeviceErrorCodes и DeviceErrorDuratoins

Каждый код снабжен служебной информацией (архив / ввод / канал / код ). Назначение и расшифровку этой информации тоже не нашел. Есть только статья, где объясняют как от нее избавляться: Отображение событий на каждую метку времени
Поэтому также прошу дать ссылку на то, что обозначают конкретные коды в наборе “архив / ввод / канал …”
А также какое назначение несет добавление к кодам информации об “архив / ввод / канал …”? В моей практике эту информацию всегда обрезают.

Если Вы добавите в каталог в отчетную форму формирующую отчет как текущая версия VKT7Easy2, то это поможет многим пользователям. Только в отчете и коды ошибок должны соответствовать VKT7Easy2.

Мою задачу это не решит. У меня задача сделать универсальный отчет для разных типов приборов. У клиента СПТ, ТВ7 и ВКТ-7

На мой взгляд, это часть проблемы. Если она решится - отлично

Как именно расшифровать коды ошибок, которые сохраняются в архив ошибок после опроса ВКТ-7, будет приведено в готовящемся отчете, повторяющем в точности отчет заводской программы VKT7Easy2.

Расшифровку этих параметров можно найти по описанию в поле “Устройство для опроса” → “DeviceErrorDescription”. Соотнести информацию из этого поля с полем DeviceErrorCodes можно по значению “код”.

Отлично. Когда ожидать? И подробности перекодировки я бы попросил перенести в документацию, чтобы не расшифровывать код из отчетной формы.

Ваш совет мне не помог. Снова тот же отчет. Оставил только те дни, где есть ошибки и внизу значение из поля “Устройство для опроса” → “DeviceErrorDescription”

Вопросы:
Значение из поля DeviceErrorCodes - 10| |1|52; запись об этом же в поле DeviceErrorDescription “Архив: 10 - ‘Нештатные ситуации’, Тепловой ввод: 1, Канал: 1, Код: 52”

  1. Незаполненное поле - это Тепловой ввод: 1? А цифра “1” - тоже 1-ый, но ввод?
  2. Что обозначает “Архив: 10” и “Архив: 9”?
  3. код 52 трансформировался в “НС по параметру V1 ТВ1. Код: 4”, вот алгоритм этой расшифровки я и просил в начале сообщения

Давайте разберем ваш пример. Как известно из описания поля формата поля “DeviceErrorCodes” в нем хранится “архив | ввод | канал | код”. Описание значений этого поля хранится в поле “DeviceErrorDescription”, упомянутом мною ранее. Вы привели

  1. Да, незаполненное поле это “ввод” и там по логике должна стоять “1”. Мы обсудим с специалистом по отчетам причину отсутствия значения. Я сообщу результат обсуждения позже.
  2. Если присмотреться, то напротив Архив: 10 через символ “-” идет его расшифровка ‘Нештатные ситуации’.
  3. Ответ см. выше.

Сколько подробностей :slight_smile:

в поле DeviceErrorDescription вижу еще и сообщение “Архив: 9 - ‘Диагностические сообщения’”

Это же нумерация из ЛЭРСа? Хочется увидеть описание всех видов архивов. Можете сослаться на описание?

По вопросу отсутствия номер ввода была создана задача, исправляющая данный недочет. Как только она будет сделана, мы напишем в данной теме версию, в которой стоит ждать изменения.

Что касается списка архивов. Это действительно нумерация взятая из внутреннего перечисления которое присутствует в Lers Framework. Вот полный список элементов этого перечисления https://docs.lers.ru/fw/api/Lers.Data.DeviceEventArchiveType.html Здесь фигурирует полное описание. В отчете используется номер элемента в этом перечислении и краткое описание. Обратите внимание, что некоторые элементы этого перечисления используются для разных устройств. Например, обсуждаемые в текущей теме типы под номером 9 и 10 это элементы “Diagnostics” и “Incidents” соответственно. Как видно из их полного описания, они применимы также для “СПТ941.20”, а в случае элемента “Incidents” еще и для “СПГ761.1(2)”. Лучшим способом извлечения внутреннего описания (не путать с описанием по приведенной ссылке) является использовать описание из “DeviceErrorDescription”. Но если вам все таки хочется получить точно такое же описание самостоятельно, то вы можете сделать это из скрипта. Ниже приведен пример такого скрипта:

      var tt = Lers.Data.DeviceEventArchiveType.Diagnostics;
      label12.Text = Lers.Utils.EnumUtils.GetDescription(tt);

Вы не ответили на вопрос, когда можно получить отчет и расшифровку кода ВКТ-7, раз предполагается разбор кодов вручную в отчете. И когда появится отчет.

Ну прикладное значение поля “архив” можно найти. Но при получается для каждого типа прибора предварительно нужно собрать данные, статистику и выяснить, какие коды архивов используются в ЛЭРС Учете для конкретного прибора. При выяснении нужно поработать с Lers Framework. Хм…

Для ВКТ-7 оказалось 2 типа архивов: 10 - Нештатные ситуации, 9 - Диагностические сообщения. Но для другого прибора коды могут быть другие.

Есть ли где-то информация о том, какие типы архивов доступны в конкретных приборах.

А какое прикладное значение несут в коде “ввод” и “канал”? НС у Вас уже собраны по точкам учета. Мы отвязались от вводов и каналов на уровне описания устройства.
ЛЭРС Учет унифицирует устройства и данные, а тут явно нет унификации работы с НС

Кроме того, я не смог придумать ситуацию, когда коды “ввод” и “канал” потребуются. Можете привести пример?

В моей практике всегда приходится чистить значения от этой информации

Предварительно реализация данного отчета запланирована на версию 3.51.

Как уже писал ранее, штатный способ получения описания ошибки является использование “DeviceErrorDescription”. Описанный мною способ не является штатными запрашиваемой вами информации не существует.

Данный функционал разрабатывался достаточно давно и скорее всего информация по вводу и каналу была добавлена по запросу одного из пользователей. К сожалению у меня нет большого опыта разработки отчетных форм для различных организаций, поэтому подобного примера привести не могу.
Данный вопрос вам стоит вывести в отдельную тему, так как его лучше адресовать другим разработчикам отчетных форм и его обсуждение выходит за рамки текущей темы.

Изменения по ранее озвученной задаче отсутствия номера ввода будут доступны в следующем обновлении 3.49.3.

Добрый день!

Обновление 3.49.3 (сборка 34913) от 15.01.2023 доступно для установки.

В версии 3.49.3. появился отчет? А как мне получить расшифровку, не хочется вытаскивать информацию из скриптов?

Я писал ранее:

Как вы можете наблюдать в данной теме, никакой другой информации по реализации отчета в данной теме озвучено с нашей стороны небыло,

Никаких других способов, кроме озвученных выше, не существует.

Тогда что, касаемо этой темы появилось в версии 3.49.3?

По этой задаче в версии 3.49.3 появились соответствующие изменения.

Я думаю, текущая ситуация является наглядным примером того, почему у нас существует правило “один вопрос - одна тема”. Если бы оно соблюдалось, у вас бы не возникло проблемы с понимаем того, к чему относятся изменения в вышедшей версии.