PLCnext API Documentation  20.6.0.30321
Classes | Enumerations | Functions
Arp::Services::DataLogger::Services Namespace Reference

Namespace for services of the DataLogger More...

Classes

class  DataLoggerService2ProxyFactory
 
class  IDataLoggerService2
 The DataLogger provides an interface to log and store variables during firmware runtime. More...
 
struct  SessionProperty
 All available names of properties that can be set on a session More...
 
struct  TriggerRpnItem
 Item of the trigger condition/>. More...
 

Enumerations

enum  ErrorCode : uint8 {
  ErrorCode::None = 0, ErrorCode::NoSuchSession = 1, ErrorCode::SessionRunning = 2, ErrorCode::NoSuchVariable = 3,
  ErrorCode::AlreadyExists = 4, ErrorCode::OutOfMemory = 5, ErrorCode::NotSupported = 6, ErrorCode::NoData = 7,
  ErrorCode::DataUnavailable = 8, ErrorCode::InvalidConfig = 9, ErrorCode::Unspecified = 255
}
 Possible error codes for data-logger rsc services. More...
 
enum  RpnItemType : uint8 { RpnItemType::None = 0, RpnItemType::Variable = 1, RpnItemType::Constant = 2, RpnItemType::Operation = 3 }
 Item type of the Arp.Services.DataLogger.Services.TriggerRpnItem structure. (RPN = Reverse Polnish Notation) More...
 
enum  SessionPropertyName : int32 {
  SessionPropertyName::Undefined = 0, SessionPropertyName::SamplingInterval = 1, SessionPropertyName::PublishInterval = 2, SessionPropertyName::BufferCapacity = 3,
  SessionPropertyName::SinkType = 4, SessionPropertyName::SinkProperties = 5
}
 All available names of properties that can be set on a session More...
 
enum  SessionState : uint8 {
  SessionState::None = 0, SessionState::Created = 1, SessionState::Initialized = 2, SessionState::Running = 3,
  SessionState::Stopped = 4, SessionState::Error = 5
}
 State of a data logger session More...
 
enum  SinkType : int32 { SinkType::None = 0, SinkType::Empty = 1, SinkType::Database = 2, SinkType::Volatile = 3 }
 
enum  TriggerConditionOperation : uint8 {
  TriggerConditionOperation::None = 0, TriggerConditionOperation::Equals = 1, TriggerConditionOperation::NotEqual = 2, TriggerConditionOperation::GreaterThan = 3,
  TriggerConditionOperation::GreaterEqual = 4, TriggerConditionOperation::LessThan = 5, TriggerConditionOperation::LessEqual = 6, TriggerConditionOperation::Modified = 7,
  TriggerConditionOperation::RisingEdge = 8, TriggerConditionOperation::FallingEdge = 9, TriggerConditionOperation::And = 10, TriggerConditionOperation::Or = 11
}
 
enum  RecordType : uint8 {
  RecordType::None = 0, RecordType::Continuous = 1, RecordType::PreCycle = 2, RecordType::Trigger = 3,
  RecordType::PostCycle = 4
}
 Attribute to mark the recorded values of a triggered session More...
 

Functions

std::ostream & operator<< (std::ostream &os, ErrorCode rhs)
 
std::istream & operator>> (std::istream &is, ErrorCode &rhs)
 
std::ostream & operator<< (std::ostream &os, RpnItemType rhs)
 
std::istream & operator>> (std::istream &is, RpnItemType &rhs)
 
std::ostream & operator<< (std::ostream &os, SessionPropertyName rhs)
 
std::istream & operator>> (std::istream &is, SessionPropertyName &rhs)
 
std::ostream & operator<< (std::ostream &os, SessionState rhs)
 
std::istream & operator>> (std::istream &is, SessionState &rhs)
 
std::ostream & operator<< (std::ostream &os, SinkType rhs)
 
std::istream & operator>> (std::istream &is, SinkType &rhs)
 
std::ostream & operator<< (std::ostream &os, TriggerConditionOperation arg)
 
std::istream & operator>> (std::istream &is, TriggerConditionOperation &arg)
 
std::ostream & operator<< (std::ostream &os, RecordType rhs)
 
std::istream & operator>> (std::istream &is, RecordType &rhs)
 

Detailed Description

Namespace for services of the DataLogger

Enumeration Type Documentation

◆ ErrorCode

Possible error codes for data-logger rsc services.

Enumerator
None 

Function call succeeded.

NoSuchSession 

The specified session does not exist.

SessionRunning 

The specified session is in running state.

NoSuchVariable 

The specified variable does not exists.

AlreadyExists 

A session with the same name already exists.

OutOfMemory 

An attempt to allocate memory failed.

NotSupported 

Logging of variable not supported.

NoData 

No data exists for the requested time range

DataUnavailable 

Expected data is unavailable for the requested time range due to an unmounted volume an off-line archive or similar reason for temporary unavailability.

InvalidConfig 

The configuration for the session contains an error

Unspecified 

Unspecified error. See log file for more information.

◆ RecordType

Attribute to mark the recorded values of a triggered session

Enumerator
None 

Initialization value

Continuous 

Record belongs to continously logging session.

PreCycle 

Values are recorded before the condition was triggered

Trigger 

Records are recorded when the condition was triggered

PostCycle 

Records are recorded after the condition was triggered

◆ RpnItemType

Item type of the Arp.Services.DataLogger.Services.TriggerRpnItem structure. (RPN = Reverse Polnish Notation)

Enumerator
None 

Initialization value

Variable 

The Value of Item is the instance path of a variable.

Constant 

The Value of the Item is a constant.

Operation 

The value of Item is a byte containing a value of the Arp.Services.DataLogger.Services.TriggerConditionOperation enumeration.

◆ SessionPropertyName

All available names of properties that can be set on a session

Enumerator
Undefined 

Determines a newly created not yet configured property

<cref name="SessionProperty"> with undefined name will be ignored.

SamplingInterval 

The desired sampling rate. Can either be provided as Int64 which will be interpreted as microseconds count or as string containing the actual unit, e.g. "100ms".

See <cref name="ISubscriptionService::Subscribe"> for more information about the sampling rate

PublishInterval 

The rate in which values will be written to the session“s sink. Can either be provided as Int64 which will be interpreted as microseconds count or as string containing the actual unit, e.g. "100ms"

BufferCapacity 

Amount of capacity of the underlying ring buffer.

See <cref name="ISubscriptionService::CreateRecordingSubscription"> for more information

SinkType 

The type of sink used by the session. Must be of type <cref name="SinkType">

SinkProperties 

Special property to configure a session sinks. Properties must be provided as string.

◆ SessionState

State of a data logger session

Enumerator
None 

Initialization value

Created 

The session was already created but not yet initialized

Initialized 

The session has loaded a configuration and is ready to run

Running 

The session is currently running and logging variables

Stopped 

The session is currently not running.

Error 

The session is in an error state.

◆ SinkType

Enumerator
None 

Value not initialized.

Empty 

No sink assigned to session yet.

Database 

Sink using SQLite based database. Only sink where variables can be queried using RSC.

Volatile 

Sink used to store data in volatile memory, i.e. after a power reset or a deletion of the session all data is lost.

◆ TriggerConditionOperation

Enumerator
None 

No trigger condition, start recording immediately.

Equals 

Start recording if TriggerVariable1 is equal to TriggerVariable2.

NotEqual 

Start recording if TriggerVariable1 is not equal to TriggerVariable2.

GreaterThan 

Start recording if TriggerVariable1 is greater than to TriggerVariable2.

GreaterEqual 

Start recording if TriggerVariable1 is greater or equal to TriggerVariable2.

LessThan 

Start recording if TriggerVariable1 is less than TriggerVariable2.

LessEqual 

Start recording if TriggerVariable1 is less or equal to TriggerVariable2.

Modified 

Start recording when a modification of the TriggerVariable1 is detected.

RisingEdge 

Start recording when a positive (rising) edge of the TriggerVariable1 is detected.

FallingEdge 

Start recording when a negative (falling) edge of the TriggerVariable1 is detected.

And 

Start recording if TriggerCondition1 and TriggerCondition2 is true.

Or 

Start recording if TriggerCondition1 or TriggerCondition2 is true.