dnp3
0.9.0
|
Classes | |
class | AddressFilter |
Outstation address filter More... | |
class | Analog |
Analog point More... | |
class | AnalogConfig |
Analog configuration More... | |
class | AnalogOutputStatus |
AnalogOutputStatus point More... | |
class | AnalogOutputStatusConfig |
Analog Output Status configuration More... | |
class | ApplicationIin |
Application-controlled IIN bits More... | |
class | AssociationConfig |
Association configuration More... | |
class | AssociationHandler |
Functional adapter of IAssociationHandler More... | |
class | AssociationId |
Association identifier More... | |
class | Binary |
Binary point More... | |
class | BinaryConfig |
Binary Input configuration More... | |
class | BinaryOutputStatus |
BinaryOutputStatus point More... | |
class | BinaryOutputStatusConfig |
Binary Output Status configuration More... | |
class | Byte |
Single byte struct More... | |
class | Classes |
Class 0, 1, 2 and 3 config More... | |
class | ClassZeroConfig |
Controls which types are reported during a Class 0 read. More... | |
class | ClientStateListener |
Functional adapter of IClientStateListener More... | |
class | Commands |
Builder type used to construct command requests More... | |
class | CommandTaskCallback |
Functional adapter of ICommandTaskCallback More... | |
class | ConnectionStateListener |
Functional adapter of IConnectionStateListener More... | |
class | ConnectStrategy |
Timing parameters for connection attempts More... | |
class | Control |
APDU Control field More... | |
class | ControlCode |
CROB (G12v1) control code More... | |
class | Counter |
Counter point More... | |
class | CounterConfig |
Counter configuration More... | |
class | Database |
Internal database access More... | |
class | DecodeLevel |
Controls the decoding of transmitted and received data at the application, transport, link, and physical layers More... | |
class | DoubleBitBinary |
DoubleBitBinary point More... | |
class | DoubleBitBinaryConfig |
Double-Bit Binary Input configuration More... | |
class | EndpointList |
List of IP endpoints. More... | |
class | EventBufferConfig |
Maximum number of events for each type More... | |
class | EventClasses |
Event classes More... | |
class | Flags |
Collection of individual flag bits represented by an underlying mask value More... | |
class | FrozenCounter |
FrozenCounter point More... | |
class | FrozenCounterConfig |
Frozen Counter configuration More... | |
class | G12v1 |
Control Relay Output Block More... | |
class | HeaderInfo |
Object header information More... | |
interface | IAssociationHandler |
Callbacks for a particular outstation association More... | |
interface | IClientStateListener |
Callback for monitoring the client TCP connection state More... | |
interface | ICommandTaskCallback |
Handler for command tasks More... | |
interface | IConnectionStateListener |
Callback interface for connection state events More... | |
interface | IControlHandler |
Callbacks for handling controls More... | |
class | Iin |
Pair of IIN bytes More... | |
class | Iin1 |
First IIN byte More... | |
class | Iin2 |
Second IIN byte More... | |
interface | ILinkStatusCallback |
Handler for link status check More... | |
interface | ILogger |
Logging interface that receives the log messages and writes them somewhere. More... | |
interface | IOutstationApplication |
Dynamic information required by the outstation from the user application More... | |
interface | IOutstationInformation |
Informational callbacks that the outstation doesn't rely on to function More... | |
interface | IOutstationTransaction |
Outstation transaction interface More... | |
interface | IPortStateListener |
Callback interface for receiving updates about the state of a serial port More... | |
interface | IReadHandler |
General handler that will receive all values read from the outstation. More... | |
interface | IReadTaskCallback |
Handler for read tasks More... | |
interface | IRestartTaskCallback |
Handler for restart tasks More... | |
interface | ITimeSyncTaskCallback |
Handler for time synchronization tasks More... | |
class | LinkStatusCallback |
Functional adapter of ILinkStatusCallback More... | |
class | Logger |
Functional adapter of ILogger More... | |
class | LoggingConfig |
Logging configuration options More... | |
class | MasterChannel |
Represents a communication channel for a master station More... | |
class | MasterChannelConfig |
Generic configuration for a MasterChannel More... | |
class | OctetString |
Octet String point More... | |
class | Outstation |
Outstation handle More... | |
class | OutstationConfig |
Outstation configuration More... | |
class | OutstationFeatures |
Optional outstation features that can be enabled or disabled More... | |
class | OutstationTransaction |
Functional adapter of IOutstationTransaction More... | |
class | ParamException |
Error type used throughout the library More... | |
class | PollId |
Poll identifier More... | |
class | PortStateListener |
Functional adapter of IPortStateListener More... | |
class | ReadTaskCallback |
Functional adapter of IReadTaskCallback More... | |
class | Request |
Custom request More... | |
class | RequestHeader |
Application-layer header for requests More... | |
class | ResponseHeader |
Response header information More... | |
class | RestartDelay |
Restart delay used by IOutstationApplication.ColdRestart and IOutstationApplication.WarmRestart More... | |
class | RestartResult |
Result of a restart task More... | |
class | RestartTaskCallback |
Functional adapter of IRestartTaskCallback More... | |
class | RetryStrategy |
Retry strategy configuration. More... | |
class | Runtime |
Handle to the underlying runtime More... | |
class | RuntimeConfig |
Runtime configuration More... | |
class | SerialPortSettings |
Serial port settings More... | |
class | TcpServer |
TCP server that listens for connections and routes the messages to outstations. More... | |
class | Timestamp |
Timestamp value More... | |
class | TimestampUtc |
Timestamp value returned by IAssociationHandler.GetCurrentTime. More... | |
class | TimeSyncTaskCallback |
Functional adapter of ITimeSyncTaskCallback More... | |
class | UpdateOptions |
Options that control how the update is performed. More... | |
|
strong |
|
strong |
|
strong |
Enumeration describing how the outstation processed a broadcast request
Enumerator | |
---|---|
Processed | Outstation processed the broadcast |
IgnoredByConfiguration | Outstation ignored the broadcast message b/c it is disabled by configuration |
BadObjectHeaders | Outstation was unable to parse the object headers and ignored the request |
UnsupportedFunction | Outstation ignore the broadcast message b/c the function is not supported via Broadcast |
|
strong |
State of the client connection.
Use by the IClientStateListener.
|
strong |
|
strong |
Result of a command
Enumerator | |
---|---|
Success | Command was a success |
BadStatus | Outstation indicated that a command was not SUCCESS |
HeaderMismatch | Number of headers or objects in the response didn't match the number in the request |
TooManyRequests | too many user requests queued |
BadResponse | response was malformed or contained object headers |
ResponseTimeout | timeout occurred before receiving a response |
WriteError | insufficient buffer space to serialize the request |
NoConnection | no connection |
Shutdown | master was shutdown |
AssociationRemoved | association was removed mid-task |
|
strong |
Enumeration received from an outstation in response to command request
|
strong |
Outstation connection state for connection-oriented transports, e.g. TCP
Enumerator | |
---|---|
Connected | Connected to the master |
Disconnected | Disconnected from the master |
|
strong |
|
strong |
|
strong |
Event analog output status variation
Enumerator | |
---|---|
Group42Var1 | Analog output event - 32-bit without time |
Group42Var2 | Analog output event - 16-bit without time |
Group42Var3 | Analog output event - 32-bit with time |
Group42Var4 | Analog output event - 16-bit with time |
Group42Var5 | Analog output event - single-precision, floating-point without time |
Group42Var6 | Analog output event - double-precision, floating-point without time |
Group42Var7 | Analog output event - single-precision, floating-point with time |
Group42Var8 | Analog output event - double-precision, floating-point with time |
|
strong |
Event analog variation
Enumerator | |
---|---|
Group32Var1 | Analog input event - 32-bit without time |
Group32Var2 | Analog input event - 16-bit without time |
Group32Var3 | Analog input event - 32-bit with time |
Group32Var4 | Analog input event - 16-bit with time |
Group32Var5 | Analog input event - single-precision, floating-point without time |
Group32Var6 | Analog input event - double-precision, floating-point without time |
Group32Var7 | Analog input event - single-precision, floating-point with time |
Group32Var8 | Analog input event - double-precision, floating-point with time |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Application layer function code
Enumerator | |
---|---|
Confirm | Master sends this to an outstation to confirm the receipt of an Application Layer fragment (value == 0) |
Read | Outstation shall return the data specified by the objects in the request (value == 1) |
Write | Outstation shall store the data specified by the objects in the request (value == 2) |
Select | Outstation shall select (or arm) the output points specified by the objects in the request in preparation for a subsequent operate command (value == 3) |
Operate | Outstation shall activate the output points selected (or armed) by a previous select function code command (value == 4) |
DirectOperate | Outstation shall immediately actuate the output points specified by the objects in the request (value == 5) |
DirectOperateNoResponse | Same as DirectOperate but outstation shall not send a response (value == 6) |
ImmediateFreeze | Outstation shall copy the point data values specified by the objects in the request to a separate freeze buffer (value == 7) |
ImmediateFreezeNoResponse | Same as ImmediateFreeze but outstation shall not send a response (value == 8) |
FreezeClear | Outstation shall copy the point data values specified by the objects in the request into a separate freeze buffer and then clear the values (value == 9) |
FreezeClearNoResponse | Same as FreezeClear but outstation shall not send a response (value == 10) |
FreezeAtTime | Outstation shall copy the point data values specified by the objects in the request to a separate freeze buffer at the time and/or time intervals specified in a special time data information object (value == 11) |
FreezeAtTimeNoResponse | Same as FreezeAtTime but outstation shall not send a response (value == 12) |
ColdRestart | Outstation shall perform a complete reset of all hardware and software in the device (value == 13) |
WarmRestart | Outstation shall reset only portions of the device (value == 14) |
InitializeData | Obsolete-Do not use for new designs (value == 15) |
InitializeApplication | Outstation shall place the applications specified by the objects in the request into the ready to run state (value == 16) |
StartApplication | Outstation shall start running the applications specified by the objects in the request (value == 17) |
StopApplication | Outstation shall stop running the applications specified by the objects in the request (value == 18) |
SaveConfiguration | This code is deprecated-Do not use for new designs (value == 19) |
EnableUnsolicited | Enables outstation to initiate unsolicited responses from points specified by the objects in the request (value == 20) |
DisableUnsolicited | Prevents outstation from initiating unsolicited responses from points specified by the objects in the request (value == 21) |
AssignClass | Outstation shall assign the events generated by the points specified by the objects in the request to one of the classes (value == 22) |
DelayMeasure | Outstation shall report the time it takes to process and initiate the transmission of its response (value == 23) |
RecordCurrentTime | Outstation shall save the time when the last octet of this message is received (value == 24) |
OpenFile | Outstation shall open a file (value == 25) |
CloseFile | Outstation shall close a file (value == 26) |
DeleteFile | Outstation shall delete a file (value == 27) |
GetFileInfo | Outstation shall retrieve information about a file (value == 28) |
AuthenticateFile | Outstation shall return a file authentication key (value == 29) |
AbortFile | Outstation shall abort a file transfer operation (value == 30) |
Response | Master shall interpret this fragment as an Application Layer response to an ApplicationLayer request (value == 129) |
UnsolicitedResponse | Master shall interpret this fragment as an unsolicited response that was not prompted by an explicit request (value == 130) |
|
strong |
First IIN bit flags
Enumerator | |
---|---|
Broadcast | Indicate that the message was broadcasted |
Class1Events | Outstation has Class 1 events not reported yet |
Class2Events | Outstation has Class 2 events not reported yet |
Class3Events | Outstation has Class 3 events not reported yet |
NeedTime | Outstation indicates it requires time synchronization from the master |
LocalControl | At least one point of the outstation is in the local operation mode |
DeviceTrouble | Outstation reports abnormal condition |
DeviceRestart | Outstation has restarted |
|
strong |
Second IIN bit flags
Enumerator | |
---|---|
NoFuncCodeSupport | Function code is not supported by the outstation |
ObjectUnknown | Request contains an unknown point |
ParameterError | Unable to parse request or invalid qualifier code |
EventBufferOverflow | Event buffer overflow, at least one event was lost |
AlreadyExecuting | Cannot perform operation because an execution is already in progress |
ConfigCorrupt | Outstation reports a configuration corruption |
|
strong |
|
strong |
Controls how errors in parsed link-layer frames are handled. This behavior is configurable for physical layers with built-in error correction like TCP as the connection might be through a terminal server.
|
strong |
Result of a link status check. See MasterChannel.CheckLinkStatus
|
strong |
Log level
Used in ILogger.OnMessage callback to identify the log level of a message.
Enumerator | |
---|---|
Error | Error log level |
Warn | Warning log level |
Info | Information log level |
Debug | Debugging log level |
Trace | Trace log level |
|
strong |
|
strong |
|
strong |
Operation Type field, used in conjunction with TripCloseCode to specify a control operation
Enumerator | |
---|---|
Nul | NUL (0) |
PulseOn | PULSE_ON (1) |
PulseOff | PULSE_OFF (2) |
LatchOn | LATCH_ON (3) |
LatchOff | LATCH_OFF(4) |
|
strong |
Error type used throughout the library
Enumerator | |
---|---|
Ok | Success, i.e. no error occurred |
NullParameter | Null parameter |
AssociationDoesNotExist | The specified association does not exist |
AssociationDuplicateAddress | Duplicate association address |
InvalidSocketAddress | Invalid socket address |
InvalidDnp3Address | Invalid link-layer DNP3 address |
InvalidBufferSize | Invalid buffer size |
AddressFilterConflict | Conflict in the address filter specification |
ServerAlreadyStarted | Server already started |
ServerBindError | Server failed to bind to the specified port |
MasterAlreadyShutdown | Master was already shutdown |
RuntimeCreationFailure | Failed to create tokio runtime |
RuntimeDestroyed | Runtime was already disposed of |
RuntimeCannotBlockWithinAsync | Runtime cannot execute blocking call within asynchronous context |
LoggingAlreadyConfigured | Logging can only be configured once |
PointDoesNotExist | Point does not exist |
|
strong |
|
strong |
|
strong |
|
strong |
Qualifier code used in the response
|
strong |
Result of a read operation
|
strong |
|
strong |
|
strong |
Type of restart delay value. Used by RestartDelay.
Enumerator | |
---|---|
NotSupported | Restart mode not supported |
Seconds | Value is in seconds (corresponds to g51v1) |
Milliseconds | Value is in milliseconds (corresponds to g51v2) |
|
strong |
Result of a restart operation
|
strong |
Static analog output status variation
Enumerator | |
---|---|
Group40Var1 | Analog output status - 32-bit with flag |
Group40Var2 | Analog output status - 16-bit with flag |
Group40Var3 | Analog output status - single-precision, floating-point with flag |
Group40Var4 | Analog output status - double-precision, floating-point with flag |
|
strong |
Static analog variation
Enumerator | |
---|---|
Group30Var1 | Analog input - 32-bit with flag |
Group30Var2 | Analog input - 16-bit with flag |
Group30Var3 | Analog input - 32-bit without flag |
Group30Var4 | Analog input - 16-bit without flag |
Group30Var5 | Analog input - single-precision, floating-point with flag |
Group30Var6 | Analog input - double-precision, floating-point with flag |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Static frozen counter variation
Enumerator | |
---|---|
Group21Var1 | Frozen Counter - 32-bit with flag |
Group21Var2 | Frozen Counter - 16-bit with flag |
Group21Var5 | Frozen Counter - 32-bit with flag and time |
Group21Var6 | Frozen Counter - 16-bit with flag and time |
Group21Var9 | Frozen Counter - 32-bit without flag |
Group21Var10 | Frozen Counter - 16-bit without flag |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Result of a time sync operation
Enumerator | |
---|---|
Success | Time synchronization operation was a success |
ClockRollback | Detected a clock rollback |
SystemTimeNotUnix | The system time cannot be converted to a Unix timestamp |
BadOutstationTimeDelay | Outstation time delay exceeded the response delay |
Overflow | Overflow in calculation |
StillNeedsTime | Outstation did not clear the NEED_TIME IIN bit |
SystemTimeNotAvailable | System time not available |
IinError | Outstation indicated an error |
TooManyRequests | too many user requests queued |
BadResponse | response was malformed or contained object headers |
ResponseTimeout | timeout occurred before receiving a response |
WriteError | insufficient buffer space to serialize the request |
NoConnection | no connection |
Shutdown | master was shutdown |
AssociationRemoved | association was removed mid-task |
|
strong |
|
strong |
Trip-Close Code field, used in conjunction with OpType to specify a control operation
Enumerator | |
---|---|
Nul | NUL (0) |
Close | CLOSE (1) |
Trip | TRIP (2) |
Reserved | RESERVED (3) |
|
strong |
Group/Variation
Enumerator | |
---|---|
Group1Var0 | Binary Input - Default variation |
Group1Var1 | Binary Input - Packed format |
Group1Var2 | Binary Input - With flags |
Group2Var0 | Binary Input Event - Default variation |
Group2Var1 | Binary Input Event - Without time |
Group2Var2 | Binary Input Event - With absolute time |
Group2Var3 | Binary Input Event - With relative time |
Group3Var0 | Double-bit Binary Input - Default variation |
Group3Var1 | Double-bit Binary Input - Packed format |
Group3Var2 | Double-bit Binary Input - With flags |
Group4Var0 | Double-bit Binary Input Event - Default variation |
Group4Var1 | Double-bit Binary Input Event - Without time |
Group4Var2 | Double-bit Binary Input Event - With absolute time |
Group4Var3 | Double-bit Binary Input Event - With relative time |
Group10Var0 | Binary Output - Default variation |
Group10Var1 | Binary Output - Packed format |
Group10Var2 | Binary Output - With flags |
Group11Var0 | Binary Output Event - Default variation |
Group11Var1 | Binary Output Event - Without time |
Group11Var2 | Binary Output Event - With time |
Group12Var0 | |
Group12Var1 | |
Group20Var0 | Counter - Default variation |
Group20Var1 | Counter - 32-bit with flags |
Group20Var2 | Counter - 16-bit with flags |
Group20Var5 | Counter - 32-bit without flag |
Group20Var6 | Counter - 16-bit without flag |
Group21Var0 | Frozen Counter - Default variation |
Group21Var1 | Frozen Counter - 32-bit with flags |
Group21Var2 | Frozen Counter - 16-bit with flags |
Group21Var5 | Frozen Counter - 32-bit with flags and time |
Group21Var6 | Frozen Counter - 16-bit with flags and time |
Group21Var9 | Frozen Counter - 32-bit without flag |
Group21Var10 | Frozen Counter - 16-bit without flag |
Group22Var0 | Counter Event - Default variation |
Group22Var1 | Counter Event - 32-bit with flags |
Group22Var2 | Counter Event - 16-bit with flags |
Group22Var5 | Counter Event - 32-bit with flags and time |
Group22Var6 | Counter Event - 16-bit with flags and time |
Group23Var0 | Frozen Counter Event - Default variation |
Group23Var1 | Frozen Counter Event - 32-bit with flags |
Group23Var2 | Frozen Counter Event - 16-bit with flags |
Group23Var5 | Frozen Counter Event - 32-bit with flags and time |
Group23Var6 | Frozen Counter Event - 16-bit with flags and time |
Group30Var0 | Analog Input - Default variation |
Group30Var1 | Analog Input - 32-bit with flags |
Group30Var2 | Analog Input - 16-bit with flags |
Group30Var3 | Analog Input - 32-bit without flag |
Group30Var4 | Analog Input - 16-bit without flag |
Group30Var5 | Analog Input - Single-precision floating point with flags |
Group30Var6 | Analog Input - Double-precision floating point with flags |
Group32Var0 | Analog Input Event - Default variation |
Group32Var1 | Analog Input Event - 32-bit without time |
Group32Var2 | Analog Input Event - 16-bit without time |
Group32Var3 | Analog Input Event - 32-bit with time |
Group32Var4 | Analog Input Event - 16-bit with time |
Group32Var5 | Analog Input Event - Single-precision floating point without time |
Group32Var6 | Analog Input Event - Double-precision floating point without time |
Group32Var7 | Analog Input Event - Single-precision floating point with time |
Group32Var8 | Analog Input Event - Double-precision floating point with time |
Group40Var0 | Analog Output Status - Default variation |
Group40Var1 | Analog Output Status - 32-bit with flags |
Group40Var2 | Analog Output Status - 16-bit with flags |
Group40Var3 | Analog Output Status - Single-precision floating point with flags |
Group40Var4 | Analog Output Status - Double-precision floating point with flags |
Group41Var0 | Analog Output - Default variation |
Group41Var1 | Analog Output - 32-bit |
Group41Var2 | Analog Output - 16-bit |
Group41Var3 | Analog Output - Single-precision floating point |
Group41Var4 | Analog Output - Double-precision floating point |
Group42Var0 | Analog Output Event - Default variation |
Group42Var1 | Analog Output Event - 32-bit without time |
Group42Var2 | Analog Output Event - 16-bit without time |
Group42Var3 | Analog Output Event - 32-bit with time |
Group42Var4 | Analog Output Event - 16-bit with time |
Group42Var5 | Analog Output Event - Single-precision floating point without time |
Group42Var6 | Analog Output Event - Double-precision floating point without time |
Group42Var7 | Analog Output Event - Single-preicions floating point with time |
Group42Var8 | Analog Output Event - Double-preicions floating point with time |
Group50Var1 | Time and Date - Absolute time |
Group50Var3 | Time and Date - Absolute time at last recorded time |
Group50Var4 | Time and Date - Indexed absolute time and long interval |
Group51Var1 | Time and date CTO - Absolute time, synchronized |
Group51Var2 | Time and date CTO - Absolute time, unsynchronized |
Group52Var1 | Time delay - Coarse |
Group52Var2 | Time delay - Fine |
Group60Var1 | Class objects - Class 0 data |
Group60Var2 | Class objects - Class 1 data |
Group60Var3 | Class objects - Class 2 data |
Group60Var4 | Class objects - Class 3 data |
Group80Var1 | Internal Indications - Packed format |
Group110 | Octet String |
Group111 | Octet String Event |
|
strong |
Write time result used by IOutstationApplication.WriteAbsoluteTime