www.gusucode.com > rtwdemos 工具箱matlab源码程序 > rtwdemos/@RTWDemos/pcgd_open_pcg_model.m
function [pcgDemoData] = pcgd_open_pcg_model(modNumber,openMode,subSystem) % This function opens the PCG Model, which model is open depends on the % Input Aguments % modNumber = the number of the model % openMode = how to open % == 0 == Open new model % == 1 == Opens the test harness % == 2 == Opens the subsystem % == 3 == Opens a helper function % == 4 == Opens the S-Function test harness % Copyright 2007 The MathWorks, Inc. % subSystem == the subsystem to be opened % 0.) Get the base data [pcgDemoData] = RTWDemos.pcgd_startEmbeddedCoderOverview; % 1.) if (nargin == 2) subSystem = ''; end % First check and see if the stateflow window is open if (openMode == 0) % opens a new model open_system(pcgDemoData.Models{modNumber}); if (modNumber <= 5) % Tracking the current window... pcgDemoData.curWindow = pcgDemoData.Models{modNumber}; end elseif (openMode == 1) % Open the test harness model open_system(pcgDemoData.Harness{1}); set_param([pcgDemoData.Harness{1},'/Unit_Under_Test'],... 'ModelName',pcgDemoData.Models{modNumber}); elseif (openMode == 2) % 1.) Verify that the model is open [pcgDemoData] = RTWDemos.pcgd_modelIsOpen(pcgDemoData,modNumber); pathTo = [pcgDemoData.Models{modNumber},'/',subSystem]; if slprivate('is_stateflow_based_block', pathTo) open_system(pathTo); par = get_param(pathTo,'Parent'); pcgDemoData.curWindow = par; try open_system(par,pcgDemoData.curWindow,'reuse'); catch open_system(par,pcgDemoData.curWindow); end else try if (strcmp(pcgDemoData.curWindow,pathTo)) open_system(pathTo); else open_system(pathTo,pcgDemoData.curWindow,'reuse'); end catch open_system(pathTo); % do nothing in this case: already open end pcgDemoData.curWindow = [pcgDemoData.Models{modNumber},'/',subSystem]; end elseif (openMode == 3) open_system(pcgDemoData.helper{modNumber}); elseif (openMode == 4) % Open the S-Function test harness open_system(pcgDemoData.Harness{2}); end % % Make sure the model is visable gco = get_param(gcs,'Object'); gco.view; % % End: Set the base data % assignin('base','pcgDemoData',pcgDemoData); end