Same with this aproach (SELBEN)... the SELBEN iff() uses pids delayed by one frame.
Look closely, you will see that SELBEN is delayed by one frame compared to WO2BEN1.
Same with this aproach (SELBEN)... the SELBEN iff() uses pids delayed by one frame.
Look closely, you will see that SELBEN is delayed by one frame compared to WO2BEN1.
Last edited by joecar; January 25th, 2011 at 09:48 AM.
What about this:
*CLC-00-003
% 0.0 100.0 .2 "iff({CALC.PEMODE}, ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA.C}+273.15)*3445. 2/(5.669*{SAE.RPM}*{SAE.MAP.kPa})*{CALC.BEN1}), ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA. C}+273.15)*3445.2/(5.669*{SAE.RPM}*{SAE.MAP.kPa})*{CALC.LTFTBEN}))"
VE 0.0 3.0 .4 "iff({CALC.PEMODE}, ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA.C}+273.15)*1 5/({SAE.RPM}*{SAE.MAP.kPa})*{CALC.BEN1}), ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA. C}+273.15)*15/({SAE.RPM}*{SAE.MAP.kPa})*{CALC.LTFTBEN}))"
I haven't tried that and I'm wondering if it fits (upto how many characters can a calc pid be...?)
Last edited by joecar; January 25th, 2011 at 10:02 AM.
Joe:
Interesting on the delay..I'm assuming that would be a 'fatal flaw'..
I must be doing too much copying and pasting..I can never seem to get the CALC.VET Table to produce a value. If I can straighten out my calc_pids.txt file to look like yours that would help.
I'll also do a short log with GM.STATE03 PID selected and see how that goes.
Thanks for the help. Do you think it is doable or are we just going to have to live with filtering in lieu of this concept?
This approach also has the delay...
The only way I see to go is take this approach and make the following changes:
- replace {CALC.BEN1} with ({GM.EQIVRATIO} * {EXT.WO2LAM1})
- replace {CALC.LTFTBEN} with (({SAE.LONGFT1} + {SAE.LONGFT2})/200+1)
i.e. replace all calc pids with their base definition, i.e. avoiding all calc pids in the iff(), this should eliminate the one frame delay.
Last edited by joecar; January 25th, 2011 at 09:49 AM.
i.e.
*CLC-00-003
% 0.0 100.0 .2 "iff({CALC.PEMODE}, ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA.C}+273.15)*3445. 2/(5.669*{SAE.RPM}*{SAE.MAP.kPa})*({GM.EQIVRATIO}*{EXT.WO2LAM1})), ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA. C}+273.15)*3445.2/(5.669*{SAE.RPM}*{SAE.MAP.kPa})*(({SAE.LONGFT1}+{SAE.LONGFT2})/200+1)))"
VE 0.0 3.0 .4 "iff({CALC.PEMODE}, ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA.C}+273.15)*1 5/({SAE.RPM}*{SAE.MAP.kPa})*({GM.EQIVRATIO}*{EXT.WO2LAM1})), ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA. C}+273.15)*15/({SAE.RPM}*{SAE.MAP.kPa})*(({SAE.LONGFT1}+{SAE.LONGFT2})/200+1)))"
Shawn, copy/paste this, I believe I have all the parentheses balanced and accounted for.
Last edited by joecar; January 25th, 2011 at 09:51 AM.
Yea, that makes sense.
For some reason on my last log I neglected to log EXT.WO2LAM1 so one of my BEN PIDS is different than yours and creating confusion in my mind.
So, I am going to take a short drive and re-do a decent PE Mode log. Perhaps when you are comfortable with it, you can re-post your calc_pids.txt file. I'll sync up with it here so it makes more sense. I.E., copying and pasting leads to errors..
Another idea: if wideband is present, then use this for both PE and non-PE calculations of VE...
({GM.EQIVRATIO}*{EXT.WO2LAM1}) can be replaced with ({GM.EQIVRATIO}/{EXT.WO2EQR1})
i.e.
*CLC-00-003
% 0.0 100.0 .2 "iff({CALC.PEMODE}, ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA.C}+273.15)*3445. 2/(5.669*{SAE.RPM}*{SAE.MAP.kPa})*({GM.EQIVRATIO}/{EXT.WO2EQR1})), ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA. C}+273.15)*3445.2/(5.669*{SAE.RPM}*{SAE.MAP.kPa})*(({SAE.LONGFT1}+{SAE.LONGFT2})/200+1)))"
VE 0.0 3.0 .4 "iff({CALC.PEMODE}, ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA.C}+273.15)*1 5/({SAE.RPM}*{SAE.MAP.kPa})*({GM.EQIVRATIO}/{EXT.WO2EQR1})), ({SAE.MAF.gps}*({GM.DYNAIRTMP_DMA. C}+273.15)*15/({SAE.RPM}*{SAE.MAP.kPa})*(({SAE.LONGFT1}+{SAE.LONGFT2})/200+1)))"
I'll re-edit my calc_pids.txt and try it out when I get home tonite.
Last edited by joecar; January 25th, 2011 at 09:51 AM.
Yes, please excuse the abuse of colour, I was trying to use it to make sure I had balanced the parentheses.