2016-04-18 8 views
1

Ich möchte 2 Aufzählungslisten in Simulink auf eine Weise zuordnen, dass es einfach ist, die Verbindung zwischen den 2 Maps zu sehen, die ihre Namen anstelle ihrer Werte verwenden. Wie kann das gemacht werden?Matlab Simulink Enumerationszuordnung

Vielen Dank!

Beispiel:
Aktionen:

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

Staaten:

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

Die Anschlüsse so sein würde:

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

Suchen Sie nach einem Simulink-Block für dieses Mapping? –

+0

Es sollte in Simulink-Modell verwendet werden, aber wenn die Lösung aus einem Block mit einigen zusätzlichen Code \ Komponenten besteht, ist es auch in Ordnung. –

Antwort

0

Um dies zu erreichen die gängige Praxis ist, Verwenden Sie eine Multiport Switch. Verwenden Sie die Werte für States als Datenport-Indizes und der Actions als Enumerated Constants wie folgt aus:

enter image description here

Die Einstellungen für die Multischalter sollte wie folgt aussehen:

enter image description here

Ich habe gemacht die Datentypen von Signalen sichtbar, um zu sehen, dass wir ein Signal vom Datentyp States auf ein Signal vom Datentyp Actions abbilden.

Verwandte Themen