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

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

Classes

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

Enumerations

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

Functions

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

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

StringConversionFailed 

The string conversion failed with an error.

StringLengthExceeds 

The string length exceeds.

For example the length of variable value to write exceeds the capacity of the target variable.

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.

Use Arp.Plc.Gds.Services.ISubscriptionService.CreateRecordingSubscription to create a subscription of this kind and to be able to directly set the capacity of the RingBuffer.

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.

Deprecated, use Arp.Plc.Gds.Services.SubscriptionKind.Recording instead.

DirectRead 

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