0

I have multiple signals which are In-ports to a subsystem with different datatypes.I am using State flow to develop a function where I have to use these in-ports and compare with some constants or true/false for boolean.

For e.g: Lets say 3 signals namely Signal_x [bool], Signal_y[bool], signal_z[bool], I want to incorporate these signals into one signal called as Signal_A and use signal_A in State Flow instead of above 3 signals.

More detail: If there are 2 states state1 & state2 and the system transits from state 1 to state 2 if all the three signals are true, like given below.

[(Signal_x == true) && (Signal_y == true) && (signal_z == true)] then transit from State 1 to state 2.

But instead of using all 3 signals in state flow I want to use only one signals "signal_A" and say the system to transit from state1 to state2.

[(signal_A == true)] then transit from state1 to state2. Signal_A should check the status of all the 3 signals.

Can anyone help me out how this can be done. I have tried using merge block but it did not work and the error was "external signals from root level imports cannot be merged with internal block output signals"

Priyanka
  • 97
  • 1
  • 2
  • 9

1 Answers1

0

You want to use either the Mux block, or the Bus Creator block, to create the input signal. (The Merge block doesn't merge signals in the sense that you are trying to achieve.)

Inside the chart you'll need to use the logical operation any to check if any of the input states are true.

Phil Goddard
  • 10,571
  • 1
  • 16
  • 28