Skip to content
Snippets Groups Projects
Commit 94224dc8 authored by Federico Felici's avatar Federico Felici
Browse files

Better handling in case data is not found

parent e61628ab
No related branches found
No related tags found
No related merge requests found
......@@ -28,10 +28,10 @@ classdef SCDclass_mdsparenum < SCDclass_mdspar
obj.marteclassname='MDSParEnum';
end
function actualizedata(obj, shot)
function actualizedata(obj, shot)
obj=obj.preactualizecommon(shot);
if(~obj.unlinked)
if ~obj.actualizable, return; end
if ~obj.unlinked
% Enumeration map fill
obj=obj.initenummap();
......
......@@ -49,10 +49,10 @@ classdef SCDclass_taskmdsloadprevETHCAT < SCDclass_task
end
end
function [obj, value] = getdata(obj,shot)
function [value,success] = getdata(obj,shot)
switch(obj.node)
case 2
[~,value]=obj.getdataNodeETHCAT1(shot);
[value,success]=obj.getdataNodeETHCAT1(shot);
end
end
......@@ -74,7 +74,8 @@ classdef SCDclass_taskmdsloadprevETHCAT < SCDclass_task
function obj = actualizeNode(obj, shot)
dd=SCDconf_getdatadict(obj.datadictionary);
adcbus=dd.getEntry(obj.modelbus).getValue;
[~,data]=obj.getdata(shot);
[data,success]=obj.getdata(shot);
if ~success, return; end
T=timeseries;
if obj.verbose==1
fprintf('Actualizing data for bus: ''%s'' (%s, shot %d) 0%% ', obj.modelbus, obj.classname, shot);
......@@ -99,11 +100,12 @@ classdef SCDclass_taskmdsloadprevETHCAT < SCDclass_task
%%
% Node 02/03 loading functions
function [obj, value] = getdataNodeETHCAT1(obj, shot)
function [value,success] = getdataNodeETHCAT1(obj, shot)
% node02 and 03 store an equal copy of EtherCAT1 input data
% on MDS. Here we take data from the first ok node on MDS.
% This to allow loading in cases where one of the two nodes
% has not stored.
% status=0 indicates success
mdsopen('rtc',shot);
mdsnodename='node02';
T=timeseries;
......@@ -116,7 +118,7 @@ classdef SCDclass_taskmdsloadprevETHCAT < SCDclass_task
if ~isnumeric(timebase)
warning('getdataNodeETHCAT1:NoData', ...
'Could notget EtherCAT1 int16 data either from node02 or node03');
value=[];
value=[]; success=false;
return;
end
d_time = double(mdsvalueraw(['\top.' mdsnodename '.params:d_time']))*1.0e-6;
......@@ -139,7 +141,8 @@ classdef SCDclass_taskmdsloadprevETHCAT < SCDclass_task
value=T;
if obj.verbose==1
fprintf('100%% \n');
end
end
success=true;
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment