PLCnext API Documentation 24.6.0.58
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Arp::Io::Interbus::Services::IPcpService Class Referenceabstract

This service provides acyclic communication to PCP devices. As default all PCP devices in the Interbus get a Communication Reference. The CR is assigned in the connection order starting with 2. This CR ist used to select the device in all operations of this service. More...

#include <IPcpService.hpp>

Inheritance diagram for Arp::Io::Interbus::Services::IPcpService:
Inheritance graph

Public Types

using Ptr = std::shared_ptr< IPcpService >
 
- Public Types inherited from Arp::System::Rsc::Services::IRscService
typedef std::shared_ptr< IRscServicePtr
 

Public Member Functions

 IPcpService (void)=default
 Constructs an IPcpService instance.
 
virtual InitiateResult PcpInitiate (uint8 communicationReference)=0
 This operation establishs a connection to a PCP device. More...
 
virtual void PcpAbort (uint8 communicationReference, uint8 reasonCode, const std::vector< byte > &abortDetail)=0
 This operation aborts a connection to a PCP device. More...
 
virtual IdentifyResult PcpIdentify (uint8 communicationReference, uint8 invokeId)=0
 This operation gets device information of PCP device. More...
 
virtual StatusResult PcpStatus (uint8 communicationReference, uint8 invokeId)=0
 This operation gets current status of PCP device. More...
 
virtual InterbusResult PcpRead (uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, std::vector< byte > &data)=0
 This operation reads a data record from a PCP device. More...
 
virtual InterbusResult PcpWrite (uint8 communicationReference, uint8 invokeId, const ObjectAddress &pcpObject, const std::vector< byte > &data)=0
 This operation writes a data record to a PCP device. More...
 
- Public Member Functions inherited from Arp::System::Rsc::Services::IRscService
 IRscService (void)=default
 Constructs an IRscService instance.
 
virtual ~IRscService (void)=default
 Destructs this instance and frees all resouces.
 

Static Public Member Functions

static IRscServiceProxyFactory & GetProxyFactory (void)
 
- Static Public Member Functions inherited from Arp::System::Rsc::Services::IRscService
static IRscServiceProxyFactory & GetProxyFactory (void)
 Returns a reference to service proxy factory to create a proxy instance of the service More...
 

Detailed Description

This service provides acyclic communication to PCP devices. As default all PCP devices in the Interbus get a Communication Reference. The CR is assigned in the connection order starting with 2. This CR ist used to select the device in all operations of this service.

The execution of PCP services can take some time (seriel communication). For more information to PCP see "IBS SYS PCP G4 UM".

This service is defined in library Arp.Io.Interbus.

Realtime Usage: This API call does not have to be deterministic in runtime behaviour, so an asynchronous execution should be considered.

Member Function Documentation

◆ PcpAbort()

virtual void Arp::Io::Interbus::Services::IPcpService::PcpAbort ( uint8  communicationReference,
uint8  reasonCode,
const std::vector< byte > &  abortDetail 
)
pure virtual

This operation aborts a connection to a PCP device.

Parameters
communicationReferenceCommunication reference
reasonCodeReason for connection abort
abortDetailAbort details

◆ PcpIdentify()

virtual IdentifyResult Arp::Io::Interbus::Services::IPcpService::PcpIdentify ( uint8  communicationReference,
uint8  invokeId 
)
pure virtual

This operation gets device information of PCP device.

Parameters
communicationReferenceCommunication reference
invokeIdInvode ID (Default value = 0)
Returns
Structure with result Arp.Io.Interbus.Services.IdentifyResult

◆ PcpInitiate()

virtual InitiateResult Arp::Io::Interbus::Services::IPcpService::PcpInitiate ( uint8  communicationReference)
pure virtual

This operation establishs a connection to a PCP device.

Parameters
communicationReferenceCommunication reference
Returns
Structure with result Arp.Io.Interbus.Services.InitiateResult

◆ PcpRead()

virtual InterbusResult Arp::Io::Interbus::Services::IPcpService::PcpRead ( uint8  communicationReference,
uint8  invokeId,
const ObjectAddress pcpObject,
std::vector< byte > &  data 
)
pure virtual

This operation reads a data record from a PCP device.

Parameters
communicationReferenceCommunication reference
invokeIdInvoke ID (Default value = 0)
pcpObjectSelected PCP object
dataData that are read from the object
Returns
Structure with error information Arp.Io.Interbus.Services.InterbusResult

◆ PcpStatus()

virtual StatusResult Arp::Io::Interbus::Services::IPcpService::PcpStatus ( uint8  communicationReference,
uint8  invokeId 
)
pure virtual

This operation gets current status of PCP device.

Parameters
communicationReferenceCommunication reference
invokeIdInvoke ID (Default value = 0)
Returns
Structure with result Arp.Io.Interbus.Services.StatusResult

◆ PcpWrite()

virtual InterbusResult Arp::Io::Interbus::Services::IPcpService::PcpWrite ( uint8  communicationReference,
uint8  invokeId,
const ObjectAddress pcpObject,
const std::vector< byte > &  data 
)
pure virtual

This operation writes a data record to a PCP device.

Parameters
communicationReferenceCommunication reference
invokeIdInvoke ID (Default value = 0)
pcpObjectSelected PCP object
dataData that shall be written in the object
Returns
Structure with error information Arp.Io.Interbus.Services.InterbusResult

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