Todd,
You should be able to do what you want. The example ControlledTanks shows how to specify button presses at particular times you can modify this to do other inputs. Is this what you want? I am guessing that you are actually interested in real time simulation so you can type inputs, push buttons, select menus while the simulation runs in real time and changes states.
If you are interested in real time simulation than you need to run the SystemModeler model from Mathematica. Doing this you can also view the chart with highlighted states in real time. As a simple example, I took the ControlledTanks example and modified it to take an input from Mathematica. The file is attached with a Mathematica notebook showing how to run it and interact with it.
The modified diagram has one input -- "button" and based on whether button is 1,2, or 3 it "pushes" the "start", "stop", or "shut" button. This is the only change I made to the built-in example.

In Mathematica you connect to the simulation to do a real time 200 second run
Needs["WSMLink`"]
conn = WSMRealTimeSimulate["NewControlledTanks", 200]
I use the Mathematica variable "buttonInteger" for my input so initialize it to zero and connect it to the simulation:
buttonInteger = 0;
WSMLink`Simulate`SetInputs[conn, "button" -> (buttonInteger &)]
Next, start the simulation (or click on the play button in the graphic returned by the WSMRealTimeSimulate). Define some Mathematica controls to use to set "buttonInteger". then display the tankcontroller state machine inside of the Simulation. The reason I show the tankcontroller and not the whole model is because the only dynamic graphics are inside the controller and there is nothing to see at the top level. In your model if everything is at the main level you would use just conn["Diagram", ImageSize...
conn["Start"]
SetterBar[
Dynamic[buttonInteger], {1 -> "Start", 2 -> "Stop", 3 -> "Shut"}]
Dynamic[Refresh[conn[{"Diagram", "tankController"}, ImageSize -> 500],
UpdateInterval -> 0.05, TrackedSymbols :> {}]]
You can then stop your simulation by clicking the stop button or executing:
conn["Stop"]
Here is the result of all this:

I hope this helps.
Regards,
Neil
Attachments: