Matlab Simulink枚举映射

时间:2016-04-18 07:39:59

标签: matlab enums simulink

我想在simulink中映射2个枚举列表,以便使用它们的名称而不是它们的值很容易看到2个映射之间的连接。怎么办呢?

谢谢!

示例
行动:

classdef(Enumeration) Actions < Simulink.IntEnumType
    enumeration
        Off(1)
        PowerOn(2)
        PowerOff(3)
    end
end 

国:

classdef(Enumeration) States < Simulink.IntEnumType
    enumeration
        START(1000)
        RUNNING(1002)
        STOPPED(1003)
        OFF(1004)
    end
end 

连接将是这样的:

States.START -> Actions.PowerOn
States.RUNNING -> Actions.PowerOn
States.STOPPED -> Actions.PowerOff
States.OFF -> Actions.Off

1 个答案:

答案 0 :(得分:0)

要实现这一点,通常的做法是使用Multiport Switch。将States的值用作数据端口索引,将Actions的值用作Enumerated Constants,如下所示:

enter image description here

多端口交换机的设置应如下所示:

enter image description here

我已将信号的数据类型设为可见,以便我们将数据类型States的信号映射到数据类型Actions的信号。