1

Добавление типа валидации "Исключающее И"

(27/05/2020 06:49:53 отредактировано Дмитрий Л)

Тема: Добавление типа валидации "Исключающее И"

Не хватает типа валидации "Исключающее логическое И".
Ранее перебивались добавлением дополнительного цифрового датчика, чтобы реализовать необходимое, но, во-первых, лишние датчики в свойствах объекта - это не нормально, и, во-вторых, при необходимости построения в отчете графиков по цифровым датчикам в общую кашу добавляется лишний не информативный датчик.
Используется подобная валидация там, где необходимо контролировать условие не только по прямому сигналу, но и по обратному.
Например, на тепловозах зажигание берем из сигнала запуска топливного насоса с валидацией по уровню напряжения сети/работе генератора (Логическое И). Для клиентов подобной техники важно так же отслеживать длительное включение топливного насоса без запуска двигателя, и тут как раз те же параметры, что и "Зажигание", но валидацию сделать по "Исключающее логическое И". Сейчас приходится создавать дополнительный датчик, чтобы инвертировать сигнал работы генератора.
Думаю, что и для Wialon полезнее создать дополнительный тип валидации, чем иметь кучу объектов с "лишними" датчиками.

ООО Инновационная компания "ДилЛайн"
www.dealline.ru
Дмитрий Ларионов
2

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

Дмитрий, добрый день. Дмитрий Л

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

---

что меня смущает:

1) сама задача не ясна, но я попробую ее сформулировать: вашим клиентам нужно отслеживать состояние, когда насос включен, но двигатель не запущен, так?

2) если да, то все равно нужно будет заводить два датчика, один основной, второй как валидатор. то есть не понимаю проблематикеи с дополнительным цифровым датчиком, его нужно будет создать в любом случае, если моя мысль из п1 верна.

3) что вы понимаете под "Исключащим И"? нет такой логической операции. есть логическая операция Исключающее ИЛИ, когда общая операция верна тогда и только тогда, когда ровно один из компонентов верен. но исходя из описания это, как мне кажется, не то что вам нужно.

могу еще много гипотез своих привести. так что лучше будет все-таки услышать первоисточника еще раз smile

Maria Starikova,
Wialon Hosting Product manager, Gurtam
3

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

Здравствуйте.
1) да.
2) второй датчик - это работа генератора, точнее отслеживание бортового напряжения (при зарядке)
3) запуск насоса с последующей работой генератора - это моточасы, работа двигателя; запуск насоса без запуска двигателя - перекачка топлива из баков; повышенное напряжение - это зарядка АКБ внешним источником. Исключающее И - это логический ноль при активных логических уровнях на обоих входах. В случае валидации нужно именно исключить активный датчик при активном валидаторе.

ООО Инновационная компания "ДилЛайн"
www.dealline.ru
Дмитрий Ларионов
4

Добавление типа валидации "Исключающее И"

(12/06/2020 14:37:57 отредактировано mitu)

Re: Добавление типа валидации "Исключающее И"

Добрый день, Дмитрий Л

это логический ноль при активных логических уровнях на обоих входах.

Вы имеете ввиду так ?

x | y | not(x & y)
--------------------
0 | 0 |    1
0 | 1 |    1
1 | 0 |    1
1 | 1 |    0
 
5

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

mitu пишет:

Добрый день, Дмитрий Л

это логический ноль при активных логических уровнях на обоих входах.

Вы имеете ввиду так ?

x | y | not(x & y)
--------------------
0 | 0 |    1
0 | 1 |    1
1 | 0 |    1
1 | 1 |    0
 

Да, "И-НЕ"
Может проще и универсальнее расширить варианты валидации с логическим "инвертированием" валидатора?

ООО Инновационная компания "ДилЛайн"
www.dealline.ru
Дмитрий Ларионов
6

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

параметр: <показание датчик>*<паказание валидаторе>
Таблица расчета: 0*0+1; 1*0+0

Тогда если "датчик" и "валидатор" "не 0" то результат будит "0"

Вам так нужно?

FFA0-0BBB-8911-15BB

https://www.reg.ru
7

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

RedRock пишет:

Вам так нужно?

Нет. Выше вполне достаточно описано, чтобы снова повторяться.

PS Это частный случай, который решили выложить в отдельную тему. Раньше было много подобных пожеланий, связанных с похожими ситуациями, где нужно было на одном объекте получить разные результаты при разных событиях, и приходилось делать дополнительные датчики, чтобы использовать их для валидации (например, в одном случае используется "единица" для валидации, а в другом случае этот же параметр нужен в инвертированном виде.

ООО Инновационная компания "ДилЛайн"
www.dealline.ru
Дмитрий Ларионов
8

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

Дмитрий Л пишет:
mitu пишет:

Добрый день, Дмитрий Л

это логический ноль при активных логических уровнях на обоих входах.

Вы имеете ввиду так ?

x | y | not(x & y)
--------------------
0 | 0 |    1
0 | 1 |    1
1 | 0 |    1
1 | 1 |    0
 

Да, "И-НЕ"
Может проще и универсальнее расширить варианты валидации с логическим "инвертированием" валидатора?

Это простое умножение в итоге, разве нет? А этот тип валидации есть.

9

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

SanderAMC пишет:
Дмитрий Л пишет:
mitu пишет:

Добрый день, Дмитрий Л

Вы имеете ввиду так ?

x | y | not(x & y)
--------------------
0 | 0 |    1
0 | 1 |    1
1 | 0 |    1
1 | 1 |    0
 

Да, "И-НЕ"
Может проще и универсальнее расширить варианты валидации с логическим "инвертированием" валидатора?

Это простое умножение в итоге, разве нет? А этот тип валидации есть.

А? Вы это ответственно заявляете? )

ООО Инновационная компания "ДилЛайн"
www.dealline.ru
Дмитрий Ларионов
10

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

Тьфу-тыж, вот что самоизоляция творит. smile Нет конечно, фигню написал.

11

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

Дмитрий, здравствуйте Дмитрий Л.
долго над вашим запросом думала. проблематика с созданием лишнего датчика, который используется для инвертирования значения, понятна.

получается, что сейчас в Wialon реализован не полный базис, есть операции И, ИЛИ, с помощью которых нельзя выразить ОТРИЦАНИЕ.
текущими типами валидации 97% кейсов покрывается (не нужно дополнительные датчики создавать), а чтобы покрыть эти 3% нам нужно не просто операцию НЕ добавить, но и И-НЕ, и ИЛИ-НЕ. реализовывать много и сложно, а охват использования минимальный.

поэтому наиболее вероятным вариантом реализации будет возможность при задании параметра использовать логические операции and, or, not, xor. если реализуем, то не нужно будет даже использовать валидатор. с цифровыми значениями формула в параметре будет выдавать необходимый результат. данное предложение помечаю себе.

как будут новости по реализации, дам знать.

Maria Starikova,
Wialon Hosting Product manager, Gurtam
12

Добавление типа валидации "Исключающее И"

(26/06/2020 10:03:59 отредактировано RedRock)

Re: Добавление типа валидации "Исключающее И"

mars, те если параметр 0 или меньше, то это false(0), а иначе true(1)?

FFA0-0BBB-8911-15BB

https://www.reg.ru
13

Добавление типа валидации "Исключающее И"

Re: Добавление типа валидации "Исключающее И"

RedRock не совсем понимаю, к чему вопрос.

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

например, вам нужно учитывать такую операцию: x & not(y). это по сути и есть И-НЕ. х - параметр датчика 1, y - параметр датчика 2. вот возможно задание именно такой формулы в параметре и поможет решить проблему Дмитрия.

Maria Starikova,
Wialon Hosting Product manager, Gurtam