How to create bus from timeseries object including enumerated class?
7 次查看(过去 30 天)
显示 更早的评论
1) I define an enumerated class BHA **
classdef BHA
enumeration
Stationary, Run
end
end
**** (2) Then I generate a timeseries ****
clear all; close all;
for row = 1:12
a(:,:,row) = [1;2;3];
b(:,:,row) = [1;2]*9.8;
c(:,:,row) = BHA.Stationary;
end
HallwaySensonor.a = timeseries(a);
HallwaySensonor.b = timeseries(b);
HallwaySensonor.c = timeseries(c);
save('HallwaySensonor.mat','HallwaySensonor','-v7.3');
*** (3) Now as I try to create the bus, I got the trouble ***
load('HallwaySensonor.mat');
busInfo = Simulink.Bus.createObject(HallwaySensonor);
*** It shows Error using Simulink.Bus.createObject>createBus (line 324) Simulink.Bus.createObject reported the following error when processing the field 'c' in the input structure:
'Invalid value specified for parameter
object. Value must be a numeric array,
fi object, an enumerated value, or a
scalar structure whose fields contain
valid values.'
 
Error in
Simulink.Bus.createObject>createObjectFromVarStruct
(line 242)
name = createBus(sp, '', name, 0,
scope);
Error in Simulink.Bus.createObject (line
105)
busInfo =
createObjectFromVarStruct(sp,
busName, fileName, format, scope);
Error in BusCreation (line 13)
busInfo =
Simulink.Bus.createObject(HallwaySensonor);
0 个评论
采纳的回答
Venkatachala Sarma
2016-3-10
编辑:per isakson
2016-4-17
Try subclassing BHA from Simulink.IntEnumType.
classdef BHA < Simulink.IntEnumType
enumeration
Stationary(0),
Run(1)
end
0 个评论
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!