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
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
Elina K 2020 年 6 月 8 日
So I need a load command for Unisim? How can I do that?
Walter Roberson
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 ExchangeMATLAB についてさらに検索

質問済み:

2020 年 6 月 8 日

コメント済み:

2020 年 6 月 8 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by