SECS/GEM Simulator
Overview​
The SECS/GEM module includes the capability to add and configure equipment simulators. Equipment simulators include basic functionality and can handle a number of SECS messages, allowing you to model a simulator after an existing tool. You can also add hard-coded responses to messages that do not exist in the simulator.
Simulators are created from the Gateway under Connections > SECS/GEM > Simulators. Simulator creation is typically performed as part of initial setup when configuring a SECS/GEM environment. For step-by-step instructions on creating a simulator and connecting it to an equipment connection, see the Using the SECS/GEM Module page.
Simulator SDL File​
A simulator is driven by data defined in its SDL file. This file uses the same general structure as the SDL file for equipment connections, but also includes simulator-specific configurations such as default control states, status variables, equipment constants, reports, collection events, and optional hard-coded behavior. The simulator SDL file is read when the simulator starts.
The simulator SDL file can be edited directly, but creating or modifying objects manually can take significant time. A Sim Variables panel provides structured access to the simulator SDL file and is the primary interface for viewing and modifying simulator configuration. Any changes made through the Sim Variables panel are written to the SDL file.
Follow the steps below to modify the simulator SDL file from the Gateway:
- Navigate to Connections > SECS/GEM > Simulators.
- Click the three dots menu next to the simulator you want to modify and select Sim Variables.
- The SDL file is displayed in a tree view, allowing you to browse its contents and edit individual object values. Click Save Changes when finished.
After saving changes to the simulator SDL file, the simulator must be restarted for the updates to take effect. For additional simulator behavior and information, see the Additional SECS/GEM Simulator Features page.
Default Messages​
The simulator implements the GEM Communications State Model and the GEM Control State Model, and can respond to the following requests by default:
- S1F1 - Are You Online
- S1F3 - Selected Equipment Status Request
- S1F11 - Status Variable Namelist Request
- S1F13 - Establish Communications Request
- S1F15 - Request OFFLINE
- S1F17 - Request ONLINE
- S2F13 - Equipment Constant Request
- S2F15 - New Equipment Constant Send
- S2F17 - Data and Time Request
- S2F23 - Trace Initialize Send
- S2F29 - Equipment Constant Namelist Request
- S2F31 - Date and Time Set Request
- S2F33 - Define Report
For example, sending S1F15 transitions the simulator to an OFFLINE state. In this state, most messages are rejected with S1F0. Sending S1F17 transitions the simulator back to an ONLINE state. Control state changes can trigger event reports, as defined in the simulator SDL file.
Although additional messages can be defined in the simulator SDL file, the simulator only responds automatically to the messages listed above. Messages that are not handled by the simulator are rejected unless an Echo Response is configured.
Simulator Properties​
When using a simulator, there are a number of properties that can be configured.
| Property Name | Description |
|---|---|
| Name | Name of the simulator. |
| Description | Description of the simulator. |
| Enabled | Enables or disables the simulator. A disabled simulator prevents communication with the equipment connection. Default is TRUE. |
| Active IP Address | IP address of the equipment connection when using Active mode. Default is localhost. |
| Active Port | Port used in Active mode. Must be unique when running multiple simulators. Default is 5000. |
| Passive IP Address | IP address Ignition listens on when using Passive mode. Default is localhost. |
| Passive Port | Port used in Passive mode. Must be unique when running multiple simulators. Default is 5000. |
| Device ID | Unique equipment identifier. Must be an integer. Default is 0. |
| Connection Mode | Connection method: Active, Passive, or Alternating. Default is PAS. |
Advanced Properties​
| Property Name | Description | Default |
|---|---|---|
| T3 Reply Timeout | Specifies the seconds that the simulator will wait for an expected SECS message reply. | 45 |
| T5 Connect Separation Timeout | Specifies the seconds which must elapse between successive attempts to connect to an equipment connection after disconnection. | 10 |
| T6 Control Transaction Timeout | Specifies the seconds which a control transaction (such as LinkTest or Select) may remain open before it is considered a communications failure. | 5 |
| T7 Not Selected Timeout | Seconds which a TCP/IP connection can remain in NOT SELECTED state (i.e., no HSMS activity) before it is considered a communciations failure. This timeout is only used in Passive mode. | 10 |
| T8 Network Intercharacter Timeout | Maximum seconds between successive bytes of a single HSMS message which may expire before it is considered a communications failure. This applies to HSMS messages received from an equipment connection. | 5 |