⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 powerwindowscript.m

📁 power window related simulink simulation
💻 M
📖 第 1 页 / 共 5 页
字号:
function powerwindowscript(varargin)
%BUSDEMOSCRIPT Controls the Bus Block Demo HTML page
%   BUSDEMOSCRIPT(action) executes the hyperlink callback associated with the 
%   the string action.
%
%   BUSDEMOSCRIPT(action,blockName) is used for the hiliteblock action. blockName
%   contains the string name of the block to be highlighted using hilite_system.
%
%   The complete set of demo files is as follows.
%      1) busdemo.mdl
%      2) busdemo.htm 
%      3) sldemo1_fig1.gif
%      4) sldemo1_fig2.gif
%      5) sldemo1_fig3.gif
%      6) sldemo1_fig4.gif
%      7) busdemoscript.m

%   Pieter J. Mosterman
%	Copyright 1990-2001 The MathWorks, Inc.
%	$Revision: 0.1 $  $Date: 2001/12/03 12:00:00 $

persistent POWERWINDOWDEMO_STEP
persistent POWERWINDOWDEMO_STEPS
try % Wrap the whole thing in a try catch, in case the user doesn't go in order.
	
	ni=nargin;
	
	if ~ni,
		step = 'initialize';
	else 
		step = varargin{1};
	end
	
	% If first time running the demo, or they closed the model
	% Open the model and initialize the counter
	if isempty(find_system('Name','powerwindow')) | ~ni
		powerwindow;
		POWERWINDOWDEMO_STEP=0;
		POWERWINDOWDEMO_STEPS = char('initialize', ...
'delete output', ...
'add continuous', ...
'delete continuous', ...
'add continuous subsystem', ...
'delete input', ...
'add input subsystems', ...
'delete control', ...
'add control subsystem', ...
'context connect', ...
'add data validation', ...
'delete continuous subsystem', ...
'add power', ...
'delete position detection', ...
'add current detection', ...
'connect current', ... %16
'add object switch', ...
'add VR world', ...
'delete realistic Ia', ...
'realistic Ia', ...
'fixed point processing', ...
'delete DAQ subsystem', ...
'add DAQ subsystem', ...
'delete process', ...
'add process', ...
'delete direct input', ...
'add CAN input', ...
'add CAN output', ...
'sample input', ... %29
'add position detection', ...
'delete control', ...
'add control', ...
'position control', ...
'position switches', ...
'position all')
	end
	
	switch step
	case 'initialize',
		% Open the web browser with the html file
		%POWERWINDOWDEMO_STEP=1;
        ret = stepTo(POWERWINDOWDEMO_STEP,1,POWERWINDOWDEMO_STEPS);
        if(ret < 0) return; end
        POWERWINDOWDEMO_STEP = ret;
        
		fullPathName=which('powerwindowscript');
		tok=filesep;
		indtok = findstr(fullPathName,tok);
		pathname = fullPathName(1:indtok(end));
%		web([pathname,'powerwindow.htm']);
		
    case 'open VR world',
		open_system('powerwindow/window_world');
        
    case 'open control',
		open_system('powerwindow/control','force');
        
    case 'open truth table',
		open_system('powerwindow/passenger neutral, up, down map','force');
        
    case 'passenger window up',
		if (get_param('powerwindow/passenger up','sw') == '1')
            open_system('powerwindow/passenger up');
        end
        
    case 'passenger window up release',
		if (get_param('powerwindow/passenger up','sw') == '0')
            open_system('powerwindow/passenger up');
        end
        
    case 'passenger auto up',
        powerwindowscript('passenger window up release');
        pause(0.01);
        powerwindowscript('passenger window up');
        pause(0.1);
        powerwindowscript('passenger window up release');
		
    case 'passenger window down release',
		if (get_param('powerwindow/passenger down','sw') == '0')
		    open_system('powerwindow/passenger down');
        end
        
    case 'driver window down',
		if (get_param('powerwindow/driver down','sw') == '1')
		    open_system('powerwindow/driver down');
        end
        
    case 'driver window down release',
		if (get_param('powerwindow/driver down','sw') == '0')
		    open_system('powerwindow/driver down');
        end
        
    case 'driver window up',
		if (get_param('powerwindow/driver up','sw') == '1')
		    open_system('powerwindow/driver up');
        end

    case 'driver window up release',
		if (get_param('powerwindow/driver up','sw') == '0')
		    open_system('powerwindow/driver up');
        end

    case 'driver window neutral',
		open_system('powerwindow/driver neutral');
        
    case 'endstop',
		if (get_param('powerwindow/endstop','sw') == '1')
		    open_system('powerwindow/endstop');
        end
		
    case 'endstop release',
		if (get_param('powerwindow/endstop','sw') == '0')
		    open_system('powerwindow/endstop');
        end

    case 'obstacle',
		if (get_param('powerwindow/obstacle','sw') == '1')
		    open_system('powerwindow/obstacle');
        end

    case 'obstacle release',
		if (get_param('powerwindow/obstacle','sw') == '0')
		    open_system('powerwindow/obstacle');
        end

    case 'open position scope',
		open_system('powerwindow/position');
        
    case 'open Ia scope',
		open_system('powerwindow/Ia');
        
    case 'open window force scope',
		open_system('powerwindow/force');

	case 'run',
		% Run the model
		% POWERWINDOWDEMO_STEP_COUNTER(2)=1;
		%sim('powerwindow'); % Executing just this line will automatically open the model
        set_param('powerwindow','SimulationCommand','start')
        
    case 'stop',
        set_param('powerwindow','SimulationCommand','stop') 
        
    case 'reset switches',
        powerwindowscript('passenger window up release');
        powerwindowscript('passenger window down release');
        powerwindowscript('driver window up release');
        powerwindowscript('driver window down release');
        if POWERWINDOWDEMO_STEP < 2
            powerwindowscript('endstop release');
            powerwindowscript('obstacle release');
        end
        
    case 'remove position detection'
        if POWERWINDOWDEMO_STEP == 13 %will become 13 after doing 'delete position detection'
            hilite_system('powerwindow/power_window_control_system/detect_obstacle_endstop','find');
		    pause(0.75)	
        end
        powerwindowscript('delete position detection');

    case 'remove output'
        if POWERWINDOWDEMO_STEP == 1
            powerwindowscript('highlight output');
        end
        powerwindowscript('delete output');

    case 'remove continuous'
        if POWERWINDOWDEMO_STEP == 3
            powerwindowscript('highlight continuous');
        end
        powerwindowscript('delete continuous');

    case 'remove continuous subsystem'
        if POWERWINDOWDEMO_STEP == 13
            hilite_system('powerwindow/window_system','find');
		    pause(0.75)	
            hilite_system('powerwindow/window_system','none');
        end
        powerwindowscript('delete continuous subsystem');

    case 'remove input'
        if POWERWINDOWDEMO_STEP == 5
            powerwindowscript('highlight input');
        end
        powerwindowscript('delete input');

    case 'delete output'
        ret = stepTo(POWERWINDOWDEMO_STEP,2,POWERWINDOWDEMO_STEPS);
        if(ret < 0) return; end
        POWERWINDOWDEMO_STEP = ret;

        delete_line('powerwindow','outputMux/1','window command/1');
        delete_line('powerwindow','control/1','outputMux/1');
        delete_line('powerwindow','control/2','outputMux/2');
        delete_block('powerwindow/outputMux');
        delete_block('powerwindow/window command');

        delete_line('powerwindow','Constant13/1','endstop/1');
        delete_line('powerwindow','Constant14/1','endstop/2');
        delete_line('powerwindow','endstop/1','control/3');
        delete_block('powerwindow/Constant13');
        delete_block('powerwindow/Constant14');
        delete_block('powerwindow/endstop');

        delete_line('powerwindow','Constant15/1','obstacle/1');
        delete_line('powerwindow','Constant16/1','obstacle/2');
        delete_line('powerwindow','obstacle/1','control/4');
        delete_block('powerwindow/Constant15');
        delete_block('powerwindow/Constant16');
        delete_block('powerwindow/obstacle');

    case 'include data validation'
         if POWERWINDOWDEMO_STEP == 11
            hilite_system('powerwindow/power_window_control_system','find');
		    pause(0.75)	
            hilite_system('powerwindow/power_window_control_system','none');
		    open_system('powerwindow/power_window_control_system');            
		    pause(0.75)	
        end
        
        powerwindowscript('add data validation'); 
        
    case 'add data validation'
        ret = stepTo(POWERWINDOWDEMO_STEP,11,POWERWINDOWDEMO_STEPS);
        if(ret < 0) return; end
        POWERWINDOWDEMO_STEP = ret;
        
        add_block('built-in/Reference','powerwindow/power_window_control_system/validate_driver', ...
            'Position',[210, 70, 330, 200],'SourceBlock','salib/validate_state');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -