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

Из того что я вижу код 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 появились соответствующие изменения.

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

Правило хорошее. Но эта тема - плохой пример.

Вы походу обсуждения нашли незначимую проблему для автора и меня неточность в ПО и решили ее. Ее устранение, не особо повлияло на “корректное чтение кодов ошибок ВКТ-7” :grinning:

Так как данный недочет был обозначен вами в текущей теме, то и задача была создана по ней:

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

Собственно поэтому данная тема является ярким примером необходимости соблюдения вышеупомянутого правила. Данное правило как раз и существует для избежания таких тем.

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

Т.е. если смотреть на таблицу данных ЛЭРС Учет из значения “Код” в “Описание”.

Ждать пока Вы выпустите следующую версию с новым отчетом нет возможности.

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

Мы анонсировали доработку отчета “ВКТ7_НС” из каталога, чтобы он полностью повторял отчет из заводской программы:

По поводу

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