Wiki source code of Примеры заведения датчиков
Version 95.1 by Андрей Калиновский on 2025/08/14 14:55
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | ((( | ||
| 2 | {{html}} | ||
| 3 | <iframe width="720" height="405" src="https://rutube.ru/play/embed/647bb2b120bea2a7da88656d1fd84fd6/" frameBorder="0" allow="clipboard-write; autoplay" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> | ||
| 4 | {{/html}} | ||
| 5 | |||
| 6 | **Содержание страницы:** | ||
| 7 | |||
| 8 | |||
| 9 | {{toc/}} | ||
| 10 | |||
| 11 | |||
| 12 | ))) | ||
| 13 | |||
| 14 | = (% style="color:#000000; font-size:16px" %)**Простые датчики**(%%) = | ||
| 15 | |||
| 16 | == (% style="color:#000000; font-size:16px" %)**Зажигание** по дискретному входу(%%) == | ||
| 17 | |||
| 18 | [[image:image-20220519165301-1.png]] | ||
| 19 | |||
| 20 | |||
| 21 | == (% style="color:#000000; font-size:16px" %)**Зажигание** по аналоговому входу (датчик сработает при напряжении более > 6000 мВ)(%%) == | ||
| 22 | |||
| 23 | [[image:image-20220519165301-2.png]] | ||
| 24 | |||
| 25 | == (% style="color:#000000; font-size:16px" %)**Топливораздача** со счетного импульсного входа(%%) == | ||
| 26 | |||
| 27 | [[image:image-20220519165301-3.png]] | ||
| 28 | |||
| 29 | В зависимости от алгоритма подсчета импульсов терминалом выбирается тип тарировки «Накопитель» или «Разница от пред.». | ||
| 30 | |||
| 31 | Аналогичным образом создаются датчики проточных расходомеров топлива - в этом случае тип датчика следует выбрать «Расход топлива». | ||
| 32 | |||
| 33 | == (% style="color:#000000; font-size:16px" %)**Уровень зерна** полученный по интерфейсу RS485(%%) == | ||
| 34 | |||
| 35 | [[image:image-20220519165301-4.png]] | ||
| 36 | |||
| 37 | == (% style="color:#000000; font-size:16px" %)**Уровень топлива** полученный по интерфейсу RS485(%%) == | ||
| 38 | |||
| 39 | [[image:image-20220519165301-5.png]] | ||
| 40 | |||
| 41 | Значения **меньше, чем указано в первой строке и больше или равные указанному в последней строке считаются невалидными и игнорируются.** Рекомендуется в последней строке таблицы добавлять входное значение выше максимально возможного. Например 1024 или 4096 для датчиков которые максимально передают уровень топлива в диапазонах 0-1023 или 0-4095. Выходное значение можно рассчитать линейно. | ||
| 42 | |||
| 43 | == (% style="color:#000000; font-size:16px" %)**Температура прицепа **полученная по по интерфейсу 1-Wire(%%) == | ||
| 44 | |||
| 45 | [[image:image-20220519165301-6.png]] | ||
| 46 | |||
| 47 | |||
| 48 | == (% style="color:#000000; font-size:16px" %)**Датчик пробега**(%%) == | ||
| 49 | |||
| 50 | Для того, чтобы создать корректно работающий датчик пробега необходимо выбрать тип датчика **Датчик пробега**, указать тип тарировки **Таблица **и задать тарировку типа **0:0; 9999999:9999999**. Такая тарировка позволит корректно реагировать на те периоды, когда данные с датчика пробега не поступают в систему. | ||
| 51 | |||
| 52 | Датчик настроенный как на примере ниже позволит вам использовать его при расчете значения **Текущий пробег**, из вкладки нормы, а также рассчитывать начальный и конечный пробег. | ||
| 53 | |||
| 54 | [[image:image-20230607115954-1.png||height="600" width="615"]] | ||
| 55 | |||
| 56 | |||
| 57 | (% style="color:#000000; font-size:16px" %)**Датчик моточасов**(%%) | ||
| 58 | |||
| 59 | |||
| 60 | Данный тип датчика используется для замещения рассчитанного значения количества моточасов. | ||
| 61 | |||
| 62 | Во вкладке "Нормы" при настройке объекта есть строка "Расчет моточасов". Там вы можете выбрать значение из выпадающего списка. | ||
| 63 | |||
| 64 | [[image:https://redmine.glonasssoft.ru/attachments/download/18929/screenshot_1_1696932373.png]] | ||
| 65 | |||
| 66 | В списке три варианта: по датчику зажигания, по датчику моточасов и по датчику относительных моточасов: | ||
| 67 | |||
| 68 | по датчику зажигания: | ||
| 69 | |||
| 70 | * Текущие моточасы - расчет по времени работы датчика зажигания | ||
| 71 | * Моточасы в отчете - расчет по времени работы датчика зажигания | ||
| 72 | |||
| 73 | по датчику моточасов: | ||
| 74 | |||
| 75 | * Текущие моточасы - т.к. расчет происходит с некоторой периодичностью, то текущие моточасы в нормах рассчитываются как: (значение датчика на конец периода - значение на начало) + текущее значение моточасов. Если при расчете (значение датчика на конец периода - значение на начало) значение получается ниже нуля, то значение будет равно 0. | ||
| 76 | * Моточасы в отчете - рассчитываются моточасы за период по датчику. Моточасы на холостом ходу определяются как периоды, когда значение датчика моточасов изменялось в периоды события Стоянка. | ||
| 77 | |||
| 78 | по датчику относительных моточасов: | ||
| 79 | |||
| 80 | * Текущие моточасы - сумма полученных значений с датчика типа "Относительные моточасы". | ||
| 81 | * Моточасы в отчете - моточасы с учетом коэффициента, зависящего от величины оборотов двигателя. | ||
| 82 | |||
| 83 | Датчик с типом Относительные моточасы автоматически не заменяет значения в отчете. В отчете значения моточасов рассчитывать в зависимости от выбранного метода расчета. | ||
| 84 | |||
| 85 | Например - если выбран метод расчета по датчику зажигания, а у объекта есть датчики с типом Датчик моточасов и Датчик относительных моточасов, то в отчетах моточасы продолжат рассчитываться по датчику зажигания. | ||
| 86 | |||
| 87 | Метод расчета по умолчанию - по датчику зажигания. | ||
| 88 | В случае, если отсутствует выбранный датчик, то моточасы будут рассчитаны по времени движения. | ||
| 89 | \\(% style="color:#000000; font-size:16px" %)**Весовой датчик** | ||
| 90 | |||
| 91 | Для получения данных по отвесам необходимо создать датчик с типом **Весовой терминал**. | ||
| 92 | |||
| 93 | [[image:image-20230809160201-1.png||height="529" width="541"]] | ||
| 94 | |||
| 95 | |||
| 96 | Рекомендуем также указать тарировку** -1:-1, 99999:99999,** это позволит предупредить случаи появления сообщений без данных, что поможет избежать дублирования отвесов. | ||
| 97 | |||
| 98 | Для того, чтобы получать данные по взвешиваниям необходимо помимо датчика веса иметь rfid-считыватель. По rfid-метке два отвеса могут быть объединены в одно взвешивание, что позволит найти разницу в весе между ними. Для этого объект весовой, помимо датчика с типом **Весовой терминал**, должен иметь датчик с типом **RFID-водителя** и активной опцией** Постоянный сигнал RFID объекта рядом**. | ||
| 99 | |||
| 100 | |||
| 101 | == (% style="color:#000000; font-size:16px" %)**Датчик бортового напряжения**(%%) == | ||
| 102 | |||
| 103 | Для создания датчика бортового напряжения с целью отображения данных на графике необходимо указать тип датчика **"Произвольный"** и во вкладке "**Доп. настройки" **выбрать на каких графиках отображать данные (на графике объекта/ полезной нагрузки) и** **указать тип отрисовки **"Линия"**: | ||
| 104 | |||
| 105 | [[image:image-20240220123952-1.png]] | ||
| 106 | |||
| 107 | = (% style="color:#000000; font-size:16px" %)**Виртуальные**(%%) = | ||
| 108 | |||
| 109 | [[**Датчик зажигания **по бортовому напряжению>>doc:Панель управления.Раздел "Объекты".Настройка зажигания по напряжению.WebHome]] | ||
| 110 | |||
| 111 | |||
| 112 | == (% style="color:#000000; font-size:16px" %)**Подавление сигнала GNSS** полученное от терминала УМКа3хх(%%) == | ||
| 113 | |||
| 114 | [[image:image-20220519165301-7.png]] | ||
| 115 | |||
| 116 | |||
| 117 | Для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS меняет девятый бит. В датчике задаем выражение getbit(adc100,9) | ||
| 118 | |||
| 119 | {{html}} | ||
| 120 | <iframe width="720" height="405" src="https://rutube.ru/play/embed/27c07e59e69806e2cc8b793e16ffaed2/" frameBorder="0" allow="clipboard-write; autoplay" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> | ||
| 121 | {{/html}} | ||
| 122 | |||
| 123 | == (% style="color:#000000; font-size:16px" %)**Уровень топлива **с агрегирующей функцией суммирования или определения среднего значения.(%%) == | ||
| 124 | |||
| 125 | [[image:image-20220519165301-8.png]] | ||
| 126 | |||
| 127 | |||
| 128 | [[image:image-20220519165301-9.png]] | ||
| 129 | |||
| 130 | Агрегирующая функция «Сумма» применяется **при установке в каждый бак по одному датчику уровня топлива**. | ||
| 131 | |||
| 132 | Агрегирующая функция «Среднее» применяется **при установке в один бак нескольких датчиков уровня топлива**. | ||
| 133 | |||
| 134 | {{html}} | ||
| 135 | <iframe width="720" height="405" src="https://rutube.ru/play/embed/a8c1fa58924abb6cb4cf20a16e35ac81/" frameBorder="0" allow="clipboard-write; autoplay" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> | ||
| 136 | {{/html}} | ||
| 137 | |||
| 138 | **Уровень топлива **с валидацией по зажиганию | ||
| 139 | |||
| 140 | При использовании штатных датчиков топлива с инвертированной тарировочной таблицей возникает эффект когда при отключении зажигания напряжение с датчика падает в 0, что детектируется как полный бак. Для фильтрации можно использовать валидацию по датчику зажигания или по скорости. | ||
| 141 | |||
| 142 | Вложение базового датчика в виртуальный происходит через псевдоним который вам надо задать в базовом датчике. | ||
| 143 | |||
| 144 | Для этого создаем физические датчики зажигания и уровня топлива с указанием псевдонимов ign и fuel | ||
| 145 | |||
| 146 | [[image:image-20220519165301-10.png]] | ||
| 147 | |||
| 148 | [[image:image-20220519165301-11.png]] | ||
| 149 | |||
| 150 | Формулы используют ранее заданные псевдонимы датчиков. Для этого создаем виртуальный датчик уровня топлива с выражением **//if(ign, fuel, 0)//** - если включено зажигание то передаем топливо как есть, в противном случае передаем вместо него 0 (в случае с валидацией по скорости следует создать виртуальный датчик уровня топлива с выражением **//if(speed>10, fuel, 0)//** - если скорость более 10км/ч,то передаем топливо как есть, в противном случае передаем вместо него 0. В данной формуле **//speed //**- это параметр возвращающий скорость, список всех параметров приведен в статье [["Справочник функций и параметров виртуального датчика">>https://wiki.glonasssoft.ru/bin/view/%D0%9F%D0%B0%D0%BD%D0%B5%D0%BB%D1%8C%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D1%8B%D0%B5%20%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B8/%D0%A1%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%20%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9%20%D0%B8%20%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%B0/]]). Заполняем тарировочную таблицу 2-мя сточками - 0 - 0 и максимальный_объем_бака - максимальный_объем_бака, что будет отсекать 0 полученный из условия формулы. В результате система будет считать невалидным уровень топлива полученный при отключенном датчике зажигания. | ||
| 151 | |||
| 152 | [[image:image-20220519165301-12.png]] | ||
| 153 | |||
| 154 | == (% style="color:#000000; font-size:16px" %)**Уровень топлива **по датчику с изменившимся номером входа.(%%) == | ||
| 155 | |||
| 156 | Для этого создаем физические датчики с типом «Произвольный», тарировочными таблицами, старым и новым номерами входов и указанием псевдонимов fuel_old и fuel_new. | ||
| 157 | |||
| 158 | [[image:image-20220519165301-13.png]] | ||
| 159 | Затем создаем виртуальный датчик уровня топлива с выражением **//if(time > cdate('2021-12-22 00:00:00', 'yyyy-MM-dd HH:mm:ss'), fuel_new, fuel_old)//** - после 2021-12-22 00:00:00 (время по UTC) топливо отображается с нового ДУТ, а до этого времени включительно со старого ДУТ. | ||
| 160 | |||
| 161 | [[image:image-20220519165301-14.png]] | ||
| 162 | |||
| 163 | //Пример заведения аналогового датчика в статье [["Настройка аналогового ДУТ" >>https://wiki.glonasssoft.ru/bin/view/%D0%9F%D0%B0%D0%BD%D0%B5%D0%BB%D1%8C%20%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F/%D0%A0%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%20%22%D0%9E%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D1%8B%22/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0%20%D0%B0%D0%BD%D0%B0%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%20%D0%94%D0%A3%D0%A2/]]// | ||
| 164 | |||
| 165 | |||
| 166 | == Применение коэффициента к физическому датчику == | ||
| 167 | |||
| 168 | Если фактический уровень топлива отличается от отображаемого в системе, и нет возможности выполнить перетарировку бака транспортного средства, пользователь может применить коэффициент ко всему графику тарировки. | ||
| 169 | |||
| 170 | Для этого необходимо изменить тип физического датчика на Произвольный и присвоить ему псевдоним, например, Fuel. | ||
| 171 | [[image:image-20250203152419-5.png||height="620" width="635"]] | ||
| 172 | Затем следует создать виртуальный датчик с типом Уровень топлива и функцией Выражение. | ||
| 173 | В строке Формула нужно указать псевдоним физического датчика уровня топлива и ввести коэффициент, который будет применяться к значению. | ||
| 174 | [[image:image-20250203152359-4.png||height="629" width="635"]] | ||
| 175 | |||
| 176 | |||
| 177 | == Объединение двух бензобаков == | ||
| 178 | |||
| 179 | Если нужно отобразить на графике общий объём топлива в двух бензобаках, а так же отобразить на графике общий уровень топлива, то необходимо создать псевдонимы для этих баков, например, Fuel1 и Fuel2, выбрать тип датчика произвольный. | ||
| 180 | |||
| 181 | [[image:2025-03-28_14-14-26.png||height="409" width="809"]] | ||
| 182 | |||
| 183 | Во вкладке Доп.настройки выбрать тип Аналоговый/импульсный и поставить галочку где отображать показатель. | ||
| 184 | |||
| 185 | [[image:image-20250403151127-4.png]] | ||
| 186 | |||
| 187 | Создать виртуальный датчик уровня топлива с функцией выражения. Формула для расчёта: Fuel1+Fuel2 | ||
| 188 | |||
| 189 | [[image:image-20250403145659-1.png]] | ||
| 190 | |||
| 191 | В шаблонах "Заправка(уровень топлива)" и "Слив (Уровень топлива)" нужно выставить условия для корректировки перемещения топлива в баках в единицах, например 10 ед. | ||
| 192 | |||
| 193 | [[image:2025-03-28_14-16-38.png||height="343" width="462"]] [[image:2025-03-28_14-16-32.png||height="343" width="470"]] | ||
| 194 | |||
| 195 | Результатом будет отображаться график на котором будут линии обоих баков и общий уровень топлива. | ||
| 196 | |||
| 197 | [[image:image-20250403150157-2.png||height="250" width="926"]] | ||
| 198 | |||
| 199 |