www.gusucode.com > mbcexpr 工具箱 matlab 源码程序 > mbcexpr/@cgconstant/buildSLSource.m
function [C,vpos] = buildSLSource(E,sys,vpos,col,SOPTS,~) %BUILDSLSOURCE build Simulink source block for strategy editor % % [C,thisVal] = buildSLSource(E,sys,vpos,col,SOPTS,pNonNormalisers) % Copyright 2007-2012 The MathWorks, Inc. and Ford Global Technologies, Inc. valName = getname(E); vP= address(E); val = eval(E); if isempty(val) || isnan(val) val=1; else val = val(1); end if SOPTS.WriteCalibration if isempty(val) || isnan(val) width = 15; else width = 75; end else width = 15; end blk = add_block('built-in/constant',[sys,'/',valName],... 'MakeNameUnique','on',... 'orientation','right',... 'position',[20 vpos 20+width vpos+15],... 'ForeGroundColor',col,... 'userdata',vP,'linkstatus','none',... 'Tag','cgSLSource'); if SOPTS.Export % assign constant data to model workspace ws = get_param(bdroot(blk),'ModelWorkspace'); ws.assignin( valName, val); set_param(blk,'Value',valName); else set_param(blk,'Value',num2str(val)); end set_param(blk,'copyfcn','set_param(gcb,''userdata'',[])'); h = add_block('built-in/Goto',[sys,'/_G',valName],... 'MakeNameUnique', 'on', ... 'orientation','right',... 'position',[135 vpos 235 vpos+15],... 'GotoTag',valName,... 'Description',valName,... 'ShowName','off',... 'ForeGroundColor',col,... 'TagVisibility','scoped'); add_block('built-in/GotoTagVisibility',[sys,'/',valName,'_Tag'],... 'MakeNameUnique', 'on', ... 'GotoTag',valName,... 'ShowName','off',... 'foregroundcolor',col,... 'position',[240 vpos 250 vpos+15]); vpos = vpos + 30; C=get_param(blk,'PortHandles'); C=C.Outport; c=get_param(C,'Position'); G=get_param(h,'PortHandles'); G=G.Inport; g=get_param(G,'Position'); add_line(sys,[c;g]);