By default, the Simulator can respond to the following requests.
- S1F1 - Are You Online
- S1F3 - Selected Equipment Status Request
- S1F11 - Status Variable Namelist Request
- S1F13 - Establish Communications Request
- S1F15 - Request OFF-LINE
- S1F17 - Request ON-LINE
- 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
While the SDL can be modified, note that the Simulator can only respond to the requests listed above: you can add new messages to the simulator's SDL, like S999F1 and S999F2, but the Simulator by default will not respond to any requests using S999F1. If you wish to add new responses, you can create an Echo Response to simulate a response to any request not listed above. See the Echo Response section for more details.
The simulator implements the Communications State Model and the Control State Model from the GEM standard (SEMI E30). For example, sending an S1F15 message to a simulator will cause the simulator to move to the OFF-LINE state and will thereafter respond to most messages with S1F0. Sending an S1F17 message to the simulator will move it back into an online state. When control states change, an S6F11 report message is sent with the updated control state. The default startup control states are defined in the simulator SDL file.
Configuring a Simulator
The following section details how to configure a SECS/GEM simulator.
- Navigate to the SECS/GEM Simulator page:
- From the Configure section of the Gateway webpage, scroll down the list of links on the left until you see the SECS/GEM section. click on the Simulator link.
- Alternatively, use the search bar located in the upper left corner of any page on the Gateway, and search for
- Once on the Simulators page, click on the Create New Simulator link.
- From here we can create a new simulator. In the very least, you will need to specify a name for the simulator.
- If this is the first SECS/GEM simulator device connection, then you can use the default values for the rest of the properties and skip to the next step.
Subsequent simulators require a different port: two simulators cannot run on the same port. Note that there are multiple port properties.
- If the Connection Mode is set to Active, then the simulator will use the Active Port
- If the Connection Mode is set to Passive, then the simulator will use the Passive Port
- If the Connection Mode is set to Alternating, then the simulator will try to use either the Active Port or Passive Port. As the name implies, the connection will attempt to alternate between the Active and Passive settings until a connection is established.
- Click on the Create New Simulator button to save your configuration and create the simulator device. You will see the Simulators page again.
- Note, that the simulator status will toggle between "Connecting..." and "Not Connected" until you create an equipment connection that connects to the simulator's IP address and port. Once the Equipment Connection is established, the simulator will report a status of "Communicating". You can then run SECS/GEM commands against the simulator's equipment connection and receive responses.
When configuring a simulator, there are a number of properties that can be configured.
|Simulator Name||Name of the simulator.|
|Simulator Description||A description of the simulator.|
|Enabled||Whether the simulator is enabled or disabled. A disabled simulator will prevent communication with the Equipment Connection.||true|
|Active IP Address||IP Address of Equipment Connection to connect to. Used when simulator is in Active mode.||localhost|
|Active Port||The Port number of the Equipment Connection to connect to when simulator is in Active mode. When using multiple simulators, the port numbers need to be unique.||5000|
|Passive IP Address||IP Address of Ignition that the Equipment Connection will connect to when the simulator is in Passive mode.||localhost|
|Passive Port||Port number that the Equipment Connection wil connect to when the simulator is in Passive mode. When using multiple simulators, the port numbers need to be unique.||5000|
|Device ID||Unique identifier of equipment. Must be an integer.||0|
Method used to connect.
|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|