by MalcolmG on Fri Jun 30, 2017 1:40 pm
Since the internal function of the Peak Hold Injector Group is hidden, only someone from Motec can answer the question of how it works. I would guess that they randomly cut cylinders with a probability of any injection cut being equal to the value of Fuel.Cut.Value (e.g. generate random number between 0 and 1, if number is < Fuel.Cut.Value % then cut fuel).
Looking through the GPR package (I'm assuming you're using this or a derivative of it here), it looks like the way fuel volume is assigned would be a bit messy to interrupt with conditionals for determining whether or not to cut a cylinder. A better option might be to use the individual cylinder trim value to turn off fuel for a cylinder. If you look at the Fuel.Volume.Cylinder (n).Trim Input Object, it points to the table Fuel.Cylinder (n).Trim. You could instead point it to a channel, then have a scheduled function that either assigns the value from the Trim table to this channel, or sets it to zero in the event that you wish to cut fuel on that cylinder. Depending on what sort of functionality you're looking for, you might have to set the execution rate of that function to be pretty high if you want to be able to control every single injection event. Could use a dual rate event.