“Скрипт CSS (efficiency cylinders)” в контексте диагностики — это не про красивую визуализацию, а про измеряемую разницу эффективности между цилиндрами по нагрузочным режимам. Когда мотор “вроде тянет”, а расход уже ползет вверх, причина часто в деградации компрессии/воспламенения/наполнения, и это видно именно по разбросу вклада цилиндров в работу. Грамотный CSS-скрипт переводит сырые данные (IMEP/угловые коррекции/индикаторные оценки) в сравнимый показатель, который можно валидировать по коррекциям, MAF/MAP и по трендам во времени.
Что такое CSS и почему он работает
CSS (Cylinder Efficiency Score/Script) — рабочая методика оценки “эффективности цилиндров”. Суть: вместо того чтобы гадать по пропускам зажигания и одиночным пропускам, мы оцениваем вклад каждого цилиндра в создание крутящего момента. На практике источники данных различаются:
- по факту: коррекции по топливу (STFT/LTFT и per-cylinder fuel trims),
- по искре: вариации dwell/катушек и наличие misfire events,
- по механике: признаки потери объема (падение наполнения) и различия в реакциях на нагрузку,
- по датчикам давления/индикаторным моделям (если есть): вычисленная IMEP по цилиндрам или приближенная “эффективность”.
Эффективность цилиндра обычно падает при трех группах причин: воспламенение (катушка/свеча/форсунка/топливо/давление), механика (компрессия/утечка/клапан), наполнение (EGR/впуск/турбина/прокладки/PCV). CSS помогает отсечь “просто шум” и вывести систематику.
Какие данные нужны для CSS-диагностики
Минимальный набор для полезного результата:
- развертка по цилиндрам: per-cylinder misfire counts или per-cylinder fuel trim (лучше, если есть и то и другое);
- режим: обороты, нагрузка (TPS/MAF или MAP), положение распределительных (если доступно), температура ОЖ/впускного;
- временные метки/лог-окна: чтобы правильно усреднять (например, по циклам ускорения);
- данные по коррекциям: STFT/LTFT, адаптации форсунок (если доступны), коррекция по ХХ;
- диагностические флаги: пропуски зажигания, детонация/Knock, режим отсечки, работа EVAP, EGR.
Идеально, когда CSS-скрипт привязывает оценку цилиндров к “похожим” условиям: одинаковая нагрузка в пределах ±3–5%, стабильные обороты (например, 2100–2600 rpm в течение окна), температура в коридоре ±10°C.

Принцип расчета “эффективности цилиндров” в скрипте
Типовая модель CSS строится вокруг нормализованного отклика цилиндра. Если у вас нет индикаторного давления по цилиндрам, используют коррекционные индикаторы:
- при снижении эффективности цилиндра ЭБУ обычно увеличивает топливоподачу (в пределах лимитов) и/или накапливает адаптацию,
- пропуски зажигания растут на конкретных цилиндрах в определенных нагрузочных зонах,
- при проблемах наполнения падение будет более “глобальным”, но с разной чувствительностью цилиндров из-за геометрии впуска/форсунок/теплового режима.
Практическая формула для одного окна (упрощенная, но рабочая):
- CSI[c] (Cylinder Score) = w1 * (abs(FCorr[c])) + w2 * (MisfireRate[c]) + w3 * (KnockPenalty[c]) + w4 * (TrimDelta[c])
- где FCorr — относительная топливная/угловая коррекция по цилиндру (нормализованная к базовой зоне), MisfireRate — пропуски/сек или на 1000 циклов, TrimDelta — разница адаптации относительно среднего.
Затем скрипт делает ранжирование и рассчитывает метрики:
- Spread = max(CSI) — min(CSI)
- CV = std(CSI)/mean(CSI)
- Consistency = доля окон, где один и тот же цилиндр входит в “хвост” (например, худшие 20%).
Именно Consistency снижает ложные срабатывания из-за разовых событий (например, плохой бензин, разовый пропуск из-за сырой свечи после холодного старта, кратковременный провал давления топлива).
Пошаговый алгоритм CSS-диагностики в логах
Ниже — рабочий порядок действий, который реально экономит время на разборе причин.
- Выберите режим съемки: короткое “пилообразное” ускорение без детонации и без переходов по режимам (например, 2000→2600 rpm, дроссель 25–45%). Окна по 8–15 секунд.
- Фильтр по качеству: исключите окна с активной EVAP purge, активной регенерацией (если дизель), сильным обогащением по IAT (ниже -10…+10°C порога по вашей машине), режимом отсечки.
- Нормализация: для каждого окна нормализуйте CSI к среднему по цилиндрам (чтобы компенсировать “глобальный” фактор типа низкого давления топлива).
- Агрегация по времени: сложите 5–10 окон, вычислите Spread и CV.
- Классификация:
- Если 1 цилиндр “уходит” стабильно (Consistency > 0.7) — вероятнее локальная причина: свеча/катушка/форсунка/клапан.
- Если провал распределен группой (например, 2-4 цилиндры) — вероятнее залив/низкое давление топлива/впускной коллектор с утечкой/подсос в общем тракте.
- Если разброс растет с оборотами, но исчезает на холостом — ищите проблемы искры под нагрузкой или динамику наполнения.
- Перекрестная проверка:
- сопоставьте “плохие” цилиндры с per-cylinder fuel trim (обычно коррекция положительная на проблемном),
- сопоставьте с датчиками температуры головки/цилиндра (если есть термодатчики) или косвенными признаками теплового разгона (IAT/ECT),
- посмотрите STFT/LTFT: при механике коррекции часто “упираются” в лимит, при топливе — будут более ровные изменения по всем цилиндрам.
- Тест подтверждения:
- для свечей/катушек: swap компонентов между цилиндрами и повтор CSS;
- для форсунок: форсунки чаще дают сдвиг в fuel trim и иногда в misfire в конкретной зоне;
- для компрессии: делайте замер после подтверждения (dry/wet test), но CSS экономит время на выборе “какой цилиндр мерить”.
Цифры и пороги, которые используются в цехе
Пороги зависят от модели ЭБУ и формата данных, но практические ориентиры такие:
- Spread CSI:
- до 0.20 (нормально для адекватного бензина и корректных свечей),
- 0.20–0.40 (зона диагностики: часто катушка/форсунка/свеча или EGR “подвисает”),
- > 0.40 (почти всегда есть конкретный проблемный цилиндр или реальная топливная/механическая просадка).
- CV CSI:
- < 0.15 — разница статистически слабая,
- 0.15–0.25 — вероятна частичная деградация (надо проверять рядом стоящие параметры),
- > 0.25 — симптом локальной неисправности с высокой долей вероятности.
- Consistency (доля окон, где цилиндр в топ-20 по “плохости”):
- < 0.4 — шум/случайные события (например, разовый пропуск),
- 0.4–0.7 — “на грани”, возможны плавающие проблемы (контакт, утечка вакуума, нестабильное давление),
- > 0.7 — почти всегда можно идти в “адресную” проверку компонента.
Сравнение сценариев неисправностей по “паттернам CSS”
| Паттерн по цилиндрам | Вероятная причина | На что смотреть в логах |
|---|---|---|
| 1 цилиндр стабильно хуже | свеча/катушка/форсунка/подвисание клапана/утечка | per-cylinder misfire/fuel trim, стабильное смещение CSI |
| Слабее 2 цилиндра на одной стороне | форсунки одной рампы/катушки блока/тепловая зона | синхронные коррекции STFT и цилиндровые, провал при прогреве |
| Провал группы (2–4 цилиндра) | низкое давление топлива, подсос во впуске, EGR/DPF режим | STFT/LTFT одновременно, MAF/MAP несоответствие расчету, рост CV |
| Разброс растет под нагрузкой, на ХХ меньше | искра под нагрузкой, динамика форсунки, турбулентность впуска | рост misfire rate с оборотами, коррекции “догоняют” при TPS > 30% |
| Сильно “скачет” между окнами | контакт/плавающая утечка/нестабильное давление топлива | Consistency низкая, но Spreads всплесками |
Частые ошибки при внедрении CSS-скрипта
- Смешивание режимов: брать окна вперемешку с ХХ, ускорением и частичной отсечкой. В итоге CSI “ловит” режимы ЭБУ, а не цилиндры.
- Отсутствие нормализации: если CSI считается без учета среднего по цилиндрам в окне, глобальная проблема топлива/впуска маскирует локальную.
- Слишком короткие окна: < 3–4 секунд дает статистический шум. На практике 8–15 секунд на окно дают стабильнее CV.
- Игнорирование температуры: на холодную топливные коррекции и воспламенение меняются нелинейно; “плохие цилиндры” могут меняться по факту прогрева.
- Недооценка EGR: на двигателях с EGR провал по наполнению может быть “временным” и не равномерным по цилиндрам из-за распределения в коллекторе.
- Сведение misfire к нулю: на некоторых ЭБУ misfire логируется с задержкой или в пределах допусков. CSS должен опираться не только на misfire counts.
Практический лайфхак из опыта
Когда CSS показывает один “самый плохой” цилиндр, прежде чем мерить компрессию, сделайте короткий повторный заезд с тем же профилем нагрузки, но с принудительной сменой теплового состояния: 2–3 минуты подержать 1800–2000 rpm без резких разгонов, затем тот же участок 2000→2600 rpm. Если цилиндр “плывет” вместе с температурой (Consistency падает), это чаще указывает на плавающую искру/свечу/контакт или нестабильную форсунку, а не на жесткую компрессию. Если же цилиндр остается худшим при разной температуре впуска/головки (Consistency держится > 0.7), тогда компрессию и утечки уже меряйте адресно — экономите 30–60 минут и не ломаете распорядок по очереди автомобилей.
Как выглядит “скрипт” по инженерному смыслу (без привязки к конкретному ПО)
С технической стороны CSS-скрипт обычно реализует такие этапы:
- Парсинг лога в единый временной базис (выравнивание по timestamp или по шагу частоты данных).
- Сегментация на окна по критериям режима (rpm band, load band, стабильность TPS/MAF/MAP).
- Извлечение per-cylinder сигналов и расчет нормализованных метрик.
- Фильтрация по детонации/ограничениям (если есть knock activity, помечайте окна).
- Ранжирование цилиндров, расчет Spread/CV/Consistency.
- Сводная таблица “окно → метрики → цилиндры-хвост” и вывод паттерна неисправности.
Реальный пример разбирательства по CSS
Ситуация: автомобиль “тянет”, но при 80–120 км/ч расход +0.8–1.2 л/100 км. В логе под нагрузкой CSS дал: цилиндр №3 имеет CSI на 0.45–0.62 выше остальных в 8 из 10 окон (Consistency 0.8). CV всего набора 0.29. При этом STFT был в положительном диапазоне +6…+10% и пер-цилиндровая fuel trim на цилиндре №3 стабильно выше среднего.
Тест подтверждения: заменили местами катушки между №3 и №1. Повтор CSS: худший цилиндр “переехал” на №1. Компрессию мерить не пришлось — у катушки был пробой под нагрузкой, который misfire-лог мог фиксировать не всегда из-за порогов ЭБУ, а CSS стабильно ловил разброс эффективности.
Протокол применения CSS в автосервисе
- Снимать 1–2 “серии” лога в день (утро/вечер или после легкого прогрева), чтобы отсечь температурную модуляцию.
- Всегда фиксировать качество топлива: октановое число/бренд/последний долив (детонация и качество могут “рисовать” паттерн, который похож на механику).
- Не смешивать скрипт CSS с “ручной оценкой на слух”: если Spread > 0.40 и Consistency > 0.7 — это не субъективщина, это адресный поиск.
- После замены компонента повторить короткий цикл — CSS должен измениться по ожидаемому цилиндру (или по ожидаемому паттерну).
CSS-скрипт для диагностики цилиндров — это способ превратить хаотичный набор признаков (пропуски, коррекции, поведение по режимам) в измеримый “отпечаток” неисправности. Правильно сегментируете окна, нормализуете данные и отслеживаете Consistency — и вместо угадывания получаете прицельную проверку: от катушки и свечи до клапана и утечек.
| CSS-скрипт для диагностики цилиндров | оценка эффективности работы цилиндров | цилиндровый баланс (вклад по цилиндрам) | анализ пропусков зажигания (misfire) | коррекция топливоподачи (STFT/LTFT) |
| индикатор тепловой нагрузки цилиндров | временные окна датчиков и синхронизация | кластеризация аномалий по цилиндрам | фильтрация шумов и нормализация сигналов | оценка степени деградации двигателя |
Что показывает CSS-скрипт при диагностике эффективности цилиндров?
Он вычисляет относительную продуктивность каждого цилиндра по отклонениям рабочих параметров (часто — коррекции по зажиганию/топливу и/или скоростные колебания), чтобы выявить цилиндры с просадкой эффективности относительно остальных.
На какой стадии диагностики использовать CSS: до проверки форсунок/свечей или после?
В начале как скрининг: CSS помогает быстро локализовать проблемный цилиндр/группу цилиндров. После определения “подозреваемых” проверяют конкретные причины (свечи, катушки, форсунки, компрессию, подсос воздуха, утечки выхлопа).
Почему результаты CSS могут быть “размыты” и не совпадать с ощущением по работе двигателя?
Из-за неустойчивых условий: низкая температура, просадка напряжения, активные регенерации/нагрузка, неправильный режим записи, нестабильная подача топлива или подсос. Скрипт требует повторяемого прогрева и одинаковых условий теста по времени и нагрузке.
Какой режим двигателя и длительность записи считаются корректными для CSS-оценки?
Обычно используют прогретый двигатель и стабильный режим без резких манёвров: постоянная нагрузка/оборот в течение достаточного интервала, чтобы усреднить кратковременные возмущения. Точная длительность зависит от доступных каналов, но принцип один: “стабильно и достаточно долго для усреднения”.
Можно ли использовать CSS для отличия пропусков зажигания от проблем с топливоподачей?
Да, но только косвенно: характер отклонений, коррекций и динамика реакции на изменения указывают, куда “тянет” проблему. Для подтверждения всё равно нужна проверка — по данным пропусков/коррекций, затем по электрической части и механике (форсунки/давление/компрессия).