IEC61850 MMS Client
Review the following information for setting up and configuring the IEC61850 MMS Client driver.
The driver connects to an IEC 61850 server over Manufacturing Message Specification (MMS) and reads data either by polling a data attribute or by subscribing to a report that the server publishes. The default connection port is TCP 102. Make sure that port is open between Litmus Edge (LE) and the server.
Tags are addressed by MMS object name, in the form LD/LN$FC$DO$DA, rather than by a numeric address. You can browse the server to find the object names available on a device.
The driver supports three authorization methods: no authorization, a password, or mutual TLS with client and CA certificates.
Compatibility
Compatibility Parameter | Compatible Items |
|---|---|
Driver Type | Ethernet |
Device Standard | IEC 61850 (MMS) |
How to configure the PLC
To set up and configure this device in Litmus Edge, you will need to do the following:
- Step 1: Set up and configure the PLC device
- Step 2: Set up the PLC device in Litmus Edge DeviceHub
- Step 3: Configure the list of registers
Step 1: Set up and configure the PLC device
- Configure the device for Ethernet access and record its network address.
- Confirm that the device accepts MMS client connections and note the port it listens on. The standard MMS port is 102.
- If the device requires password authorization, obtain the password.
- If the device requires TLS, obtain the client certificate, the client private key, and the CA certificate that signs the device's certificate. All three must be in PEM format.
Note: The driver does not support device discovery. You must enter the network address manually.
Step 2: Set up the PLC device in Litmus Edge DeviceHub
Configure the following parameters when you Connect a Device with this driver. Update default values to the specific setup of your device.
Parameter | Value |
|---|---|
Type | IEC |
Driver | IEC61850 MMS Client |
Name | Enter a name for the device. Default: iec61850mms_client_device. |
Description (Optional) | Enter a description for the device. |
NetworkAddress | Enter the device address you recorded in Step 1. Default: 192.168.0.1. |
NetworkPort | Enter the port the device listens on, from 0 to 65535. Default: 102. |
RequestTimeout | Enter the request timeout in milliseconds, from 10 to 65535. Default: 5000. |
AuthMethod | Select the authorization method the device requires: None, Password, or TLS. Default: None. |
Password | Enter the device password. This field appears when AuthMethod is set to Password. |
Certificate | Enter the client certificate in PEM format. This field appears when AuthMethod is set to TLS. |
PrivateKey | Enter the client private key in PEM format. This field appears when AuthMethod is set to TLS. |
CA Certificate | Enter the CA certificate used to validate peer certificates, in PEM format. This field appears when AuthMethod is set to TLS. |
ChainValidation | Select true to validate the certificate trust chain. Default: true. This field appears when AuthMethod is set to TLS. |
AllowOnlyKnownCertificates | Select true to accept only known certificates. Connections presenting an unknown certificate are rejected even when the certificate is signed by a trusted authority. Default: false. This field appears when AuthMethod is set to TLS. |
TimeValidation | Select true to verify the validity times of certificates and certificate revocation lists. Default: true. This field appears when AuthMethod is set to TLS. |
Caution: The Certificate and PrivateKey fields are populated with a sample Litmus certificate and key. Replace both with your own before you connect to a production device.
Step 3: Configure the list of registers
When you Add a Tag to the connected device, refer to the following register table and tag parameters.
Refer to the following additional resources:
Register table
Note: This driver does not use numeric addresses. Select the register type in the Name list, then enter the MMS object name of the data attribute you want to read in the ObjectName field. You can also Browse and add tags from a device to find the available object names.
Name | Value Types | Access Types | Description |
|---|---|---|---|
Polling | array, structure, boolean, bit-string, integer, unsigned, float, octet-string, visible-string, binary-time, string, utc-time | R/W | Reads a data attribute at the polling interval you set. |
Reports | report | R/O | Subscribes to a report that the device publishes when the trigger condition you set is met. |
Tag parameters
Parameter | Value |
|---|---|
Name | Select a register name from the drop-down list. Available options depend on the names in the register table. |
ObjectName | Enter the object name in MMS style: LD/LN$FC$DO$DA. |
Value Type | Select a data type from the drop-down list. Available options depend on the register name selected. |
Polling Interval | Enter a value in seconds. This determines how often the tag should poll the register for data. Enter 0 to disable polling. Default: 1000. This parameter applies to Polling registers. |
ReportTrigger | Select the condition that causes the device to send a report: Data change, Quality change, Data or quality change, or Periodically. Default: Data change. This parameter applies to Reports registers. |
ReportTriggerPeriod | Enter the period in milliseconds at which the device sends a report, from 1 to 16777215. Default: 1000. This field appears when ReportTrigger is set to Periodically. |
Initial GI | Select the checkbox to perform an initial general interrogation after the report is activated. Default: cleared. This field appears when ReportTrigger is set to Data change, Quality change, or Data or quality change. |
Tag Name | Enter a name for the tag. |
Description (Optional) | Enter a description for the tag. |
Tag Formula | Enter a formula to process tag data. See Tag formula below. |
Only Publish on Change of Value | Select the checkbox to publish NATS messages only when the value parameter changes to a new value. Change of Value only applies to boolean, numeric (such as int or float), and simple string data types. It does not apply to complex types, such as JSON or array. Poll-once topics are not affected by Change of Value settings. These topics will still only see a single message. |
Meta Data | Metadata summarizes basic information about data. This feature allows you to define key-value pair data for the device output payload later on. It can then be used to find, use, and reuse particular instances of data. Note: If you use special characters in meta data key names, the special characters are replaced with underscore characters in the payload. This can cause two key names to be combined into one. For example, configuring the key names a**b and a&&b will cause only one key name to be created (a__b). |
Tag formula
Enter a formula for the tag to process the generated data. Two variables are permitted: value (current tag value) and timestamp (current tag UNIX time in milliseconds). The following math functions are available:
Function | Description |
|---|---|
sin | Sine |
cos | Cosine |
sqrt | Square root |
tan | Tangent |
power(x) | Performs the operation 10^x |
log(x) | Natural logarithm (base e) |
exp(x) | Performs the operation e^x |