FuelTech ManualsGlossarySearch

11. Diagnostics: symptoms and causes

Version 1.1Software: FuelTech VisionFirmware: 00.03.00.55Products: FT700, FT470, VisionFT2026-10-15

This chapter links what you see in the log or on the vehicle to the probable cause, to the channel that confirms it and to what to change.

The channel GDI - Pressure error rail 1 is the target minus the filtered pressure: a positive error means the rail is below the target.

Values marked "field experience" come from field tuning: confirm them in your own log.

#Measurement rules

#Log state signatures

When duty and pulse make no sense, identify the pump state first.

StateDuty and pulseEffective window (opening / closing)Other channels
Rail offduty 0, pulse 0 ms0 / 0limit flags at 0; GDI - Overpressure cut rail 1 at 1 if it was Guard 2
Start, valve held onduty 100, pulse 0 ms0 / 0trim, feed-forward and error at 0
Start, after the crank-out RPM and before the minimum pressureduty and pulse greater than 0 with G(W) filled in; with G(W) at zero, the pulse comes from the frozen trim, the kick and the pressurization and can be 0 msvaliddoubled feed-forward; limit flags can light up
Deceleration cutduty 0, pulse 0 msopening equal to closingconsumption below 0.3 ms and pressure 10 bar above the target; trim freezes above 1400 rpm
Sensor safe mode (with feed-forward)duty and pulse greater than 0 with G(W) filled in; with G(W) at zero, pulse 0 ms at steady statevalidGDI - Rail 1 sensor fault and GDI - Rail 1 in limp-home at 1; trim 0

Without feed-forward, a sensor declared failed turns the pump off: the state is rail off.

#Start and pump with no delivery

SymptomProbable causeWhat to check in the logWhat to change
Duty fixed at 0 with the engine running; the pressure stays at low-side pressureRail off: invalid window, no sync or Guard 2 latched; or feed-forward on with G(W), Kp and Ki at zeroGDI - Rail 1 window: effective opening and GDI - Rail 1 window: effective closing at 0 / 0; Engine Sync; GDI - Overpressure cut rail 1; feed-forward and trim at 0; the map diagnostics listClosing greater than opening and width less than 720 ÷ lobes (a window that crosses crankshaft 0°: add 720 ÷ lobes to both angles); fill in G(W) and the gains
No pump channel moves and the pressure does not riseRail output not assigned: the function does not startOutput (Rail #1) and Output (Rail #2) assigned; duty, window and pulse stuckAssign the output, write the map and restart the VCU
Duty 0 with a normal effective window (opening equal to closing)Pulse at zero: feed-forward plus trim less than or equal to zero, or deceleration cutGDI - Commanded pulse rail 1 at 0; negative trim; GDI - Trim at limit rail 1 at 1; pressure above the targetG(W) too high or t0 too high; see the first row of High RPM and load
The rail does not rise at start and stays at low-side pressureWrong polarity; no sync; feed-forward off or sensor declared failed (no start routine); Guard 2 latched; output not assigned; weak low-side pressure or batteryDuty Rail #1 - HPFP at 100 while cranking; Engine Sync; DI Rail pressure #1; GDI - Rail 1 sensor fault; Fuel pressure; Battery voltageOutput behavior: write and restart the VCU. Check the output and the sensor (see Commissioning and tuning step by step)
The rail goes to full scale at the end of the start and crosses Guard 1 or Guard 2Guards above the sensor full scale or with no marginDI Rail pressure #1 against the guards and the full scale; GDI - Overpressure cut rail 1Guard 1, latch and release below full scale: step 2 of Commissioning and tuning step by step
Rail good at start and, about 5 s later, it goes to full scale with the pulse falling (field experience)Cam dependence using an invalid or non-zero deviation: the effective window jumpsIntake/Exhaust cam position ... leaving 0 at the instant the effective closing jumpsCam dependence at None if the deviation is invalid. If it is valid, the typed angles apply to the cam at rest

#Steady state: unstable pressure or off target

SymptomProbable causeWhat to check in the logWhat to change
Oscillation at a constant frequency (about 6 Hz) at every rpm, with the amplitude growing with rpmFixed gain against a pump response that grows with rpmSpectrum of GDI - Pressure error rail 1 by window; Kp and Ki flat along the axisKp and Ki by rpm, lower above about 2500 rpm (field experience)
A 10 to 16 Hz cycle that scales with rpmLoop delay (transport)Error spectrum by window: frequency against rpm; cycle in a narrow bandCut only the Kp at the rpm point of the band and keep the Ki (field experience)
Exact peak at lobes × rpm ÷ 120 Hz in the raw DI Rail pressure #1 channel (only with a logging rate above twice that frequency)Mechanical ripple of the pump strokeDoes the peak appear in GDI - Pressure error rail 1? The loop uses the filtered pressureAct only if the ripple reaches the error or the trim; then adjust the sensor filter (note below)
Duty alternating between 0 and the ceiling, with an amplitude that grows with rpmG(W) at zero at the operating W: the feed-forward stays near 0 and the PID does everythingGDI - Feedforward rail 1 near 0; large trim; maximum W of the log against the last point of the G(W) axisExtend the W axis up to the maximum W of the log; fill in G(W) from the trim after the gains are stable
Trim at the limit about 50% of the time with the map already calibrated, touching both sidesG(W) wrong, trim floor, or a Kp that saturates the trim by itselfGDI - PID trim rail 1 by rpm range (field target: ±0.25 ms); GDI - Trim at limit rail 1Correct G(W); adjust Trim floor: feedforward fraction; reduce the Kp where it saturates by itself
Pressure above the target for seconds when you lift the pedal, with trim at the floor and duty 0The pump only fills: what relieves the pressure is the consumption of the injectors, and the deceleration cut already zeroes the pulseProlonged negative error; GDI - Commanded pulse rail 1 at 0; injection time below 0.3 msDo not touch the G(W) cells. Use a flatter target in the vacuum region
With 2 rails, one rail with a trim always larger than the otherThe feed-forward is common to both rails; only the trim corrects the differenceGDI - PID trim rail 1 against GDI - PID trim rail 2Accept the trim as the correction of the asymmetry: splitting the banks between the rails does not change the feed-forward

Pressure sensor filter: with Input sensor set to Default the VCU uses a fixed 10 Hz filter (Q 0.6, 7-point average) and does not apply the Digital filter group of the screen; it only applies in Custom (field experience: Filter frequency 50 Hz, Q factor 0.6 and Average points 7).

Field experience: a tight filter (12 Hz) is associated with a cycle of about 6 Hz in the loop. With this cycle, check the filter before the gains.

Two rails that drop together to low-side pressure: first check the supply and the valve driver (field experience) and, in the log, Engine Sync and the overpressure cut of both rails, before touching the control.

#High RPM and load

SymptomProbable causeWhat to check in the logWhat to change
Pressure stuck at a constant value above the target (looks like a dead sensor), trim at the negative floor, pulse near t0 or at 0, error growing with rpmt0 floor: the smallest non-zero pulse is t0, and it takes up more degrees at each rpmGDI - Commanded pulse rail 1 near t0 or in blocks of zero. If the pressure drops when the consumption rises, the sensor is aliveReduce t0, last and on its own (field experience)
The duty alternates between 0 and a high value from a well-defined rpm, the same one at which the VVT target leaves 0The window shifts with the cam deviation (Cam dependence on)GDI - Rail 1 window: effective closing against Intake/Exhaust cam position ..., 1 to 1 with the sign reversedControl: zero the VVT target of that cam. If the problem goes away, the trigger is the VVT, not the feed-forward or the gain
Pressure is lacking (sustained positive error) with the pulse at the ceiling or the trim against the limitLack of authority: the window, the angular limit or the trim limit the commandGDI - Lobe window upper limit rail 1, GDI - Angular upper limit (max Theta) rail 1 and GDI - Trim at limit rail 1Window: widen it by the opening if there is margin up to the guard (field experience: more than 10 bar). Angular limit: raise it up to the width. Trim: fill in G(W), then raise PID maximum trim
The rail rises with the commanded pulse at 0 above a certain rpm; at a lower rpm, with the same zero, it drops (field experience)The pressure rises even with the command at zero, and the loop cannot command less than zeroGDI - Commanded pulse rail 1 at 0 with the pressure rising; feed-forward plus trim near zeroOn the first test, limit the rpm below that point. Guard 2 acts by cutting the pump command, so with the commanded pulse already at 0 it cannot lower the pressure. Reduce t0 and redo G(W) until feed-forward plus trim is above 1 ms, and repeat. If it persists, keep the log and the map and contact FuelTech technical support, with the FuelTech Vision and firmware versions.

#Sensor, protections and cuts

SymptomProbable causeWhat to check in the logWhat to change
Pressure pinned at an exact value (that of the last point of the sensor table) while the pulse changesSensor saturated at the last point of the table; guards and target above it never act (except Guard 2 through the condition target plus 20 bar, with the release below full scale)DI Rail pressure #1 constant at the last point; if it follows the consumption, the sensor is aliveCorrect the conversion table (real full scale); target and guards below it
Alert "GDI: rail pressure sensor fault"; rail in safe modeHarness, connector, noise (reading jump greater than 20 bar) or signal above 4.95 VGDI - Rail 1 sensor fault and GDI - Rail 1 in limp-home, and those of rail 2 (the alert applies to both)Repair the sensor or harness. The pump comes back by itself after 2 s of good signal
Maximum pressure near Guard 1 or 2; overpressure cuts in cyclesWindow too wide or gain too high; t0 high; low sensor full scale; pressure rising with the command at zeroMaximum DI Rail pressure #1; GDI - Guard 1 trimming rail 1; GDI - Overpressure cut rail 1 (number of cycles)Do not open the window further; lower the target at high rpm; see the row of the rail that rises with pulse 0
The engine misfires in blocks and the injection time of the bank goes to 0Low-pressure cut acting (the injectors only come back above the limit plus 2 bar) or start lockoutInjection time of the bank (for example, Injection time B) at 0 with DI Rail pressure #1 below the limit plus 2 barLimit below the lowest operating pressure and the lowest target; measure the minimum with the engine turning before enabling the cut

The behavior of the injector cut and of Guard 2 is in Cranking and protections.