Тема: Алгоритм по топливу.
Осторожно длиннопост по топливу.
Немногие интеграторы используют несколько датчиков зажигания в объекте и/или несколько датчиков уровня топлива.
Но все же хотелось бы освежить эту тему, так как в этом случае есть "дырка" для того, что бы слить топливо.
Для примера возьмем бензовоз если ДУТы стоят как в баке шасси так и цистерне.
Для бака шасси и цистерны в текущий момент нельзя выставить разные настройки для фиксации слива и заправки. (мин объем заправки/слива и т.д.) хотя объемы баков различаются в разы.
Поэтому предлагаю изменение 1.
Перенести настройки из вкладки "Расход топлива" в датчик "Датчик уровня топлива" (Скрин 1).
Теперь возьмем за пример АДПМ. Там есть двигатель шасси со своим баком шасси.
И в кузове есть установка со своим баком.
Они не сообщаются. Это один объект в Wialon.
Установка в кузове работает только когда ТС стоит.
В текущем алгоритме если мы включим установку в кузове, то на весь объект применяется норма расхода топлива на эту установку допустим 50 л/ч.
Пока работает установка мы можем спокойно сливать топливо с бака шасси (главное чтобы скорость слива была меньше 50 л/ч). Хотя двигатель шасси не работает.
Поэтому предлагаю изменение 2.
В датчике уровня топлива выбирать несколько датчиков зажигания (потребителей) которые расходуют топлива именно из этого бака.
Почему несколько, потому что с одного бака могут потреблять топливо несколько двигателей. И норма для этого датчика уровня топлива для фиксации слива суммируется из норм расхода топлива л/ч именно выбранных датчиков зажигания а не всех датчиков зажигания на объекте.
При выполнении изменения 2 возникнет проблема как корректно вывести клиенту в таблицу "Моточасы" средний расход по расчету и потрачено по расчету, так как туда тоже будут попадать нормы всех датчиков зажигания.
Поэтому предлагаю изменение 2.1
В таблице моточасы в любом случае указываешь маску датчика зажигания и датчика уровня топлива.
Поэтому предлагаю в таблицу выводить расход по расчету по тем датчикам зажигания которые указаны в настройках датчика уровня топлива.
Почему так. Потому как с одного бака могут потреблять топливо к примеру два двигателя.
Мы выводим в таблицу моточасы одного двигателя, но в этот же момент работает второй двигатель и расход по расчету нужно выводить по норме расхода двух двигателей.
Если в масках датчиков в таблице моточасы отсутствует датчик уровня топлива то сделать расход по расчет указанных там датчиков зажигания.
Или сделать переключалку по какому критерию выводить расход по расчету.
В случае если будет много галочек и т.д. те интеграторы которые делают сложные объекты не боятся большого количества настроек. Главное, что бы было гибко и не давало сливать топливо. Они способны разобраться во всех галочках и настройках.
А те интеграторы которые не делают настолько сложные объекты, изменения 2 и 2.1 их не коснется, так как у них преимущественно один датчик уровня топлива в объекте и один датчик зажигания.