Opened 3 weeks ago

Closed 13 days ago

#781 closed задача (fixed)

Добавить новые прошивки плат 6S-48, 6S-24-48, 6S-220, 6S-BS и добавить аварию

Reported by: AlexLir Owned by: alx
Priority: средний Milestone: 1 очередь
Component: sw Keywords:
Cc:

Description (last modified by AlexLir)

6S-48 исполнение 1 ревизия 2
6S-24-48 исполнение 1 ревизия 2
6S-220 исполнение 1 ревизия 2
6S-BS исполнение 1 ревизия 2
файл прошивки на все платы один и тот же

В ревизии 2 появилась новая переменная.
.26.0 таблица на 1 строку - Авария: 220В выход за диапазон:
.26.1.1.0: RO, INT8 – Состояние (0-нет аварии, 1-есть авария)(Желтая авария);
.26.1.2.0: RW, INT8 – Маска (0-авария не замаскирована, 1-авария замаскирована)

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

  • для плат 6S-220 и 6S-BS, вывести эту аварию в таблицу аварий(как визуализировать приложил картинку).
  • для всех остальных плат эту переменную добавить в список известных.

Attachments (1)

Визуализация аварии.png (16.5 KB ) - added by AlexLir 3 weeks ago.

Download all attachments as: .zip

Change History (13)

comment:1 by AlexLir, 3 weeks ago

Description: modified (diff)

in reply to:  description ; comment:2 by alx, 3 weeks ago

Replying to AlexLir:

В ревизии 2 появилась новая переменная.
.26.1.1.0: RO, INT8 – Состояние (0-нет аварии, 1-есть авария)(Желтая авария);
.26.1.2.0: RW, INT8 – Маска (0-авария не замаскирована, 1-авария замаскирована)

Я вижу здесь не одну, а две переменные - авария и маска. Я также вижу чекбокс в столбце "Макса" и на приложенной картинке. Уточни, пожалуйста, означает ли это, что кроме добавления отображения состояния переменной .26.1.1.0 для плат 6S-220 и 6S-BS требуется добавить еще и маску в ее конфигурацию?

Так как прошивка одна и та же для перечисленных плат, то переменная добавилась у всех.

Строго говоря, я не вижу здесь логической связи - плата же "знает", какой у нее тип, поэтому ничто не мешает сделать разный набор переменных для разных типов плат и в одной прошивке. Но то, что ты сделал его одинаковым - это очень хорошо, мне так намного проще и удобнее делать поддержку в SW-01. Спасибо.

comment:3 by alx, 3 weeks ago

In 561/openembedded:

Новая прошивка плат 6S-48, 6S-24-48, 6S-220, 6S-BS
(ревизия 2). See #781.

in reply to:  2 comment:4 by AlexLir, 3 weeks ago

Я вижу здесь не одну, а две переменные - авария и маска. Я также вижу чекбокс в столбце "Макса" и на приложенной картинке. Уточни, пожалуйста, означает ли это, что кроме добавления отображения состояния переменной .26.1.1.0 для плат 6S-220 и 6S-BS требуется добавить еще и маску в ее конфигурацию?

Да все верно))).

comment:5 by alx, 3 weeks ago

При добавлении маски аварии в конфигурацию платы у меня возник вопрос.

Есть (как минимум) два возможных варианта:

  1. Добавить новую маску шестым значением к пяти уже существующим в элемент <masks/>;
  2. Добавить ее совершенно отдельно как новый независимый элемент.

Технологически реализовать вариант 1 намного проще, кроме того это более понятно, логично и удобно, когда все маски в одном месте. Но есть одна неприятность: существующий код при чтении конфигурации платы проверяет, что в данных элемента <masks/> ровно 5 значений. Таким образом, в варианте 1 будет нарушена обратная совместимость: swd старых ревизий будут игнорировать в конфиге элемент <masks/> с 6 значениями (созданный новыми ревизиями swd).

В этой связи у меня вопрос: допустимо ли нарушение обратной совместимости, о котором я написал выше, или надо реализовывать вариант 2?

Last edited 3 weeks ago by alx (previous) (diff)

comment:6 by san, 2 weeks ago

Часто бывает, что пользователи докупают новые платы и ставят их в блоки с относительно старыми прошивками SW-01 и часто бывает, что обновить ПО SW-01 прямо сейчас они не могут, т.к. через блок идут рабочие каналы. В этом случае отсутствие обратной совместимости создаст пользователю некоторые трудности.
Поэтому, я за второй вариант голосую)

in reply to:  6 comment:7 by alx, 2 weeks ago

Replying to san:

Часто бывает, что пользователи докупают новые платы и ставят их в блоки с относительно старыми прошивками SW-01 и часто бывает, что обновить ПО SW-01 прямо сейчас они не могут, т.к. через блок идут рабочие каналы. В этом случае отсутствие обратной совместимости создаст пользователю некоторые трудности.

Какие?

Поэтому, я за второй вариант голосую)

Я не понял, почему "поэтому".

comment:8 by san, 2 weeks ago

Какие?
В данном случае, если я правильно понял, у пользователя не будут работать маски аварий, пока он не обновит SW-01.
Для обновления ему понадобится запросить "отключение канала" (уведомить другие службы о том что канал не будет работать некоторое время), а это бывает сложно, особенно если какой-нибудь ответственный процесс идёт (например огневые работы, если это Газпром).

in reply to:  8 comment:9 by alx, 2 weeks ago

Replying to san:

В данном случае, если я правильно понял, у пользователя не будут работать маски аварий, пока он не обновит SW-01.

:) Элементарная логика подсказывает, что эта трудность будет иметь место независимо от того, каким образом я реализую ее поддержку (ведь у пользователя-то этой поддержки нет вообще). Таким образом, данный пример не является аргументом ни в пользу первого, ни в пользу второго варианта. Но в любом случае спасибо за участие.

in reply to:  8 comment:10 by alx, 2 weeks ago

Replying to san:

В данном случае, если я правильно понял, у пользователя не будут работать маски аварий,

Подожди... Я только сейчас сообразил, что у нас же с самого рождения аппаратуры имеется механизм, позволяющий работать с заранее неизвестными переменными плат. В "Не распознанных переменных" появится поле ввода для новой переменной и кнопка "set" рядом с ним, с помощью которых пользователи смогут устанавливать маску даже без обновления swd. Так что нет, такой трудности не возникнет!

in reply to:  5 comment:11 by alx, 13 days ago

Replying to alx:

В этой связи у меня вопрос: допустимо ли нарушение обратной совместимости, о котором я написал выше, или надо реализовывать вариант 2?

Отсутствие ответа расцениваю как отсутствие возражений против выбора мной варианта 1.

comment:12 by alx, 13 days ago

Resolution: fixed
Status: newclosed

In 2581/sw:

Платам 6S-220 и 6S-BS добавлена поддержка аварии
"220В выход за диапазон" и маски этой аварии.
Closes #781.

Note: See TracTickets for help on using tickets.