Customization > Automation Interface > Functions > For System Simulations > Functions for controlling system simulations (automation interface) > Functions for controlling system simulations (automation interface)
  
Functions for controlling system simulations (automation interface)
The exposed automation interface to the State Machine Controller, allows you to simulate your application interfaces with your system simulations.
To access the State Machine Controller functions from external applications, create a root object as in the example that follows:
Dim objRTS As Object
Set objRTS = CreateObject("Studio.StateMachineController")
objRTS.CreateStateMachine("")
To see how the functions work together, see the supplied traffic light example.
* 
The state machine controller supports the functions for controlling the Modeler user interface, such as the MoveMainWindow function.
The following functions are provided:
State machine functions:
CreateStateMachine
GetStateMachineHandle
GetStateMachineName
UnloadStateMachine
Animation functions:
EnableAnimation
DisableAnimation
AnimationEnabled
EnableOpenDiagrams
DisableOpenDiagrams
OpenDiagramsEnabled
ResetDiagrams
Breakpoint functions:
EnableBreakpoints
BreakpointsEnabled
DisableBreakpoints
Event functions:
EnableEventQueuing
GetNextEvent
GetEventClassInstance
GetEventHSTM
GetEventID
GetEventName
GetParameterCount
GetParameter
GetEventTime
GetClassGUID
InjectEvent2
SetParameterCount
SetParameter
GetEventLineNumber
GetEventFileName
DisableEventQueuing
InjectEvent (deprecated)
Notification functions:
EnableNotificationQueuing
GetNextNotification
GetNotificationHSTM
GetNotificationID
GetNotificationClassInstanceID
GetNotificationName
GetNotificationType
GetNotificationTime
GetNotificationLineNumber
GetNotificationFileName
DisableNotificationQueuing
Attribute functions:
GetAttribute2
SetAttribute2
GetAttribute (deprecated)
SetAttribute (deprecated)
Reporting functions:
EnableFileLogging
SetLogFile
GetLogFileName
FileLoggingEnabled
DisableFileLogging
EnableOutputViewLogging
OutputViewLoggingEnabled
DisableOutputViewLogging