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 )
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)
Change History (13)
by , 3 weeks ago
| Attachment: | Визуализация аварии.png added |
|---|
comment:1 by , 3 weeks ago
| Description: | modified (diff) |
|---|
follow-up: 4 comment:2 by , 3 weeks ago
comment:4 by , 3 weeks ago
Я вижу здесь не одну, а две переменные - авария и маска. Я также вижу чекбокс в столбце "Макса" и на приложенной картинке. Уточни, пожалуйста, означает ли это, что кроме добавления отображения состояния переменной .26.1.1.0 для плат 6S-220 и 6S-BS требуется добавить еще и маску в ее конфигурацию?
Да все верно))).
follow-up: 11 comment:5 by , 3 weeks ago
При добавлении маски аварии в конфигурацию платы у меня возник вопрос.
Есть (как минимум) два возможных варианта:
- Добавить новую маску шестым значением к пяти уже существующим в элемент
<masks/>; - Добавить ее совершенно отдельно как новый независимый элемент.
Технологически реализовать вариант 1 намного проще, кроме того это более понятно и логично, когда все маски в одном месте. Но есть одна неприятность: существующий код при чтении конфигурации платы проверяет, что в данных элемента <masks/> ровно 5 значений. Таким образом, в варианте 1 будет нарушена обратная совместимость: swd старых ревизий будут игнорировать в конфиге элемент <masks/> с 6 значениями (созданный новыми ревизиями swd).
В этом связи у меня вопрос: допустимо ли нарушение обратной совместимости, о котором я написал выше, или надо реализовывать вариант 2?
follow-up: 7 comment:6 by , 2 weeks ago
Часто бывает, что пользователи докупают новые платы и ставят их в блоки с относительно старыми прошивками SW-01 и часто бывает, что обновить ПО SW-01 прямо сейчас они не могут, т.к. через блок идут рабочие каналы. В этом случае отсутствие обратной совместимости создаст пользователю некоторые трудности.
Поэтому, я за второй вариант голосую)
comment:7 by , 2 weeks ago
Replying to san:
Часто бывает, что пользователи докупают новые платы и ставят их в блоки с относительно старыми прошивками SW-01 и часто бывает, что обновить ПО SW-01 прямо сейчас они не могут, т.к. через блок идут рабочие каналы. В этом случае отсутствие обратной совместимости создаст пользователю некоторые трудности.
Какие?
Поэтому, я за второй вариант голосую)
Я не понял, почему "поэтому".
follow-ups: 9 10 comment:8 by , 2 weeks ago
Какие?
В данном случае, если я правильно понял, у пользователя не будут работать маски аварий, пока он не обновит SW-01.
Для обновления ему понадобится запросить "отключение канала" (уведомить другие службы о том что канал не будет работать некоторое время), а это бывает сложно, особенно если какой-нибудь ответственный процесс идёт (например огневые работы, если это Газпром).
comment:9 by , 2 weeks ago
Replying to san:
В данном случае, если я правильно понял, у пользователя не будут работать маски аварий, пока он не обновит SW-01.
:) Элементарная логика подсказывает, что эта трудность будет иметь место независимо от того, каким образом я реализую ее поддержку (ведь у пользователя-то этой поддержки нет вообще). Таким образом, данный пример не является аргументом ни в пользу первого, ни в пользу второго варианта. Но в любом случае спасибо за участие.
comment:10 by , 2 weeks ago
Replying to san:
В данном случае, если я правильно понял, у пользователя не будут работать маски аварий,
Подожди... Я только сейчас сообразил, что у нас же с самого рождения аппаратуры имеется механизм, позволяющий работать с заранее неизвестными переменными плат. В "Не распознанных переменных" появится поле ввода для новой переменной и кнопка "set" рядом с ним, с помощью которых пользователи смогут устанавливать маску даже без обновления swd. Так что нет, такой трудности не возникнет!
comment:11 by , 13 days ago
Replying to alx:
В этой связи у меня вопрос: допустимо ли нарушение обратной совместимости, о котором я написал выше, или надо реализовывать вариант 2?
Отсутствие ответа расцениваю как отсутствие возражений против выбора мной варианта 1.

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