Исходный код вики Примеры заведения датчиков
Версия 53.1 от Андрей Калиновский на 2024/07/11 11:35
Последние авторы
author | version | line-number | content |
---|---|---|---|
1 | (% class="wikigeneratedid" %) | ||
2 | |||
3 | |||
4 | ((( | ||
5 | **Содержание страницы:** | ||
6 | |||
7 | |||
8 | {{toc/}} | ||
9 | |||
10 | |||
11 | ))) | ||
12 | |||
13 | = (% style="color:#000000; font-size:16px" %)**Простые датчики**(%%) = | ||
14 | |||
15 | == (% style="color:#000000; font-size:16px" %)**Зажигание** по дискретному входу(%%) == | ||
16 | |||
17 | [[image:image-20220519165301-1.png]] | ||
18 | |||
19 | |||
20 | == (% style="color:#000000; font-size:16px" %)**Зажигание** по аналоговому входу (датчик сработает при напряжении более > 6000 мВ)(%%) == | ||
21 | |||
22 | [[image:image-20220519165301-2.png]] | ||
23 | |||
24 | == (% style="color:#000000; font-size:16px" %)**Топливораздача** со счетного импульсного входа(%%) == | ||
25 | |||
26 | [[image:image-20220519165301-3.png]] | ||
27 | |||
28 | В зависимости от алгоритма подсчета импульсов терминалом выбирается тип тарировки «Накопитель» или «Разница от пред.». | ||
29 | |||
30 | Аналогичным образом создаются датчики проточных расходомеров топлива - в этом случае тип датчика следует выбрать «Расход топлива». | ||
31 | |||
32 | == (% style="color:#000000; font-size:16px" %)**Уровень зерна** полученный по интерфейсу RS485(%%) == | ||
33 | |||
34 | [[image:image-20220519165301-4.png]] | ||
35 | |||
36 | == (% style="color:#000000; font-size:16px" %)**Уровень топлива** полученный по интерфейсу RS485(%%) == | ||
37 | |||
38 | [[image:image-20220519165301-5.png]] | ||
39 | |||
40 | Значения **меньше, чем указано в первой строке и больше или равные указанному в последней строке считаются невалидными и игнорируются.** Рекомендуется в последней строке таблицы добавлять входное значение выше максимально возможного. Например 1024 или 4096 для датчиков которые максимально передают уровень топлива в диапазонах 0-1023 или 0-4095. Выходное значение можно рассчитать линейно. | ||
41 | |||
42 | == (% style="color:#000000; font-size:16px" %)**Температура прицепа **полученная по по интерфейсу 1-Wire(%%) == | ||
43 | |||
44 | [[image:image-20220519165301-6.png]] | ||
45 | |||
46 | |||
47 | == (% style="color:#000000; font-size:16px" %)**Датчик пробега**(%%) == | ||
48 | |||
49 | Для того, чтобы создать корректно работающий датчик пробега необходимо выбрать тип датчика **Датчик пробега**, указать тип тарировки **Таблица **и задать тарировку типа **0:0; 9999999:9999999**. Такая тарировка позволит корректно реагировать на те периоды, когда данные с датчика пробега не поступают в систему. | ||
50 | |||
51 | Датчик настроенный как на примере ниже позволит вам использовать его при расчете значения **Текущий пробег**, из вкладки нормы, а также рассчитывать начальный и конечный пробег. | ||
52 | |||
53 | [[image:image-20230607115954-1.png||height="600" width="615"]] | ||
54 | |||
55 | |||
56 | (% style="color:#000000; font-size:16px" %)**Датчик моточасов**(%%) | ||
57 | |||
58 | |||
59 | Данный тип датчика используется для замещения рассчитанного значения количества моточасов. | ||
60 | |||
61 | Во вкладке "Нормы" при настройке объекта есть строка "Расчет моточасов". Там вы можете выбрать значение из выпадающего списка. | ||
62 | |||
63 | [[image:https://redmine.glonasssoft.ru/attachments/download/18929/screenshot_1_1696932373.png]] | ||
64 | |||
65 | В списке три варианта: по датчику зажигания, по датчику моточасов и по датчику относительных моточасов: | ||
66 | |||
67 | по датчику зажигания: | ||
68 | |||
69 | * Текущие моточасы - расчет по времени работы датчика зажигания | ||
70 | * Моточасы в отчете - расчет по времени работы датчика зажигания | ||
71 | |||
72 | по датчику моточасов: | ||
73 | |||
74 | * Текущие моточасы - т.к. расчет происходит с некоторой периодичностью, то текущие моточасы в нормах рассчитываются как: (значение датчика на конец периода - значение на начало) + текущее значение моточасов. Если при расчете (значение датчика на конец периода - значение на начало) значение получается ниже нуля, то значение будет равно 0. | ||
75 | * Моточасы в отчете - рассчитываются моточасы за период по датчику. Моточасы на холостом ходу определяются как периоды, когда значение датчика моточасов изменялось в периоды события Стоянка. | ||
76 | |||
77 | по датчику относительных моточасов: | ||
78 | |||
79 | * Текущие моточасы - сумма полученных значений с датчика типа "Относительные моточасы". | ||
80 | * Моточасы в отчете - моточасы с учетом коэффициента, зависящего от величины оборотов двигателя. | ||
81 | |||
82 | Датчик с типом Относительные моточасы автоматически не заменяет значения в отчете. В отчете значения моточасов рассчитывать в зависимости от выбранного метода расчета. | ||
83 | |||
84 | Например - если выбран метод расчета по датчику зажигания, а у объекта есть датчики с типом Датчик моточасов и Датчик относительных моточасов, то в отчетах моточасы продолжат рассчитываться по датчику зажигания. | ||
85 | |||
86 | Метод расчета по умолчанию - по датчику зажигания. | ||
87 | В случае, если отсутствует выбранный датчик, то моточасы будут рассчитаны по времени движения. | ||
88 | \\(% style="color:#000000; font-size:16px" %)**Весовой датчик** | ||
89 | |||
90 | Для получения данных по отвесам необходимо создать датчик с типом **Весовой терминал**. | ||
91 | |||
92 | [[image:image-20230809160201-1.png||height="529" width="541"]] | ||
93 | |||
94 | |||
95 | Рекомендуем также указать тарировку** -1:-1, 99999:99999,** это позволит предупредить случаи появления сообщений без данных, что поможет избежать дублирования отвесов. | ||
96 | |||
97 | Для того, чтобы получать данные по взвешиваниям необходимо помимо датчика веса иметь rfid-считыватель. По rfid-метке два отвеса могут быть объединены в одно взвешивание, что позволит найти разницу в весе между ними. Для этого объект весовой, помимо датчика с типом **Весовой терминал**, должен иметь датчик с типом **RFID-водителя** и активной опцией** Постоянный сигнал RFID объекта рядом**. | ||
98 | |||
99 | |||
100 | == (% style="color:#000000; font-size:16px" %)**Датчик бортового напряжения**(%%) == | ||
101 | |||
102 | Для создания датчика бортового напряжения с целью отображения данных на графике необходимо указать тип датчика **"Произвольный"** и во вкладке "**Доп. настройки" **выбрать на каких графиках отображать данные (на графике объекта/ полезной нагрузки) и** **указать тип отрисовки **"Линия"**: | ||
103 | |||
104 | [[image:image-20240220123952-1.png]] | ||
105 | |||
106 | = (% style="color:#000000; font-size:16px" %)**Виртуальные**(%%) = | ||
107 | |||
108 | {{video url="https://www.youtube.com/watch?v=T3alpKIQ4cE" width="50%"/}} | ||
109 | |||
110 | [[**Датчик зажигания **по бортовому напряжению>>doc:Панель управления.Раздел "Объекты".Настройка зажигания по напряжению.WebHome]] | ||
111 | |||
112 | |||
113 | == (% style="color:#000000; font-size:16px" %)**Подавление сигнала GNSS** полученное от терминала УМКа3хх(%%) == | ||
114 | |||
115 | [[image:image-20220519165301-7.png]] | ||
116 | |||
117 | |||
118 | Для терминалов УМКа3хх поле STATUS отображается в десятичном виде на входе *А(100), подавление сигнала GNSS меняет девятый бит. В датчике задаем выражение getbit(adc100,9) | ||
119 | |||
120 | {{video url="https://youtu.be/8i1A0xIBBpc" width="50%"/}} | ||
121 | |||
122 | == (% style="color:#000000; font-size:16px" %)**Уровень топлива **с агрегирующей функцией суммирования или определения среднего значения.(%%) == | ||
123 | |||
124 | [[image:image-20220519165301-8.png]] | ||
125 | |||
126 | |||
127 | [[image:image-20220519165301-9.png]] | ||
128 | |||
129 | Агрегирующая функция «Сумма» применяется **при установке в каждый бак по одному датчику уровня топлива**. | ||
130 | |||
131 | Агрегирующая функция «Среднее» применяется **при установке в один бак нескольких датчиков уровня топлива**. | ||
132 | |||
133 | {{video url="https://youtu.be/hLFIcktZ9EM" width="50%"/}} | ||
134 | |||
135 | |||
136 | **Уровень топлива **с валидацией по зажиганию | ||
137 | |||
138 | При использовании штатных датчиков топлива с инвертированной тарировочной таблицей возникает эффект когда при отключении зажигания напряжение с датчика падает в 0, что детектируется как полный бак. Для фильтрации можно использовать валидацию по датчику зажигания. | ||
139 | |||
140 | |||
141 | Для этого создаем физические датчики зажигания и уровня топлива с указанием псевдонимов ign и fuel | ||
142 | |||
143 | [[image:image-20220519165301-10.png]] | ||
144 | |||
145 | [[image:image-20220519165301-11.png]] | ||
146 | |||
147 | Затем создаем виртуальный датчик уровня топлива с выражением **//if(ign, fuel, 0)//** - если включено зажигание то передаем топливо как есть, в противном случае передаем вместо него 0. Заполняем тарировочную таблицу 2-мя сточками - 0 - 0 и максимальный_объем_бака - максимальный_объем_бака, что будет отсекать 0 полученный из условия формулы. В результате система будет считать невалидным уровень топлива полученный при отключенном датчике зажигания. | ||
148 | |||
149 | [[image:image-20220519165301-12.png]] | ||
150 | |||
151 | == (% style="color:#000000; font-size:16px" %)**Уровень топлива **по датчику с изменившимся номером входа.(%%) == | ||
152 | |||
153 | Для этого создаем физические датчики с типом «Произвольный», тарировочными таблицами, старым и новым номерами входов и указанием псевдонимов fuel_old и fuel_new. | ||
154 | |||
155 | [[image:image-20220519165301-13.png]] | ||
156 | Затем создаем виртуальный датчик уровня топлива с выражением **//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) топливо отображается с нового ДУТ, а до этого времени включительно со старого ДУТ. | ||
157 | |||
158 | [[image:image-20220519165301-14.png]] | ||
159 | |||
160 | //Пример заведения аналогового датчика в статье [["Настройка аналогового ДУТ" >>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/]]// | ||
161 | |||
162 |