Why Struct contents reference from a non-struct array object occurs?
显示 更早的评论
I'm new to MatLab. Trying to connect MatLab and Unisim Design.
load('p_rez','p');
N=12;
M=1679616;
h=actxserver('UniSimDesign.application');
fl=h.ActiveDocument.Flowsheet;
flow=fl.MaterialStreams;
N2=flow.Item('Nitrogen');
CO2=flow.Item('CO2');
H2S=flow.Item('H2S');
Methane=flow.Item('Methane');
Ethane=flow.Item('Ethane');
Propane=flow.Item('Propane');
IButane=flow.Item('i-Butane');
NButane=flow.Item('n-Butane');
IPentane=flow.Item('i-Pentane');
NPentane=flow.Item('n-Pentane');
Feed=flow.Item('Feed');
for i=1:M
N2.MassFlowValue=p(i,1)/3600;
CO2.MassFlowValue=p(i,2)/3600;
H2S.MassFlowValue=p(i,3)/3600;
Methane.MassFlowValue=p(i,4)/3600;
Ethane.MassFlowValue=p(i,5)/3600;
Propane.MassFlowValue=p(i,6)/3600;
IButane.MassFlowValue=p(i,7)/3600;
NButane.MassFlowValue=p(i,8)/3600;
IPentane.MassFlowValue=p(i,9)/3600;
NPentane.MassFlowValue=p(i,10)/3600;
Feed.PressureValue=p(i,11);
Feed.TemperatureValue=p(i,12);
VP(i)=Feed.VapourFractionValue;
end
save('VP_Rez','VP');
and here is an error
"Struct contents reference from a non-struct array object.
Error in FromUS (line 6)
fl=h.ActiveDocument.Flowsheet;"
What am I doing wrong?
3 个评论
Walter Roberson
2020-6-8
What happens if h.ActiveDocument is empty ? You do not appear to be telling UniSimDesign to load or open anything; it might not happen to have anything active.
Elina K
2020-6-8
Walter Roberson
2020-6-8
It looks like you would use h.GetObject() to load an existing case such as is shown near the bottom of the page I-9 at https://sites.ualberta.ca/CMENG/che312/F06ChE416/HysysDocs/AspenHYSYSCustomizationGuide.pdf
回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!