Skip to content

C37.118 Driver

Version: 1.0.0

The ESF C37.118 Driver implements the IEEE Std C37.118-2011 protocol using the Driver model. The Driver can be used to interact with C37.118 devices using different abstractions, such as the Wires framework, the Asset model or by directly using the Driver itself.

Features

The C37.118 Driver features include:

  • Support for C37.118 protocol over TCP.
  • Support for reading data status, frequency deviation and ROCOF.
  • Support for reading phasors, analogs and digitals.

Instance creation

A new C37.118 instance can be created either by clicking the New Driver button in the dedicated Drivers and Assets Web UI section or by clicking on the + button under Services. In both cases, the com.eurotech.framework.c37118.driver.C37118Driver factory must be selected and a unique name must be provided for the new instance.

Driver life-cycle

The driver opens a connection towards the PMU/PDC as soon as a read request is triggered, or at the very first driver instantiation if any channel is configured as listen. Immediately after the connection is established, the driver obtains the configuration from the PMU/PDC, which is kept in memory for the entire life of the connection (no further readings are made for this information). Then, the driver asks the PMU/PDC to start sending data, which is then made available through ESF readings. If no new readings are triggered for a considerable amount of time (configurable in the driver configuration through the Reception session length parameter), and there are no listen channels, the driver asks the PMU/PDC to stop sending data in order to avoid waste of network traffic, then closes the connection. As soon as a new read is triggered (or a new listen channel is configured), the process starts again with a new connection. If any channel is set as listen, the driver never asks the PMU/PDC to stop sending data.

Channel configuration

The C37.118 Driver channel configuration is composed of the following parameters:

  • name: the channel name.
  • type: the channel type, (only READ is available for this protocol).
  • value type: the Java type of the channel value.
  • pmu.id: Phasor Measurement Unit ID.
  • c37118.data.type: the type of metric to be read.

    • ANALOG: numeric value, can be mapped as DOUBLE, FLOAT, INTEGER, LONG
    • DFREQ: numeric value, can be mapped as DOUBLE, FLOAT, INTEGER, LONG
    • DIGITAL: should be mapped as Java BOOLEAN
    • FREQ: numeric value, can be mapped as DOUBLE, FLOAT, INTEGER, LONG
    • PHASOR: should be mapped as Java STRING (the returned string is a json containing the real and imaginary float fields of the complex number)
    • STAT: numeric value, should be mapped as Java INTEGER
  • c37118.channel.name: the name of the channel to be read. This parameter must be set only with ANALOG, DIGITAL, PHASOR data types. In all other cases, must be left blank.