diff --git a/code/classes/SCDclass_mdspar.m b/code/classes/SCDclass_mdspar.m index abf225e6f133a8b933d4c1e6258ebee6dbda3b05..7cfff7960e982b7b95ba4d40f4a0219c0500a5af 100644 --- a/code/classes/SCDclass_mdspar.m +++ b/code/classes/SCDclass_mdspar.m @@ -112,34 +112,19 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous % parameter, otherwise it is taken from the global shot number % given to the actualize command if obj.overrideshot == 1 - localshot = obj.overrideshotn; + localshot = obj.overrideshotn; else - localshot = shot; + localshot = shot; end - s=mdsopen(obj.mdstree, localshot); - openok=true; - if isempty(s) - openok=false; - end - if openok - if ~isnumeric(s) || s~=localshot - openok=false; - end - end - if openok - if s~=localshot - openok=false; - end - end - if ~openok - warning('SCDclass_mdspar:MDSerror','MDS+ tree open error for parameter %s. Actualization skipped.',obj.modelparam); + mdsconnect(obj.mdsserver); + [~,s] = mdsopen(obj.mdstree, localshot); + if ~rem(s,2) + warning('SCDclass_mdspar:MDSerror','MDS+ tree open error for parameter %s. Actualization skipped.',obj.modelparam); obj.actualizable=false; end - %str=sprintf('SCDclass_mdsparam (%s), failed opening MDS+ tree', obj.modelparam); - %assert(s==localshot, str); end - function obj=setactualizecmds(obj, shot) + function obj=setactualizecmds(obj) pointspos=strfind(obj.modelparam,'.'); baseparam=obj.modelparam(1:pointspos(1)-1); structparam=obj.modelparam(pointspos(1):end); @@ -157,7 +142,7 @@ classdef SCDclass_mdspar < matlab.mixin.Heterogeneous % Checking if data can be retrieved, updating get command [obj, obj.value]=obj.getdata(shot); if ~obj.actualizable, return; end - obj=obj.setactualizecmds(shot); + obj=obj.setactualizecmds; end end