![]() |
dnp3 (.NET API) 1.5.2
|
Dynamic information required by the outstation from the user application More...
Public Member Functions | |
ushort | GetProcessingDelayMs () |
Returns the DELAY_MEASUREMENT delay More... | |
WriteTimeResult | WriteAbsoluteTime (ulong time) |
Handle a write of the absolute time during time synchronization procedures. More... | |
ApplicationIin | GetApplicationIin () |
Returns the application-controlled IIN bits More... | |
RestartDelay | ColdRestart () |
Request that the outstation perform a cold restart (IEEE-1815 2012, p. 58) More... | |
RestartDelay | WarmRestart () |
Request that the outstation perform a warm restart (IEEE-1815 2012, p. 58) More... | |
FreezeResult | FreezeCountersAll (FreezeType freezeType, DatabaseHandle databaseHandle) |
Freeze all the counters More... | |
FreezeResult | FreezeCountersAllAtTime (DatabaseHandle databaseHandle, ulong time, uint interval) |
Freeze all the counters at a requested time and interval More... | |
FreezeResult | FreezeCountersRange (ushort start, ushort stop, FreezeType freezeType, DatabaseHandle databaseHandle) |
Freeze a range of counters More... | |
FreezeResult | FreezeCountersRangeAtTime (ushort start, ushort stop, DatabaseHandle databaseHandle, ulong time, uint interval) |
Freeze a range of counters at a requested time and interval More... | |
bool | SupportWriteAnalogDeadBands () |
Controls outstation support for writing group 34, analog input dead-bands More... | |
void | BeginWriteAnalogDeadBands () |
Called when the outstation begins processing a header to write analog dead-bands More... | |
void | WriteAnalogDeadBand (ushort index, double deadBand) |
Called when the outstation begins processing a header to write analog dead-bands More... | |
void | EndWriteAnalogDeadBands () |
Called when the outstation completes processing a header to write analog dead-bands More... | |
bool | WriteStringAttr (byte set, byte variation, StringAttr attrType, string value) |
Write a string attribute. This method is only called if the corresponding attribute has been configured as writable More... | |
bool | WriteFloatAttr (byte set, byte variation, FloatAttr attrType, float value) |
Write a 32-bit floating point attribute. This method is only called if the corresponding attribute has been configured as writable More... | |
bool | WriteDoubleAttr (byte set, byte variation, FloatAttr attrType, double value) |
Write a 64-bit floating point attribute. This method is only called if the corresponding attribute has been configured as writable More... | |
bool | WriteUintAttr (byte set, byte variation, UintAttr attrType, uint value) |
Write an unsigned integer attribute. This method is only called if the corresponding attribute has been configured as writable More... | |
bool | WriteIntAttr (byte set, byte variation, IntAttr attrType, int value) |
Write a signed integer attribute. This method is only called if the corresponding attribute has been configured as writable More... | |
bool | WriteOctetStringAttr (byte set, byte variation, OctetStringAttr attrType, System.Collections.Generic.ICollection< byte > value) |
Write an octet-string attribute. This method is only called if the corresponding attribute has been configured as writable More... | |
bool | WriteBitStringAttr (byte set, byte variation, BitStringAttr attrType, System.Collections.Generic.ICollection< byte > value) |
Write a bit-string attribute. This method is only called if the corresponding attribute has been configured as writable More... | |
bool | WriteTimeAttr (byte set, byte variation, TimeAttr attrType, ulong value) |
Write a DNP3 time attribute. This method is only called if the corresponding attribute has been configured as writable. More... | |
void | BeginConfirm () |
Called when a CONFIRM is received to a response or unsolicited response, but before any previously transmitted events are cleared from the buffer More... | |
void | EventCleared (ulong id) |
Called when an event is cleared from the buffer due to master acknowledgement More... | |
void | EndConfirm (BufferState state) |
Called when all relevant events have been cleared More... | |
Dynamic information required by the outstation from the user application
void dnp3.IOutstationApplication.BeginConfirm | ( | ) |
Called when a CONFIRM is received to a response or unsolicited response, but before any previously transmitted events are cleared from the buffer
void dnp3.IOutstationApplication.BeginWriteAnalogDeadBands | ( | ) |
Called when the outstation begins processing a header to write analog dead-bands
RestartDelay dnp3.IOutstationApplication.ColdRestart | ( | ) |
Request that the outstation perform a cold restart (IEEE-1815 2012, p. 58)
The outstation will not automatically restart. It is the responsibility of the user application to handle this request and take the appropriate action.
void dnp3.IOutstationApplication.EndConfirm | ( | BufferState | state | ) |
Called when all relevant events have been cleared
state | information about the post-CONFIRM state of the buffer |
void dnp3.IOutstationApplication.EndWriteAnalogDeadBands | ( | ) |
Called when the outstation completes processing a header to write analog dead-bands
Multiple dead-bands changes can be accumulated in calls to IOutstationApplication.WriteAnalogDeadBand and then be processed as a batch in this method.
void dnp3.IOutstationApplication.EventCleared | ( | ulong | id | ) |
Called when an event is cleared from the buffer due to master acknowledgement
id | Unique identifier previously assigned to the event by the database in an update method |
FreezeResult dnp3.IOutstationApplication.FreezeCountersAll | ( | FreezeType | freezeType, |
DatabaseHandle | databaseHandle | ||
) |
Freeze all the counters
freezeType | Type of freeze operation |
databaseHandle | Database handle |
FreezeResult dnp3.IOutstationApplication.FreezeCountersAllAtTime | ( | DatabaseHandle | databaseHandle, |
ulong | time, | ||
uint | interval | ||
) |
Freeze all the counters at a requested time and interval
Refer to the table on page 57 of IEEE 1815-2012 to interpret the time and interval parameters correctly
databaseHandle | Database handle |
time | 48-bit DNP3 timestamp in milliseconds since epoch UTC |
interval | Count of milliseconds representing the interval between freezes relative to the timestamp |
FreezeResult dnp3.IOutstationApplication.FreezeCountersRange | ( | ushort | start, |
ushort | stop, | ||
FreezeType | freezeType, | ||
DatabaseHandle | databaseHandle | ||
) |
Freeze a range of counters
start | Start index to freeze (inclusive) |
stop | Stop index to freeze (inclusive) |
freezeType | Type of freeze operation |
databaseHandle | Database handle |
FreezeResult dnp3.IOutstationApplication.FreezeCountersRangeAtTime | ( | ushort | start, |
ushort | stop, | ||
DatabaseHandle | databaseHandle, | ||
ulong | time, | ||
uint | interval | ||
) |
Freeze a range of counters at a requested time and interval
Refer to the table on page 57 of IEEE 1815-2012 to interpret the time and interval parameters correctly
start | Start index to freeze (inclusive) |
stop | Stop index to freeze (inclusive) |
databaseHandle | Database handle |
time | 48-bit DNP3 timestamp in milliseconds since epoch UTC |
interval | Count of milliseconds representing the interval between freezes relative to the timestamp |
ApplicationIin dnp3.IOutstationApplication.GetApplicationIin | ( | ) |
Returns the application-controlled IIN bits
ushort dnp3.IOutstationApplication.GetProcessingDelayMs | ( | ) |
Returns the DELAY_MEASUREMENT delay
The value returned by this method is used in conjunction with the DELAY_MEASUREMENT function code and returned in a g52v2 time delay object as part of a non-LAN time synchronization procedure.
It represents the processing delay from receiving the request to sending the response. This parameter should almost always use the default value of zero as only an RTOS or bare metal system would have access to this level of timing. Modern hardware can almost always respond in less than 1 millisecond anyway.
For more information, see IEEE-1815 2012, p. 64.
bool dnp3.IOutstationApplication.SupportWriteAnalogDeadBands | ( | ) |
Controls outstation support for writing group 34, analog input dead-bands
Returning false, indicates that the writes to group34 should not be processed and requests to do so should be rejected with IIN2.NO_FUNC_CODE_SUPPORT
Returning true will allow the request to process the actual values with a sequence of calls:
1) A single call to IOutstationApplication.BeginWriteAnalogDeadBands
2) Zero or more calls to IOutstationApplication.WriteAnalogDeadBand
3) A single call to IOutstationApplication.EndWriteAnalogDeadBands
RestartDelay dnp3.IOutstationApplication.WarmRestart | ( | ) |
Request that the outstation perform a warm restart (IEEE-1815 2012, p. 58)
The outstation will not automatically restart. It is the responsibility of the user application to handle this request and take the appropriate action.
WriteTimeResult dnp3.IOutstationApplication.WriteAbsoluteTime | ( | ulong | time | ) |
Handle a write of the absolute time during time synchronization procedures.
time | Received time in milliseconds since EPOCH (only 48 bits are used) |
void dnp3.IOutstationApplication.WriteAnalogDeadBand | ( | ushort | index, |
double | deadBand | ||
) |
Called when the outstation begins processing a header to write analog dead-bands
Called for each analog dead-band in the write request where an analog input is defined at the specified index.
The dead-band is automatically updated in the database. This callback allows application code to persist the modified value to non-volatile memory if desired
index | Index of the analog input |
deadBand | New dead-band value |
bool dnp3.IOutstationApplication.WriteBitStringAttr | ( | byte | set, |
byte | variation, | ||
BitStringAttr | attrType, | ||
System.Collections.Generic.ICollection< byte > | value | ||
) |
Write a bit-string attribute. This method is only called if the corresponding attribute has been configured as writable
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | Iterator over bytes of the value |
bool dnp3.IOutstationApplication.WriteDoubleAttr | ( | byte | set, |
byte | variation, | ||
FloatAttr | attrType, | ||
double | value | ||
) |
Write a 64-bit floating point attribute. This method is only called if the corresponding attribute has been configured as writable
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | Value of the attribute |
bool dnp3.IOutstationApplication.WriteFloatAttr | ( | byte | set, |
byte | variation, | ||
FloatAttr | attrType, | ||
float | value | ||
) |
Write a 32-bit floating point attribute. This method is only called if the corresponding attribute has been configured as writable
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | Value of the attribute |
bool dnp3.IOutstationApplication.WriteIntAttr | ( | byte | set, |
byte | variation, | ||
IntAttr | attrType, | ||
int | value | ||
) |
Write a signed integer attribute. This method is only called if the corresponding attribute has been configured as writable
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | Value of the attribute |
bool dnp3.IOutstationApplication.WriteOctetStringAttr | ( | byte | set, |
byte | variation, | ||
OctetStringAttr | attrType, | ||
System.Collections.Generic.ICollection< byte > | value | ||
) |
Write an octet-string attribute. This method is only called if the corresponding attribute has been configured as writable
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | Iterator over bytes of the value |
bool dnp3.IOutstationApplication.WriteStringAttr | ( | byte | set, |
byte | variation, | ||
StringAttr | attrType, | ||
string | value | ||
) |
Write a string attribute. This method is only called if the corresponding attribute has been configured as writable
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | Value of the attribute |
bool dnp3.IOutstationApplication.WriteTimeAttr | ( | byte | set, |
byte | variation, | ||
TimeAttr | attrType, | ||
ulong | value | ||
) |
Write a DNP3 time attribute. This method is only called if the corresponding attribute has been configured as writable.
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | 48-bit DNP3 timestamp value |
bool dnp3.IOutstationApplication.WriteUintAttr | ( | byte | set, |
byte | variation, | ||
UintAttr | attrType, | ||
uint | value | ||
) |
Write an unsigned integer attribute. This method is only called if the corresponding attribute has been configured as writable
set | Set to which the attribute belongs |
variation | Variation of the attribute |
attrType | Enumeration describing which attribute it is, possibly unknown |
value | Value of the attribute |