IEC 61850 .NET API  1.2.0
IEC 61850 .NET API for libiec61850 protocol library
IEC61850.Common.MmsValue Class Reference

This class is used to hold MMS data values of different types. More...

Inheritance diagram for IEC61850.Common.MmsValue:
Collaboration diagram for IEC61850.Common.MmsValue:

Public Member Functions

 MmsValue (IntPtr value)
 
 MmsValue (bool value)
 
 MmsValue (float value)
 
 MmsValue (double value)
 
 MmsValue (int value)
 
 MmsValue (UInt32 value)
 
 MmsValue (long value)
 
 MmsValue (string value)
 
 MmsValue (byte[] octetString)
 
void SetBinaryTime (UInt64 timestamp)
 Sets the binary time. More...
 
ulong GetBinaryTimeAsUtcMs ()
 Gets the binary time value as UTC time in ms. More...
 
new MmsType GetType ()
 Gets the type of the value More...
 
int Size ()
 Gets the size of an array, structure, or bit string More...
 
int MaxSize ()
 Gets the maximum size of an octet string More...
 
byte[] getOctetString ()
 Gets the octet string as byte array More...
 
void setOctetString (byte[] octetString)
 
MmsValue GetElement (int index)
 Get an element of an array or structure More...
 
MmsDataAccessError GetDataAccessError ()
 
UInt32 ToUnixTimestamp ()
 Gets the timestamp value as UTC time in s (UNIX time stamp). More...
 
void SetUtcTimeMs (ulong timeval)
 Sets the timestamp value as UTC time in ms. More...
 
ulong GetUtcTimeInMs ()
 Gets the timestamp value as UTC time in ms. More...
 
ulong GetUtcTimeInMsWithUs (out int usec)
 Gets the timestamp value as UTC time in ms and the additional us part. More...
 
byte GetUtcTimeQuality ()
 Gets quality flags of an UTC timestamp. More...
 
void SetUtcTimeQuality (byte timeQuality)
 Sets the quality flags of an UTC timestamp More...
 
DateTimeOffset GetUtcTimeAsDateTimeOffset ()
 Convert MMS_UTC_TIME to DateTimeOffset instance More...
 
Int32 ToInt32 ()
 Return the value as 32 bit signed integer. More...
 
Int64 ToInt64 ()
 Return the value as 64 bit signed integer. More...
 
UInt32 ToUint32 ()
 Return the value as 32 bit unsigned integer. More...
 
UInt32 BitStringToUInt32 ()
 
void BitStringFromUInt32 (UInt32 intValue)
 
void SetBit (int bitPos, bool bitValue)
 
bool GetBit (int bitPos)
 
bool GetBoolean ()
 Gets the boolean value More...
 
float ToFloat ()
 Gets the float value of an MMS_FLOAT instance More...
 
void SetFloat (float value)
 Sets the float value of an MMS_FLOAT instance More...
 
double ToDouble ()
 Gets the double value of an MMS_FLOAT instance More...
 
void SetDouble (double value)
 Sets the float/double value of an MMS_FLOAT instance More...
 
override bool Equals (object obj)
 
override string ToString ()
 

Static Public Member Functions

static MmsValue NewBitString (int bitSize)
 Create a new MmsValue instance of type MMS_BIT_STRING. More...
 
static MmsValue NewOctetString (int maxSize, int size=0)
 Create a new MmsValue instance of type MMS_OCTET_STRING. More...
 
static MmsValue NewBinaryTime (bool largeFormat)
 Create a new MmsValue instance of type MMS_BINARY_TIME More...
 
static DateTimeOffset MsTimeToDateTimeOffset (UInt64 msTime)
 Convert a millisecond time (milliseconds since epoch) to DataTimeOffset More...
 

Package Functions

 MmsValue (IntPtr value, bool responsableForDeletion)
 

Package Attributes

IntPtr valueReference
 

Detailed Description

This class is used to hold MMS data values of different types.

Member Function Documentation

ulong IEC61850.Common.MmsValue.GetBinaryTimeAsUtcMs ( )

Gets the binary time value as UTC time in ms.

Return the value as milliseconds since epoch (1.1.1970 UTC). The value has to be of type MMS_UTC_TIME.

Returns
The UTC time in ms.
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
bool IEC61850.Common.MmsValue.GetBoolean ( )

Gets the boolean value

Returns
The boolean value
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
MmsValue IEC61850.Common.MmsValue.GetElement ( int  index)

Get an element of an array or structure

Returns
the MmsValue element.
Parameters
indexindex of the element starting with 0
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
MmsValueExceptionThis exception is thrown if the index is out of range.
byte [] IEC61850.Common.MmsValue.getOctetString ( )

Gets the octet string as byte array

Instance has to be of type MMS_OCTET_STRING.

Returns
Byte array containing the bytes of the octet string.
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
new MmsType IEC61850.Common.MmsValue.GetType ( )

Gets the type of the value

Returns
The type.
DateTimeOffset IEC61850.Common.MmsValue.GetUtcTimeAsDateTimeOffset ( )

Convert MMS_UTC_TIME to DateTimeOffset instance

Return the value as DateTimeOffset instance. The value has to be of type MMS_UTC_TIME.

Returns
the value as DataTimeOffset instance
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
ulong IEC61850.Common.MmsValue.GetUtcTimeInMs ( )

Gets the timestamp value as UTC time in ms.

Return the value as milliseconds since epoch (1.1.1970 UTC). The value has to be of type MMS_UTC_TIME.

Returns
The UTC time in ms.
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
ulong IEC61850.Common.MmsValue.GetUtcTimeInMsWithUs ( out int  usec)

Gets the timestamp value as UTC time in ms and the additional us part.

Return the value as milliseconds since epoch (1.1.1970 UTC) and the additional us part. The value has to be of type MMS_UTC_TIME.

Parameters
usecreturns the usec part of the time value
Returns
The UTC time in ms.
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
byte IEC61850.Common.MmsValue.GetUtcTimeQuality ( )

Gets quality flags of an UTC timestamp.

Meaning of the bits in the timeQuality byte: bit 7 = leapSecondsKnown bit 6 = clockFailure bit 5 = clockNotSynchronized bit 0-4 = subsecond time accuracy (number of significant bits of subsecond time)

Returns
The UTC time quality.
int IEC61850.Common.MmsValue.MaxSize ( )

Gets the maximum size of an octet string

Returns
The maximum size (in bytes) of the octet string
static DateTimeOffset IEC61850.Common.MmsValue.MsTimeToDateTimeOffset ( UInt64  msTime)
static

Convert a millisecond time (milliseconds since epoch) to DataTimeOffset

Returns
The time as DataTimeOffset
Parameters
msTimethe millisecond time
static MmsValue IEC61850.Common.MmsValue.NewBinaryTime ( bool  largeFormat)
static

Create a new MmsValue instance of type MMS_BINARY_TIME

Returns
the new MmsValue instance.
Parameters
largeFormatIf set to true large 6 byte format.
static MmsValue IEC61850.Common.MmsValue.NewBitString ( int  bitSize)
static

Create a new MmsValue instance of type MMS_BIT_STRING.

Returns
the new MmsValue instance
Parameters
bitSizethe size of the bit string in bits.
static MmsValue IEC61850.Common.MmsValue.NewOctetString ( int  maxSize,
int  size = 0 
)
static

Create a new MmsValue instance of type MMS_OCTET_STRING.

Returns
the new MmsValue instance
Parameters
maxSizethe maximum size of the octet string in bytes
sizethe current size of the octet string in bytes (defaults to 0)
void IEC61850.Common.MmsValue.SetBinaryTime ( UInt64  timestamp)

Sets the binary time.

Parameters
timestampTimestamp.
void IEC61850.Common.MmsValue.SetDouble ( double  value)

Sets the float/double value of an MMS_FLOAT instance

Parameters
valuethe new value to set
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
void IEC61850.Common.MmsValue.SetFloat ( float  value)

Sets the float value of an MMS_FLOAT instance

Parameters
valuethe new value to set
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
void IEC61850.Common.MmsValue.SetUtcTimeMs ( ulong  timeval)

Sets the timestamp value as UTC time in ms.

Sets the value as milliseconds since epoch (1.1.1970 UTC). The value has to be of type MMS_UTC_TIME.

Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
void IEC61850.Common.MmsValue.SetUtcTimeQuality ( byte  timeQuality)

Sets the quality flags of an UTC timestamp

Meaning of the bits in the timeQuality byte: bit 7 = leapSecondsKnown bit 6 = clockFailure bit 5 = clockNotSynchronized bit 0-4 = subsecond time accuracy (number of significant bits of subsecond time)

Parameters
timeQualityTime quality.
int IEC61850.Common.MmsValue.Size ( )

Gets the size of an array, structure, or bit string

Returns
Return the size of an array of structure (number of elements) The value has to be of type MMS_ARRAY, MMS_STRUCTURE, MMS_BIT_STRING ... the number of elements (array/structure elements, octets, bits depending on type)
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
double IEC61850.Common.MmsValue.ToDouble ( )

Gets the double value of an MMS_FLOAT instance

Returns
The float value
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
float IEC61850.Common.MmsValue.ToFloat ( )

Gets the float value of an MMS_FLOAT instance

Returns
The float value
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
Int32 IEC61850.Common.MmsValue.ToInt32 ( )

Return the value as 32 bit signed integer.

Return the value as 32 bit signed integer (Int32). The value has to be of type MMS_INTEGER.

Returns
the value if the object as 32 bit signed integer
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
Int64 IEC61850.Common.MmsValue.ToInt64 ( )

Return the value as 64 bit signed integer.

Return the value as 64 bit signed integer (Int64). The value has to be of type MMS_INTEGER.

Returns
the value if the object as 64 bit signed integer
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
UInt32 IEC61850.Common.MmsValue.ToUint32 ( )

Return the value as 32 bit unsigned integer.

Return the value as 32 bit unsigned integer (Int32). The value has to be of type MMS_INTEGER.

Returns
the value if the object as 32 bit unsigned integer
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.
UInt32 IEC61850.Common.MmsValue.ToUnixTimestamp ( )

Gets the timestamp value as UTC time in s (UNIX time stamp).

Return the value as seconds since epoch (1.1.1970 UTC). The value has to be of type MMS_UTC_TIME.

Returns
The UTC time in seconds (UNIX time stamp).
Exceptions
MmsValueExceptionThis exception is thrown if the value has the wrong type.

The documentation for this class was generated from the following file: