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

📄 powerwindowscript.m

📁 power window related simulink simulation
💻 M
📖 第 1 页 / 共 5 页
字号:
        set_param('powerwindow/power_window_control_system/validate_driver','LinkStatus','inactive')
        add_block('built-in/Reference','powerwindow/power_window_control_system/validate_passenger', ...
            'Position',[210, 225, 330, 355],'SourceBlock','salib/validate_state');
        set_param('powerwindow/power_window_control_system/validate_passenger','LinkStatus','inactive')
        
        l = add_line('powerwindow/power_window_control_system','driver_neutral/1','validate_driver/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow/power_window_control_system','driver_up/1','validate_driver/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow/power_window_control_system','driver_down/1','validate_driver/3');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow/power_window_control_system','driver_reset/1','validate_driver/4');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow/power_window_control_system','passenger_neutral/1','validate_passenger/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow/power_window_control_system','passenger_up/1','validate_passenger/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow/power_window_control_system','passenger_down/1','validate_passenger/3');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow/power_window_control_system','passenger_reset/1','validate_passenger/4');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow/power_window_control_system','validate_driver/1','control/3','autorouting','on');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow/power_window_control_system','validate_passenger/1','control/4','autorouting','on');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

    case 'add continuous'
        ret = stepTo(POWERWINDOWDEMO_STEP,3,POWERWINDOWDEMO_STEPS);
        if(ret < 0) return; end
        POWERWINDOWDEMO_STEP = ret;
        
        % Add the block
		add_block('built-in/Switch',sprintf('powerwindow/up signal\nconversion'), ...
			'Position',[470, 115, 500, 145],'threshold','0.5');
		add_block('built-in/Switch',sprintf('powerwindow/down signal\nconversion'), ...
			'Position',[465, 250, 495, 280],'threshold','0.5');
        
		add_block('built-in/Constant',sprintf('powerwindow/up\nrate'), ...
			'Position',[415, 105, 435, 125],'NamePlacement','alternate', ...
            'Value','1');
		add_block('built-in/Constant','powerwindow/c0', ...
			'Position',[415, 135, 435, 155],'showName','off', ...
            'Value','0');
		add_block('built-in/Constant',sprintf('powerwindow/down\nrate'), ...
			'Position',[415, 240, 435, 260],'NamePlacement','alternate', ...
            'Value','-1');
		add_block('built-in/Constant','powerwindow/c1', ...
			'Position',[415, 270, 435, 290],'showName','off', ...
            'Value','0');
        
        add_block('built-in/Sum','powerwindow/window input', ...
			'Position',[540, 185, 560, 205],'showName','off', ...
            'Inputs','|++-','IconShape','round');

        add_block('built-in/Gain','powerwindow/gain', ...
			'Position',[610, 180, 640, 210],'gain','50');
        add_block('built-in/Gain','powerwindow/friction', ...
			'Position',[620, 235, 650, 265],'gain','10','Orientation','left');
        
        add_block('built-in/Integrator','powerwindow/angular velocity', ...
			'Position',[685, 180, 715, 210]);
        add_block('built-in/Integrator','powerwindow/window position', ...
			'Position',[765, 180, 795, 210]);

%        add_block('built-in/Scope','powerwindow/position', ...
%			'Position',[825, 179, 855, 211],'ForegroundColor','gray');
%        add_block('built-in/Scope','powerwindow/position', ...
%			'Position',[875, 139, 905, 171],'ForegroundColor','gray');
        add_block('built-in/Scope','powerwindow/position', ...
			'Position',[875, 179, 905, 211],'Location',[6, 532, 329, 734], ...
            'YMin','-0.05','YMax','0.5', ...
            'ForegroundColor','gray','LimitDataPoints','off');

        add_block('built-in/Relational Operator','powerwindow/top', ...
			'Position',[510, 407, 540, 438],'Operator','>','Orientation','left','ForegroundColor','magenta');
        add_block('built-in/Relational Operator','powerwindow/obstacle', ...
			'Position',[510, 352, 540, 383],'Operator','>','Orientation','left','ForegroundColor','magenta');
        add_block('built-in/Constant','powerwindow/c101', ...
			'Position',[585, 418, 615, 442],'Value','0.4','Orientation','left','ForegroundColor','magenta');
        add_block('built-in/Constant','powerwindow/c102', ...
			'Position',[585, 363, 615, 387],'Value','0.3','Orientation','left','ForegroundColor','magenta');

        l = add_line('powerwindow','up rate/1','up signal conversion/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','c0/1','up signal conversion/3');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow','down rate/1','down signal conversion/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','c1/1','down signal conversion/3');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow','up signal conversion/1','window input/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow','down signal conversion/1','window input/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow','control/1','up signal conversion/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow','control/2','down signal conversion/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        l = add_line('powerwindow','window input/1','gain/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','gain/1','angular velocity/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','angular velocity/1','window position/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow',[725 195; 725 250; 650 250]);
%        l = add_line('powerwindow','angular velocity/1','friction/1','autorouting','on');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','window position/1','position/1','autorouting','on');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','friction/1','window input/3','autorouting','on');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason

        %l = add_line('powerwindow','window position/1','top/1','autorouting','on');
        l = add_line('powerwindow',[800 195; 800 415; 540 415]);
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
%        l = add_line('powerwindow','window position/1','obstacle/1','autorouting','on');
        l = add_line('powerwindow',[800 360; 540 360]);
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','c101/1','top/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','c102/1','obstacle/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        
        l = add_line('powerwindow','top/1','control/3','autorouting','on');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','obstacle/1','control/4','autorouting','on');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
		% Delete the old line
%		B = get_param('mergedemo/Discrete Pulse Generator','PortHandles');
%		l = get_param(B.Outport,'Line');
%		delete_line(l);
		
		% Add the new line	
%		l = add_line('mergedemo','Discrete Pulse Generator/1','Data Type Conversion/1');
%		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
%		l = add_line('mergedemo',[150 135; 190 135]);
%		set_param(l,'FontSize',9)
%		add_line('mergedemo',[190 135; 190 165]);
%		add_line('mergedemo',[190 135; 190 99]);
        powerwindowscript('resize for continuous plant');        
        
    case 'ode23'
		set_param('powerwindow','Solver','ode23')
        
    case 'ode23s'
		set_param('powerwindow','Solver','ode23s')
        
    case 'ode23t'
		set_param('powerwindow','Solver','ode23t')
        set_param('powerwindow','reltol','1e-2')
        
    case 'show sample rates'
        powerwindowscript('ode23s'); 

		set_param('powerwindow','SampleTimeColors','on')
%        powerwindow( [ ] , [ ], [ ] , 'sizes' );
        powerwindow( [ ], [ ], [ ], 'compile')
        powerwindow([ ], [ ], [ ], 'term')
        
    case 'RT'
		set_param('powerwindow','Solver','ode1')        
		set_param('powerwindow','FixedStep','0.005')        
		%set_param('powerwindow','StepSize','0.005')        

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

        delete_line('powerwindow','control/1','up signal conversion/2');
        delete_line('powerwindow','control/2','down signal conversion/2');
        delete_line('powerwindow','up rate/1','up signal conversion/1');
        delete_line('powerwindow','c0/1','up signal conversion/3');
        delete_line('powerwindow','down rate/1','down signal conversion/1');
        delete_line('powerwindow','c1/1','down signal conversion/3');
        delete_line('powerwindow','up signal conversion/1','window input/1');
        delete_line('powerwindow','down signal conversion/1','window input/2');
        delete_line('powerwindow','friction/1','window input/3');
        delete_line('powerwindow','window input/1','gain/1');
        delete_line('powerwindow','gain/1','angular velocity/1');
        delete_line('powerwindow','angular velocity/1','friction/1');
        delete_line('powerwindow','angular velocity/1','window position/1');
        delete_line('powerwindow','window position/1','position/1');
        delete_line('powerwindow','window position/1','obstacle/1');
        delete_line('powerwindow','window position/1','top/1');
        
        delete_block('powerwindow/up rate');
        delete_block('powerwindow/c0');
        delete_block('powerwindow/down rate');
        delete_block('powerwindow/c1');
        delete_block('powerwindow/up signal conversion');
        delete_block('powerwindow/down signal conversion');
        delete_block('powerwindow/window input');
        delete_block('powerwindow/friction');
        delete_block('powerwindow/gain');
        delete_block('powerwindow/angular velocity');
        delete_block('powerwindow/window position');
        
    case 'delete position detection'
        ret = stepTo(POWERWINDOWDEMO_STEP,14,POWERWINDOWDEMO_STEPS);
        if(ret < 0) return; end
        POWERWINDOWDEMO_STEP = ret;

        delete_block('powerwindow/power_window_control_system/detect_obstacle_endstop');
        
    case 'include current detection'
         if POWERWINDOWDEMO_STEP == 14
            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 current detection'); 
        
    case 'add current detection'
        ret = stepTo(POWERWINDOWDEMO_STEP,15,POWERWINDOWDEMO_STEPS);
        if(ret < 0) return; end
        POWERWINDOWDEMO_STEP = ret;

        add_block('built-in/Reference','powerwindow/power_window_control_system/detect_obstacle_endstop', ...
            'Position',[510, 24, 635, 96],'SourceBlock','salib/verify_current');
        set_param('powerwindow/power_window_control_system/detect_obstacle_endstop','LinkStatus','inactive')
        set_param('powerwindow/power_window_control_system/detect_obstacle_endstop','Orientation','left')
        set_param('powerwindow/power_window_control_system/detect_obstacle_endstop','Position',[515, 24, 640, 96])

        set_param('powerwindow/power_window_control_system/position','Name','armature_current')
        
    case 'add object switch'
        ret = stepTo(POWERWINDOWDEMO_STEP,17,POWERWINDOWDEMO_STEPS);
        if(ret < 0) return; end
        POWERWINDOWDEMO_STEP = ret;

        x_offset = 400
        add_block('built-in/GoTo','powerwindow/Goto1', ...
            'Position',[x_offset+165, 265, x_offset+255, 285],'TagVisibility','global', ...
            'ShowName','off','GotoTag','object_present');
        add_block('built-in/Constant',sprintf('powerwindow/present'), ...
            'Position',[x_offset+35, 258, x_offset+60, 272],'NamePlacement','alternate', ...
            'Value','1');
        add_block('built-in/Constant','powerwindow/absent', ...
            'Position',[x_offset+35, 278, x_offset+60, 292], ...
            'Value','0');
        add_block('built-in/Reference','powerwindow/object', ...
            'Position',[x_offset+105, 255, x_offset+140, 295],'BackgroundColor','cyan', ...
            'SourceBlock','simulink3/Nonlinear/Manual Switch');
        %For some reason this has to be moved around to make the lines connect.
        set_param('powerwindow/object','NamePlacement','normal')

        l = add_line('powerwindow','present/1','object/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','absent/1','object/2');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
        l = add_line('powerwindow','object/1','Goto1/1');
		set_param(l,'FontSize',9) % The default fontsize is 18, for some reason
 
    case 'add VR world'
        ret = stepTo(POWERWINDOWDEMO_STEP,18,POWERWINDOWDEMO_STEPS);

⌨️ 快捷键说明

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