В этом примере показано, как вычислить город и магистральную экономию топлива и эмиссию для автомобиля с бензиновым двигателем с 1.5-L двигателем с искровым зажиганием. Чтобы запустить этот пример, убедитесь, что у вас есть город (FTP75) и магистраль (HWFET) установленные ездовые циклы. После того, как вы открываете пример готовых узлов автомобиля с бензиновым двигателем, открываете Исходный блок Ездового цикла и нажимаете Install дополнительные ездовые циклы. Для получения дополнительной информации смотрите Данные о Ездовом цикле Установки.
setupconvehMPG;
Назовите подсистему Исходного блока и Визуализации Ездового цикла.
model = 'SiCiPtReferenceApplication'; dcs = [model, '/Drive Cycle Source']; vis_sys = [model, '/Visualization'];
В подсистеме Визуализации регистрируйте данные сигнала эмиссии.
pt_set_logging([vis_sys, '/Performance Calculations'], 'US MPG', 'Fuel Economy [mpg]', 'both'); pt_set_logging([vis_sys, '/Emission Calculations'], 'TP HC Mass (g/mi)', 'HC [g/mi]', 'both'); pt_set_logging([vis_sys, '/Emission Calculations'], 'TP CO Mass (g/mi)', 'CO [g/mi]', 'both'); pt_set_logging([vis_sys, '/Emission Calculations'], 'TP NOx Mass (g/mi)', 'NOx [g/mi]', 'both'); pt_set_logging([vis_sys, '/Emission Calculations'], 'TP CO2 Mass (g/km)', 'CO2 [g/km]', 'both');
Сконфигурируйте Исходный блок Ездового цикла, чтобы запустить городской ездовой цикл (FTP75).
set_param(dcs,'cycleVar','FTP75');
Запустите симуляцию городского ездового цикла. Просмотрите результаты в Осциллографе FE и Эффективности.
tfinal = get_param(dcs, 'tfinal'); tf = tfinal(1:strfind(tfinal,' ')); simout1 = sim(model,'ReturnWorkspaceOutputs','on', 'StopTime', tf); open_system('SiCiPtReferenceApplication/Visualization/Performance and FE Scope')
### Starting serial model reference simulation build ### Successfully updated the model reference simulation target for: DrivetrainConVeh ### Successfully updated the model reference simulation target for: PowertrainMaxPowerController ### Successfully updated the model reference simulation target for: SiEngineController ### Successfully updated the model reference simulation target for: SiMappedEngine Build Summary Simulation targets built: Model Action Rebuild Reason ==================================================================================================================== DrivetrainConVeh Code generated and compiled DrivetrainConVeh_msf.mexw64 does not exist. PowertrainMaxPowerController Code generated and compiled PowertrainMaxPowerController_msf.mexw64 does not exist. SiEngineController Code generated and compiled SiEngineController_msf.mexw64 does not exist. SiMappedEngine Code generated and compiled SiMappedEngine_msf.mexw64 does not exist. 4 of 4 models built (0 models already up to date) Build duration: 0h 3m 47.506s
Результаты показывают, что экономия топлива составляет приблизительно 30 миль на галлон в конце ездового цикла. Осциллограф также дает целевую скорость, скорость вращения двигателя и тормоз определенный расход топлива (BSFC).
Сконфигурируйте Исходный блок Ездового цикла, чтобы запустить магистральный ездовой цикл (HWFET). Убедитесь, что вы установили магистральный ездовой цикл.
set_param(dcs,'cycleVar','HWFET');
Запустите симуляцию магистрального ездового цикла. Просмотрите результаты в Осциллографе FE и Эффективности.
tfinal = get_param(dcs, 'tfinal'); tf = tfinal(1:strfind(tfinal,' ')); simout2 = sim(model,'ReturnWorkspaceOutputs','on', 'StopTime', tf); open_system('SiCiPtReferenceApplication/Visualization/Performance and FE Scope')
### Starting serial model reference simulation build ### Model reference simulation target for DrivetrainConVeh is up to date. ### Model reference simulation target for PowertrainMaxPowerController is up to date. ### Model reference simulation target for SiEngineController is up to date. ### Model reference simulation target for SiMappedEngine is up to date. Build Summary 0 of 4 models built (4 models already up to date) Build duration: 0h 0m 1.383s
Результаты показывают, что экономия топлива составляет приблизительно 34 мили на галлон в конце ездового цикла. Осциллограф также дает целевую скорость, скорость вращения двигателя и тормоз определенный расход топлива (BSFC).
Извлеките город и магистральные результаты экономии топлива для города и магистральных ездовых циклов от записанных данных.
logsout1 = simout1.get('logsout'); FE_urban = logsout1.get('Fuel Economy [mpg]').Values.Data(end); logsout2 = simout2.get('logsout'); FE_hwy = logsout2.get('Fuel Economy [mpg]').Values.Data(end);
Используйте город и магистральные результаты экономии топлива вычислить объединенную этикетку mpg.
FE_combined = 0.55*FE_urban + 0.45*FE_hwy;
Извлеките выбросы выхлопной трубы городского ездового цикла.
HC = logsout1.get('HC [g/mi]').Values.Data(end); CO = logsout1.get('CO [g/mi]').Values.Data(end); NOx = logsout1.get('NOx [g/mi]').Values.Data(end); CO2 = logsout1.get('CO2 [g/km]').Values.Data(end);
Отобразите экономию топлива и городские результаты эмиссии выхлопной трубы ездового цикла в командном окне.
fprintf('\n***********************\n') fprintf('FUEL ECONOMY\n'); fprintf(' City: %4.2f mpg\n', FE_urban); fprintf(' Highway: %4.2f mpg\n', FE_hwy); fprintf(' Combined: %4.2f mpg\n', FE_combined); fprintf('\nTAILPIPE EMISSIONS\n'); fprintf(' HC: %4.3f [g/mi]\n',HC); fprintf(' CO: %4.3f [g/mi]\n',CO); fprintf(' NOx: %4.3f [g/mi]\n',NOx); fprintf(' CO2: %4.1f [g/km]\n',CO2); fprintf(' NMOG: %4.3f [g/mi]',HC+NOx); fprintf('\n***********************\n');
*********************** FUEL ECONOMY City: 30.51 mpg Highway: 36.63 mpg Combined: 33.26 mpg TAILPIPE EMISSIONS HC: 0.001 [g/mi] CO: 0.000 [g/mi] NOx: 0.002 [g/mi] CO2: 178.0 [g/km] NMOG: 0.003 [g/mi] ***********************