Этот пример показывает, как вычислить экономию топлива по городу и шоссе и выбросы для обычного транспортного средства с 1.5-L двигателем с искровым зажиганием (СИ). Чтобы запустить этот пример, убедитесь, что установлены ездовые циклы города (FTP75) и шоссе (HWFET). После того, как вы откроете обычный пример готовых узлов транспортного средства, откройте блок Drive Cycle Source и нажмите Установить дополнительные приводные циклы. Для получения дополнительной информации см. раздел Установка данных цикла дисков.
setupconvehMPG;
Назовите исходный блок Drive Cycle и Подсистему визуализации.
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] ***********************