Skip to content
Matt Magoffin edited this page Aug 14, 2023 · 2 revisions

SolarNetwork provides a fully-managed Distributed Network Protocol 3 (DNP3) Remote Substation (often referred to as an Outstation) server service that DNP3 compliant Control Center (often referred to as Master) applications can integrate with. The Outstation data points are configured as node datum stream properties, and control points are configured as node controls. A single Outstation server can thus expose data and control points across any node associated with your SolarNetwork account.

Within SolarNetwork, the DNP3 Outstation system works like this:

  • SolarNode devices are deployed and configured to collect data from any supported device, posting the data to SolarNetwork as datum streams. They are also configured with controls that can manage dynamic state on supported devices by way of SolarNetwork Instructions; the control states are posted to SolarNetwork as datum streams.
  • Any number of X.509 client certificate trusted issuer certificates are uploaded to your SolarNetwork account. Only client certificates issued by a trusted issuer will be allowed to authenticate to SolarNetwork's DNP3 service.
  • Any number of DNP3 Server configurations are created in your SolarNetwork account. Each server is configured with its own authorization rules, data points, and control points.
  • Any number of X.509 client identifier configurations, or distinguished names (DNs), are added to a DNP3 Server. This list defines the users that are allowed to connect to the server: only certificates with a configured DN and issued by a configured trusted issuer will be authorized.
  • Any number of Measurement Data Point configurations are added to a DNP3 Server. A Measurement Data Point defines a mapping between a DNP3 read-only data point and a SolarNetwork datum stream property.
  • Any number of Control Data Point configurations are added to a DNP3 Server. A Control data point defines a mapping between a DNP3 writable data point and a SolarNetwork control property.
  • A DNP3 client connects to the SolarNetwork DNP3 service, using TLS with a client certificate. The client certificate identifies the DNP3 Server it is associated with, and as long as the certificate is valid the connection will succeed and the client will be able to use the DNP3 protocol to to access the configured Measurement and Control data points.

DNP3 connection

To connect to SolarNetwork using DNP3, the following settings must be used:

Setting Value Description
Host dnp3.solarnetwork.net The host name to connect to.
Transport TCP with TLS TLS is required.
Port 20000
Authentication TLS X.509 mutual authentication Client certificate authentication is required, and authorized certificates are configured in SolarNetwork.

DNP3 entities

Within SolarNetwork, the following entities are managed via the SolarUser DNP3 API:

Trusted Issuer Certificate entity

Any number of X.509 certificates can be added to your account, each representing a trusted issuer authority for authorized client certificates.

See the Trusted Issuer Certificate import API for details.

Server entity

The Server entity defines a unique DNP3 Outstation instance in SolarNetwork.

See the Server create API for details.

Server Authorization entity

The Server Authorization entity defines an X.509 client certificate that is authorized to connect to a given DNP3 Server.

See the Server Authorization save API for details.

Server Measurement entity

The Server Measurement entity defines a single DNP3 read-only data point.

See the Server Measurement save API for details.

Server Control entity

The Server Control entity defines a single DNP3 writable data point.

See the Server Control save API for details.

Server data point CSV configuration

The Measurement and Control entities configured for a Server can be defined using a simple comma separated values (CSV) formatted file. The Server CSV import API accepts the CSV and configures the Server's Measurement and Control entities accordingly. The Server CSV export API allows you to download a Server's configuration as CSV. The Server CSV Example API allows you to download a CSV or XLSX example to start with.

You can also see our example Google Sheet to use as a starting point.

Example SolarNetworK DNP3 CSV worksheet
Clone this wiki locally