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.

C37.118 Slave | Configuration

Accessing the I/O Interface Configuration

The C37.118 slave communication protocol can be configured in the I/O Interface Configuration tool that can be opened from the HYPERSIM ribbon.

See the following link for more information on the general use of the I/O Interface Configuration.

General Configuration

The C37.118 slave I/O interface is configured within a few pages. The first page contains some generic configurations.

Use external clockIf set to "true", timings will be calculated based on the external timestamp coming from an external time source, such as an Oregano or Spectracom cards for example, and provided through the connection points. If the system is not equipped with any synchronization source, the timestamp will be computed locally.
Auto-connect to external synchronization if present

If "Use external clock" is set to "true" this option will appear. If enabled, the driver will attempt to detect a synchronization source and automatically use it. The only source available for the moment is the Oregano Syn1588 PCIe card. The card needs to be present in the system and the Synchronization I/O interface must be properly configured to achieve the automatic synchronization.
Please take note if the Synchronization I/O interface is configured to output a shifted timestamp by checking its "Time offset (s)" parameter. 

Use RT core(s) for asynchronous computationIf set to "true", the driver will reserve one or multiple real-time CPU cores for its communication system and will be able to handle a bigger amount of slaves, phasors, analogs and digitals. If set to "false", the communication system will default to core 0.
The driver will scale itself on multiple cores if necessary depending on the amount of PMUs, their data rate and their data size.
Add monitoring on queuesIf set to "true", allows the driver to monitor the driver's internal queues usage and return their values in connection points.
Enable verbose modeIf enabled, additional information will be displayed into HYPERSIM log.
Enable virtual modeIn virtual mode, the model can be executed even if this I/O interface is not compatible with the hardware configuration of the system. The connections between the model and the I/O interface will be done during the initialization, but the I/O interface will not do anything.
The virtual mode can be used to troubleshoot problems on a system without having the required hardware, or to prepare a model with different I/O interfaces even if the final hardware platform is not available.

Slave Configuration

When creating a new C37.118 slave I/O interface configuration, one stream is preconfigured with the following settings that can be changed. These parameters are applied to one single stream, attached to a specific IP address, network interface and communication port (TCP/UDP).

IDThis parameter is a unique identifier needed for each slave. The C37.118 master must use this identifier to connect with a given slave interface.

Select "TCP", "UDP" or "TCP and UDP" depending on the desired behaviour. When using "TCP" or "TCP and UDP" protocols, the combination of the IP address and TCP port has to be unique for each slave. There are 3 possible cases:

  1. Same IP address for all slaves with a unique TCP port
  2. Unique IP address for each slave using the IP aliasing with the same TCP port
  3. Both IP address (using the IP aliasing) and TCP port are unique for each slave

Same considerations apply for UDP port when using "UDP" or "TCP and UDP" protocols. When using "TCP and UDP" protocol, TCP will be used to receive commands and UDP will be used to send data. Both ports must be different from each other.

TCP portSpecifies the TCP port that will be used by the C37.118 master to establish a connection with the C37.118 slave. Only visible when operating in TCP or in TCP+UDP mode.
UDP portSpecifies the UDP port that will be used by the C37.118 master to establish a connection with the C37.118 slave. Only visible when operating in UDP or in TCP+UDP mode.
NIC nameThe desired network interface name. The proper interface name should be selected based on the information given by the linux command "ifconfig".
IP addressThe IP aliasing functionality can be used to give each slave a different IP address even though the same network interface will be used.
  • Each slave will have its own IP alias (i.e. eth0:0, eth0:1 ...) and they should appear in the list displayed by the linux command "ifconfig".
  • If the C37.118 master I/O interface is used to connect to the slave running on the same target, the localhost address ( must be used as well as the loopback network interface "lo".
  • It is possible to use the keyword ‘ANY’ and the IP address of the first network interface of the simulator will be automatically be used to handle the communication of this stream.
FrequencySelect the nominal frequency of the stream. It can be either 50 or 60 Hz.
Data rateSelect the number of frames per second to transmit.
Custom data rateSpecify a custom number of frame per second (not part of the standard) to transmit. The value should be between 1 and 512 inclusively.
Phasors representationCan be either polar or rectangular.
Phasors formatCan be either INT16 or FLOAT.
Analogs formatCan be either INT16 or FLOAT.
Frequency formatCan be either INT16 or FLOAT.
HeaderAdditional text information if required. This information will be returned to the C37.118 master after a 'Header frame' request command.
Round packet timestampBy activating this option, the fraction of seconds written into the packet will be rounded to simulate a timestamp perfectly aligned on the UTC time. If an external synchronization source is used, the time quality indication code will be set to 0 (normal operation); however, if there is no external clock, the code will be set to F (fault, clock failure, time not reliable) - which is the standard behaviour when the external clock is absent.

Each stream has a configurable number of phasors, analog and digital values.

Phasor Configuration

For each phasor, there are three configuration fields:

Phasor nameThis parameter will help the user to connect signals to the model, meaning it has to be unique for each signal. This name will appear in the list of connection points available to receive data from the model.
Phasor typeSelect the type of each phasor between CURRENT and VOLTAGE.
Phasor unit

Specifies the unit of each phasor measurement. If the data format is INT16, each unit has a conversion factor of 10^-5 Volts or Amperes on the phasor magnitude.

As an example, if the signal connected to the phasor input has a magnitude of 11 000 and the specified unit for this phasor is 100, the value will be interpreted as (11 000 * 100 * 10^-5) = 11 by the C37.118 master.

This scaling feature is defined by the standard. If the data format is FLOAT, this scaling does not apply.

Analogs Configuration

For each analog, there are three configuration fields:

Analog nameThis parameter will help the user to connect signals to the model, meaning it has to be unique for each signal.
Analog typeSelect the type of each analog between "SINGLE POINT", "PEAK" and "RMS".
Analog unitSpecifies the unit of each analog measurement. It is a user-defined scaling that must be part of the reported data frame in order for the C37.118 master to interpret it.

Digitals Configuration

For each digital, there are two configuration fields:

Digital nameThis parameter will help the user to connect signals to the model, meaning it has to be unique for each signal.
Digital unitSpecifies the mask of each digital. Two 16-bit words are provided for each digital word.
  • The first word is used to indicate the normal status of the digital input by returning a 0 on a logic (XOR) with the corresponding digital input (also referred to as status word).
  • The second word indicates the current valid inputs to the PMU by setting the bit in the binary position corresponding to the digital input to 1 and all other bits to 0.
  • If the digital status words are used for something different than Boolean status indication, the use of masks is left to the user, such as min or max settings.

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