Matlab-如何使用m文件生成或保存枚举量(ENUM)到文件中

目录

1,将枚举量保存在DD文件中

2,保存枚举量到m文件中 

3,Simulink中使用枚举量


1,将枚举量保存在DD文件中

在m文件中运行下列代码,即可以生成枚举量到DD文件中。

下边代码中,有一个枚举量myColors,它有三个枚举值分别为Orange/Black/Cyan,对应的值为0/1/2。

clear;clc;
myColors = Simulink.data.dictionary.EnumTypeDefinition;
appendEnumeral(myColors,'Orange',0,'');
appendEnumeral(myColors,'Black',1,'');
appendEnumeral(myColors,'Cyan',2,'');

myColors.Description = 'These are my favorite colors.';
myColors.DefaultValue = 'Cyan';
myColors.HeaderFile = 'colorsType.h';


if exist('myNewDictionary.sldd')
    myDictionaryObj = Simulink.data.dictionary.open('myNewDictionary.sldd');
else  
    Simulink.data.dictionary.create('myNewDictionary.sldd');
    myDictionaryObj =Simulink.data.dictionary.open('myNewDictionary.sldd');
end
importFromBaseWorkspace(myDictionaryObj,'varList',{'myColors'});

clear;

只需要将代码中的枚举量myColors及对应的枚举值替换成你自己的枚举量名称及枚举值,同样下边行代码中大括号 { }内的枚举量名称也要更改为你自己的枚举量名称。

如果你有多个枚举量,在下边这行代码中的大括号{ } 内添加枚举量名称:

importFromBaseWorkspace(myDictionaryObj,'varList',{'myColors'});

2,保存枚举量到m文件中 

此种方法一个m文件只能保存一个枚举量,如下代码是一个枚举量的定义,将其复制到m文件中,保存m文件,注意文件名需要与枚举量名称一样。

注意:因为一个m文件只能保存一个枚举量,因此若有多个枚举量,就有对应数量的m文件保存这些枚举量。

在使用这些枚举量时,需要将这些保存枚举量的m文件添加到路径中。

classdef BasicColors < Simulink.IntEnumType
  enumeration
    Red(0)
    Yellow(1)
    Blue(2) 
  end
end

3,Simulink中使用枚举量

Constant模块使用枚举量中的枚举值,需要使用Simulink模块库中的Enumerated Constant 模块,参数设置如下图:

变量也可以使用枚举量作为数据类型:

a = Simulink.Signal;
a.DataType = 'Enum:BasicColors';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值