PLCnext API Documentation  21.0.0.35466
Classes | Enumerations | Functions
Arp::Plc::Gds::Services Namespace Reference

Namespace for services of the Global Data Space (GDS) More...

Classes

class  DataAccessServiceProxy
 
class  DataAccessServiceProxyFactory
 
struct  ForceItem
 A force item structure. More...
 
class  ForceServiceProxy
 
class  ForceServiceProxyFactory
 
class  IDataAccessService
 Services for the direct data access. More...
 
class  IForceService
 Service for managing and controlling force variables by the Arp GDS. More...
 
class  ISubscriptionService
 Services for the subscription. More...
 
struct  ReadItem
 Stores the data to be read, written by the controller and a possible data access error. More...
 
class  SubscriptionServiceProxy
 
class  SubscriptionServiceProxyFactory
 
struct  VariableInfo
 Describes a subscribed variable. More...
 
struct  WriteItem
 Stores the to be written data and the related variable name to be write to. More...
 

Enumerations

enum  DataAccessError : uint8 {
  DataAccessError::None = 0, DataAccessError::NotExists = 1, DataAccessError::NotAuthorized = 2, DataAccessError::TypeMismatch = 3,
  DataAccessError::PortNameSyntaxError = 4, DataAccessError::PortNameSemanticError = 5, DataAccessError::IndexOutOfRange = 6, DataAccessError::NotImplemented = 7,
  DataAccessError::NotSupported = 8, DataAccessError::CurrentlyUnavailable = 9, DataAccessError::UnvalidSubscription = 10, DataAccessError::NoData = 11,
  DataAccessError::InvalidConfig = 12, DataAccessError::Unspecified = 255
}
 This enumeration contains the possible data access errors. More...
 
enum  SubscriptionKind : int32 {
  SubscriptionKind::None = 0, SubscriptionKind::HighPerformance = 1, SubscriptionKind::RealTime = 2, SubscriptionKind::Recording = 3,
  SubscriptionKind::ClosedRealTime = 4, SubscriptionKind::DirectRead = 5
}
 This enumeration contains the possible kinds of subscriptions. More...
 

Functions

std::ostream & operator<< (std::ostream &os, DataAccessError rhs)
 
std::istream & operator>> (std::istream &is, DataAccessError &rhs)
 
std::ostream & operator<< (std::ostream &os, SubscriptionKind rhs)
 
std::istream & operator>> (std::istream &is, SubscriptionKind &rhs)
 

Detailed Description

Namespace for services of the Global Data Space (GDS)

Enumeration Type Documentation

◆ DataAccessError

This enumeration contains the possible data access errors.

Enumerator
None 

No error.

NotExists 

The variable does not exist.

NotAuthorized 

The user is not authorized.

TypeMismatch 

During a write operation the type of the value is not suitable for the particular variable.

The Arp.Plc.Gds.Services.IDataAccessService does not convert types. The type of each value which is to be written needs to be suitable for the particular variable.

PortNameSyntaxError 

The name of the variable as given during a write or read operation is syntactically not correct.

For example the variable name contains an index range.

PortNameSemanticError 

The semantic of the name of the variable as given during a write or read operation is semantically not correct.

For example the variable name contains an index range with a start index not lower than the end index.

IndexOutOfRange 

The variable name contains an index which is out of range.

For example a the variable is addressed as if it was a

NotImplemented 

The variable type is not implemented yet.

NotSupported 

The variable type is not supported.

CurrentlyUnavailable 

The requested service is currently not available.

UnvalidSubscription 

Invalid subscription.

NoData 

NoData available.

InvalidConfig 

The configuration for the subscription contains an error

Unspecified 

Unspecified error. See log file for more information.

◆ SubscriptionKind

This enumeration contains the possible kinds of subscriptions.

One of the main difference between these kinds are the internal used buffer and the way how they are triggered.

These enumerated kinds are equivalent to the kinds from Arp::Meta:Subscriptionkind.

Enumerator
None 
HighPerformance 

The subscription operates with a task-triggered DoubleBuffer, which holds the last written port data.

RealTime 

The subscription operates with a task-triggered QuadBuffer, which holds the last written port data.

Recording 

The subscription operates with a task-triggered RingBuffer, which holds the last N numbers of written data. N is a configurable parameter which define the capacity of the ring.

ClosedRealTime 

The subscription operates with a task-triggered RingBuffer, which holds the last N numbers of written data. N is a configurable parameter which define the capacity of the ring.

DirectRead 

The subscription operates with a self-triggered DoubleBuffer, which holds the last written port data.