Skip to main content

IEC61850-9-2: Sampled Values

Prerequisites

This node-type requires libiec61850 (>= 1.3.1).

Implementation

The source code of the node-type is available here: https://github.com/VILLASframework/node/blob/master/lib/nodes/iec61850_sv.cpp

Data-types

TypeFormat identifier
booleanb
int8o
int16w
int32d
int64g
int8uO
int16uW
int32uD
int64uG
float32f
float64F
enumeratede
coded_enumc
octet_strings
visible_stringS
objectnamen
objectreferencer
timestampt
entrytimee
bitstringB

Configuration

object (Input configuration (received by VILLASnode))
object (Output configuration (sent out by VILLASnode))
interface
required
string

Name of network interface to/from which this node will publish/subscribe for SV frames.

app_id
integer
Default: 16384
dst_address
string
Default: "01:0c:cd:01:00:01"
vectorize
integer
Default: 1

This setting allows to send multiple samples in a single message to the destination nodes.

The value of this setting determines how many samples will be combined into one packet.

Array of Hook Object (object) or Hook Name (string) (hook_list)
builtin
boolean (Builtin hook functions)
Default: true

By default, each node and paths has a couple of default hooks attached to them. With this setting the attachment of built-in hooks can be disabled.

{
  • "in": {
    },
  • "out": {
    },
  • "interface": "string",
  • "app_id": 16384,
  • "dst_address": "01:0c:cd:01:00:01",
  • "vectorize": 1,
  • "hooks": [
    ],
  • "builtin": true
}

Example

node/etc/examples/nodes/iec61850-9-2.conf
nodes = {
sampled_values_node = {
type = "iec61850-9-2"

interface = "lo"
dst_address = "01:0c:cd:01:00:01"

out = {
signals = (
{ iec_type = "float32" },
{ iec_type = "float64" },
{ iec_type = "int8" },
{ iec_type = "int32" }
)

sv_id = "test1234"
smp_mod = "samples_per_second"
smp_synch = "local_clock"
conf_rev = 55
}

in = {
signals = (
{ iec_type = "float32" },
{ iec_type = "float64" },
{ iec_type = "int8" },
{ iec_type = "int32" }
)

check_dst_address = false
}
}
}