diff --git a/code/classes/SCDclass_mdspar.m b/code/classes/SCDclass_mdspar.m index d2bb9595dc794a076a6c3be6d8df97ef6e7bbe42..656e6f183565f6f301709268275f9b68bd720d5c 100644 --- a/code/classes/SCDclass_mdspar.m +++ b/code/classes/SCDclass_mdspar.m @@ -32,8 +32,8 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous assignstring % actualizedata specific denanstring % actualizedata specific caststring % actualizedata specific - + unlinked % unlinked parameter, no actualization will be performed (this is set via an empty MDS source path) end properties @@ -75,7 +75,12 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous obj.modelname=obj.cparser.Results.modelname; obj.datadictionary=obj.cparser.Results.datadictname; obj.modeltpstruct=obj.cparser.Results.modeltpstruct; - obj.skippable=obj.cparser.Results.skippable; + obj.skippable=obj.cparser.Results.skippable; + if isempty(obj.cparser.Results.srctdimodel) + obj.unlinked=1; + else + obj.unlinked=0; + end end function name=getmodelname(obj) @@ -96,28 +101,34 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous end function obj=preactualizecommon(obj, shot) - % Opening the tree - obj.mdsconnect(shot); - % Checking if data can be retrieved, updating get command - [obj, obj.value]=obj.getdata(shot); + if(~obj.unlinked) + % Opening the tree + obj.mdsconnect(shot); + % Checking if data can be retrieved, updating get command + [obj, obj.value]=obj.getdata(shot); - pointspos=strfind(obj.modelparam,'.'); - baseparam=obj.modelparam(1:pointspos(1)-1); - structparam=obj.modelparam(pointspos(1):end); - obj.assignvar=sprintf('%s.Value%s',baseparam,structparam); - obj.assignstring=sprintf('%s=%s;',obj.assignvar,obj.getcommand); - obj.denanstring=sprintf('%s(isnan(%s))=0;',obj.assignvar,obj.assignvar); - obj.caststring=sprintf('%s=%s;',obj.assignvar,obj.assignvar); + pointspos=strfind(obj.modelparam,'.'); + baseparam=obj.modelparam(1:pointspos(1)-1); + structparam=obj.modelparam(pointspos(1):end); + obj.assignvar=sprintf('%s.Value%s',baseparam,structparam); + obj.assignstring=sprintf('%s=%s;',obj.assignvar,obj.getcommand); + obj.denanstring=sprintf('%s(isnan(%s))=0;',obj.assignvar,obj.assignvar); + obj.caststring=sprintf('%s=%s;',obj.assignvar,obj.assignvar); + end end function obj=postactualizecommon(obj, shot) - if obj.verbose==1 - fprintf('Actualizing parameter: ''%s'' <- ''%s'' (%s, shot %d)\n', obj.modelparam, obj.tdiexprused, obj.classname, shot); - end - - evalin('base', obj.assignstring); - evalin('base', obj.denanstring); - evalin('base', obj.caststring); + if(~obj.unlinked) + if obj.verbose==1 + fprintf('Actualizing parameter: ''%s'' <- ''%s'' (%s, shot %d)\n', obj.modelparam, obj.tdiexprused, obj.classname, shot); + end + + evalin('base', obj.assignstring); + evalin('base', obj.denanstring); + evalin('base', obj.caststring); + else + fprintf('Actualizing parameter: ''%s'', parameter unlinked, SKIPPED!\n', obj.modelparam); + end end function [obj,value]=getdatacommon(obj, shot) @@ -150,13 +161,19 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous function printinfocommon(obj) fprintf('%s (class %s):\n', obj.modelparam, obj.classname); fprintf(' Simulink model: ''%s'', data dictionary: ''%s''\n', obj.modelname, obj.datadictionary); - fprintf(' MDS+ source server: ''%s'', Tree: ''%s''\n', obj.mdsserver, obj.mdstree); - fprintf(' MDS+ TDI expressions, model: ''%s''', obj.tdiexprmodel); - if(strcmp(obj.tdiexprmodel, obj.tdiexprshot)) - fprintf(', shot: same.\n'); + if(~obj.unlinked) + fprintf(' MDS+ source server: ''%s'', Tree: ''%s''\n', obj.mdsserver, obj.mdstree); + fprintf(' MDS+ TDI expressions, model: ''%s''', obj.tdiexprmodel); + if(strcmp(obj.tdiexprmodel, obj.tdiexprshot)) + fprintf(', shot: same.\n'); + else + fprintf(', shot: ''%s''\n', obj.tdiexprshot); + end + else - fprintf(', shot: ''%s''\n', obj.tdiexprshot); + fprintf(' UNLINKED!\n'); end + end function out = gettargetparam(obj) diff --git a/code/classes/SCDclass_taskmdsloadprevADC.m b/code/classes/SCDclass_taskmdsloadprevADC.m index 93a0b17f6ecfca591931e108815d073fd6165347..817d0e7607e02b5beb9c67c04d9f0af41129f8db 100644 --- a/code/classes/SCDclass_taskmdsloadprevADC.m +++ b/code/classes/SCDclass_taskmdsloadprevADC.m @@ -68,7 +68,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task assignin('base','temp',T); assigncmd=sprintf('%s.%s=temp;',obj.workspacedatabasestructure, adcbus.Elements(ii).Name); evalin('base',assigncmd); - if obj.verbose==1 + if obj.verbose==1 && mod(ii,4)==0 fprintf('.'); end end @@ -97,7 +97,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task channelstr=sprintf('\\top.crpprt02.board1.adc_%02d.raw',physical2logical(ii)); T.Data(:,ii)=int16(mdsvalue(channelstr)); - if obj.verbose==1 + if obj.verbose==1 && mod(ii,4)==0 fprintf('.'); end end @@ -105,7 +105,7 @@ classdef SCDclass_taskmdsloadprevADC < SCDclass_task %fprintf('Loading channel %d:%d ...\r',2,physical2logical(ii)); channelstr=sprintf('\\top.crpprt02.board2.adc_%02d.raw',physical2logical(ii)); T.Data(:,ii+96)=int16(mdsvalue(channelstr)); - if obj.verbose==1 + if obj.verbose==1 && mod(ii,4)==0 fprintf('.'); end end