by NathanB on Tue Dec 19, 2023 10:21 pm
This is somewhat of a complicated topic, but I will do my best to explain it for the purpose of fuel timing primary edge set to edge of injection.
Your fuel timing main table is your target time in the cycle that you are aiming for your injection to be complete by. So for each injection event, the ecu is continually calculating how much fuel volume is required for each injection and based on the linearisation table and the reference flow it knows how long your injector needs to be open for to deliver that volume of fuel, and based on that, and the cycle time, when the injector needs to be opened.
At higher fuel demand areas for injectors that are up in duty cycle, this pulse angle will become higher. So in your case 648 degrees.
Now if you have your fuel timing primary set to 300 degrees and you have a limit angle set to 120 degrees, once your injection pulse exceeds 540 degrees / 75% injector duty cycle (Note: Provided there was no calculation to extend the pulse whilst it was open) it will report "invalid limit angle". This diagnostic merely serves to indicate what could be considered 'abnormal injection' which in this case is a large duty cycle, or more specifically - based on your target end of injection (fuel timing primary) the start of your injection value has wrapped around until it has met the previous fuel timing limit.
If you wanted this diagnostic to go away, you would actually increase the fuel timing limit to a value that was closer to your target end of injection value. So working with our rudimentary timing main value of 300 degrees, if we are expecting our injector to be open for 648 degrees or calculated timing injection limit value would be around 228 degrees (300-(720-648).
All perfect in theory.
The opposing diagnostic to "invalid limit angle" is "limit". This occurs when based on our fuel timing main (end of injection) target, the pulse has had to be extended once it was already started, and it has been extended so far, the end of injection has reached the limit value. So say we had our 300 degree main value, and 120 degree limit value, the pulse has had to be extended by 180 degrees (pulse width time would depend on engine speed) to reach the timing limit value.
As for why a pulse would need to be extended is simple. In a low load condition (as a more extreme example), we have a small pulse width (angle) calculated, so we have opened the injector close to the target end of injection. Now if we have a transient event, or a big change in closed loop fuelling enrichment commanded, the fuel injector opening will need to be extended significantly, so there is a higher chance of the pulse width being extended until it reaches the limit value. This typically won't occur at lower engine speeds, where the cycle time is longer, meaning going from 3ms to 7ms pulsewidths isn't much in an injection angle sense. But if you were to set the limit value close to the main value at 3-5000rpm and go from light throttle to full throttle rapidly, the jump in pulse width is a larger pulse angle change, and you would then get a 'limit' diagnostic reported.
At higher load, the fuel volume is already calculating that it needs to start the injection far earlier, so particularly in applications where the injector is seeing higher injector duty cycles, the limit value needs to set closer to the main value, not further away. Depending on the gain of closed loop fuel control, this is a more steady change, and therefore accounted for in the start of injection.
Many people do not typically notice this reported diagnostic as they don't check for it unless they are looking for a problem, or have high levels of logging and report a lot of diagnostic channels. Even then, if injector duty is quite low in the application (sub 70%), depending on the split between main and limit, they may not see this diagnostic occur.
As a point of reference, in my personal car, where the injector duty gets into the low 90's up top, I have a limit value 36.5 degrees below the main to stop this diagnostic from occurring (320 degree main, 283.5 limit)
As a final complication to this whole shooting match, which I will cover as I have already gone into this much detail is the makeup pulse. This is to allow the system to try for a second injector pulse after the injector pulse has ended due to a change in fuel demands (transient event) and it will complete a second injection event between the makeup pulse angle and the timing limit if A. the main pulse has ended before the makeup pulse angle is achieved and B. there is an angle period available between the makeup pulse angle and the timing limit angle to deliver more fuel. This is described in the help, but many people misinterpret the help's description of 'after' as a higher BTDC number instead of a lower number (after being closer to tdc)
In later GP firmware, the 120 degree validation number has been removed, allowing a value down to tdc being allowed.
The reason a larger injector has resolved your diagnostic is because your start of injection is not wrapping around to to 120degrees btdc of the previous cycle anymore.
The diagnostic is more of an indicator than an issue as such and has never being actively used in any control strategies in public firmware. The intention largely being if the start or end of injection is hitting your limit value, depending on the values you have set, and your valve opening and closing times, fuel being calculated and injected for a particular cycle could potentially be partially delivered into the cycle before or after (depending on values set, fuel transport time, spray targeting and intake valve opening/closing times)
Hopefully that clears the diagnostic up for you.