Documentation Home Page HYPERSIM Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

Configuring Using the .io File Workflow



The ABB PS935 I/O interface also offers the possibility of using the legacy file system for configuration.

It needs two configuration files to be able to work properly in HYPERSIM:

  • the .io file
  • the driver configuration file

For sake of simplicity, this document will use the following names: for the .io file and PS935_cfg.opal for the driver configuration file.

Note that these files exist only on the simulator. Therefore, editing them requires access to the simulator's file system and console. In order to achieve that, please follow this knowledge base article:


This file lists a series of important details needed by the HYPERSIM simulation. The name of the .io file must be specified in the hyServMain.cfg file (found at /export/local/ssr/hyconfig) with the line:


The file has three main sections, named as follows: [HARDWARE_DIL], [MAPPING] and [SENSORS_DIL]. Below is an explanation of how these sections must be completed in order to use the ABB PS935 driver in your simulation.
First of all, the [HARDWARE_DIL] section lists the drivers that will be used in the simulation. For the PS935 driver to be included, the section should look as follows:

!Tag Type Identification IOMode Config
!--- ---- -------------- ------ ------
opal_1 PS935 0xeace4474 1 export/local/ssr/hyconfig/PS935_cfg.opal

Each entry (line) is composed of 5 items :

  • Tag: Label used to refer to the current hardware. You can choose the tag name as you wish; this tag is used to identify the driver further down in the next sections of the .io file.
  • Type: Main hardware’s type. “PS935” = ABB PS935.
  • Identification: ID to differentiate identical hardware. For ABB PS935, this ID represents the device's MAC address. Therefore, the identification column must contain the MAC address of the PS935 device being configured; here as an example it is set to 0xeace4474. 
  • IOMode: 1 = Send IOs with a step delay; 3 = send IOs after computation. Should be the same for all IOs on the same core of a given system.
  • ConfigThe config column must contain the full path to the configuration file of the driver.

The [MAPPING] section binds the tags defined in the section described above to cores of the simulator. Example:

!Tag Node
!--- ----
opal_1 1

Each entry (line) is composed of 2 items :

  • Tag: Label referring to specific hardware (defined in [HARDWARE_DIL]).
  • Node: The core number bound to this hardware.

Note that it is possible to assign multiple cores to hardware defined in [HARDWARE_DIL].

Finally, the [SENSORS_DIL] section is used to bind sensors in the simulation to drivers identified with their tags.

You can make connections on different data points in this section. These data points are between the card and the driver and represent the values of the floating point and binary data.
Here is an example of the file:

!Type Sensors Tag ConnectionPoint Modifier
!---- ---- ----- -------- ------------------------------------------------ ---------
DA		11001		11128		opal_1				F32In[0:127]				none
AD		12001		12128		opal_1				F32Out[0:127]				none
DO		13001		13512		opal_1				BitIn[0:511]				none
DI		14001		14512		opal_1				BitOut[0:511]				none

Each entry (line) is composed of 5 items :

  • Type: Type of sensor: DA (F32), AD (F32), DO (bit), DI (bit)
  • Sensors: Range of sensor numbers linking to the connection points
  • Tag: Label referring to specific hardware (defined in [HARDWARE_DIL])
  • ConnectionPoint: Name of the connection point defined in the driver configuration file. PS935 publishes four types of connection points:
    • F32Out and F32In: for voltage and current values
    • BitIn and BitOut: for discrete values (switches’ position)

The file also contains a relative path to the PS935_cfg.opal file. This file is very important, as it is used to configure the driver, and is detailed below.


This file is used to configure the driver. It describes the configuration of the connected PS935 device. Below is an example of this configuration file when the card is configured to work with a hardware loop-back.

OPAL-1.0 Object
PS935Config {

Configuration parameters

countDigitalInNumber of binary values sent from HYPERSIM to the device
countDigitalOutNumber of binary values received by HYPERSIM from the device
countFloatInNumber of floating point values sent from HYPERSIM to the device
countFloatOutNumber of floating point values received by HYPERSIM from the device

Select whether the driver works in hardware loop-back mode, software loop-back mode or no loop-back at all.

Possible options are:

  • 0: This value represents the no loop-back mode. This option is the one that needs to be used in order to interface with the equipment connected to the ABB PS935 device. The way the data exchanged with HYPERSIM is consumed depends on the firmware programmed in the device. In other words, the driver uses the memory space specified by ABB (considered as default mode).
  • 1: This value represents the hardware loop-back mode. This option configures the driver to exchange data with the ABB PS935 device, and is therefore meant to ensure the correct setup and function of the device, if necessary. The driver uses the same memory space for writing and reading (considered as test mode for internal loopback).
  • 2: This value represents the software loop-back mode. This option does not make use of the ABB PS935 device, instead it emulates the board. This mode allows to test the HYPERSIM model setup without any boards.

OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | | +1 514-935-2323