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
| Type | Format identifier |
|---|---|
| boolean | b |
| int8 | o |
| int16 | w |
| int32 | d |
| int64 | g |
| int8u | O |
| int16u | W |
| int32u | D |
| int64u | G |
| float32 | f |
| float64 | F |
| enumerated | e |
| coded_enum | c |
| octet_string | s |
| visible_string | S |
| objectname | n |
| objectreference | r |
| timestamp | t |
| entrytime | e |
| bitstring | B |
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": {
- "check_dst_address": false,
- "signals": [
- {
- "iec_type": "boolean",
- "name": "Bus123_U",
- "unit": "V",
- "type": "integer",
- "init": 0,
- "enabled": true
}
], - "vectorize": 1,
- "hooks": [
- "print",
- {
- "type": "limit_rate",
- "rate": 1000
}
]
}, - "out": {
- "signals": [
- {
- "iec_type": "boolean",
- "name": "Bus123_U",
- "unit": "V",
- "type": "integer",
- "init": 0,
- "enabled": true
}
], - "sv_id": "string",
- "conf_rev": 0,
- "smp_mod": "per_nominal_period",
- "smp_synch": "not_synchronized",
- "smp_rate": 0,
- "vlan": {
- "enabled": true,
- "id": 0,
- "priority": 4
}, - "vectorize": 0,
- "hooks": [
- "print",
- {
- "type": "limit_rate",
- "rate": 1000
}
]
}, - "interface": "string",
- "app_id": 16384,
- "dst_address": "01:0c:cd:01:00:01",
- "vectorize": 1,
- "hooks": [
- "print",
- {
- "type": "limit_rate",
- "rate": 1000
}
], - "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
}
}
}