PLCnext API Documentation 25.9.0.13
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Arp::Io::ProfinetStack::System::Services::IDcpService Class Referenceabstract

This service enables sending DCP requests and retrieving confirmations. More...

#include <IDcpService.hpp>

Inheritance diagram for Arp::Io::ProfinetStack::System::Services::IDcpService:
Inheritance graph

Public Types

using Ptr = std::shared_ptr< IDcpService >
 
- Public Types inherited from Arp::Base::Rsc::Commons::IRscService
using Ptr = std::shared_ptr< IRscService >
 The shared_ptr type of IRscService.
 

Public Member Functions

 IDcpService (void)=default
 Constructs an IDcpService instance.
 
virtual DcpResult IdentifyAll (uint8 networkInterface=0)=0
 This operation sends a request to identify all devices in a network. More...
 
virtual std::vector< DcpResultSetNames (const std::vector< Station > &stations, StoreOption storeOption, uint8 networkInterface=0)=0
 This operation sends requests to set the station names for multiple stations. More...
 
virtual std::vector< DcpResultSetIpAddresses (const std::vector< StationAddress > &stationAddresses, StoreOption storeOption, uint8 networkInterface=0)=0
 This operation sends requests to set the station network addresses for multiple stations. More...
 
virtual std::vector< DcpResultSendSignals (const std::vector< RscString< 18 > > &stationMacAddresses, uint8 networkInterface=0)=0
 This operation sends requests to let the station LEDs flash for 3s for multiple stations. More...
 
virtual std::vector< DcpResultResetToFactoryDefault (const std::vector< RscString< 18 > > &stationMacAddresses, uint8 networkInterface=0)=0
 This operation sends requests to reset all station data for multiple stations. More...
 
virtual std::vector< DcpConfirmationGetDcpConfirmations (const std::vector< uint32 > &xids, uint8 networkInterface=0)=0
 This operation returns all exisiting confirmations for selected requests. More...
 
- Public Member Functions inherited from Arp::Base::Rsc::Commons::IRscService
 IRscService (void)=default
 The default constructor.
 
 IRscService (const IRscService &arg)=delete
 The deleted copy constructor. More...
 
 IRscService (IRscService &&arg) noexcept=default
 The default move constructor. More...
 
IRscServiceoperator= (const IRscService &arg)=delete
 The deleted assignment operator. More...
 
IRscServiceoperator= (IRscService &&arg) noexcept=default
 The default move-assignment operator. More...
 
virtual ~IRscService (void)=default
 Destructs this instance and frees all resources.
 

Static Public Member Functions

static IRscServiceProxyFactoryGetProxyFactory (void)
 
- Static Public Member Functions inherited from Arp::Base::Rsc::Commons::IRscService
static IRscServiceProxyFactoryGetProxyFactory (void)
 Returns a reference to service proxy factory to create a proxy instance of this service. More...
 

Detailed Description

This service enables sending DCP requests and retrieving confirmations.

Each service method allows to enter the network interface. The value can be retrieved by calling Arp.Io.ProfinetStack.System.Services.IConfigurationService.Read with the option name 'PnC.Interface' to get the PROFINET Controller interface or 'PnD.Interface' to get the PROFINET Device interface. If no interface is selected (networkInterface = 0) the PROFINET Controller interface is selected automatically.

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

Member Function Documentation

◆ GetDcpConfirmations()

virtual std::vector< DcpConfirmation > Arp::Io::ProfinetStack::System::Services::IDcpService::GetDcpConfirmations ( const std::vector< uint32 > &  xids,
uint8  networkInterface = 0 
)
pure virtual

This operation returns all exisiting confirmations for selected requests.

Parameters
xidsxids that have bben returned in Arp.Io.ProfinetStack.System.Services.DcpResult on each request.
networkInterfaceID of the network interface.
Returns
Arp.Io.ProfinetStack.System.Services.DcpConfirmation contains Arp.Io.ProfinetStack.System.Services.DcpResult and the confirmation data (for IdentifyAll requests).

◆ IdentifyAll()

virtual DcpResult Arp::Io::ProfinetStack::System::Services::IDcpService::IdentifyAll ( uint8  networkInterface = 0)
pure virtual

This operation sends a request to identify all devices in a network.

Parameters
networkInterfaceID of the network interface.
Returns
Arp.Io.ProfinetStack.System.Services.DcpResult contains an error code and the xid that has to be used to retrieve the confirmation.

The operation can take up to 4s until all stations send a response.

◆ ResetToFactoryDefault()

virtual std::vector< DcpResult > Arp::Io::ProfinetStack::System::Services::IDcpService::ResetToFactoryDefault ( const std::vector< RscString< 18 > > &  stationMacAddresses,
uint8  networkInterface = 0 
)
pure virtual

This operation sends requests to reset all station data for multiple stations.

Parameters
stationMacAddressesSpecifies the MAC addresses of the devices which shall be reset.
networkInterfaceID of the network interface.
Returns
Arp.Io.ProfinetStack.System.Services.DcpResult contains an error code and the xid that has to be used to retrieve the confirmation for each request station.

The MAC address consists of 6 values that are separated by a ':'.

◆ SendSignals()

virtual std::vector< DcpResult > Arp::Io::ProfinetStack::System::Services::IDcpService::SendSignals ( const std::vector< RscString< 18 > > &  stationMacAddresses,
uint8  networkInterface = 0 
)
pure virtual

This operation sends requests to let the station LEDs flash for 3s for multiple stations.

Parameters
stationMacAddressesSpecifies the MAC addresses of the devices for which the operation shall be executed
networkInterfaceID of the network interface.
Returns
Arp.Io.ProfinetStack.System.Services.DcpResult contains an error code and the xid that has to be used to retrieve the confirmation for each request station.

The MAC address consists of 6 values that are separated by a ':'.

◆ SetIpAddresses()

virtual std::vector< DcpResult > Arp::Io::ProfinetStack::System::Services::IDcpService::SetIpAddresses ( const std::vector< StationAddress > &  stationAddresses,
StoreOption  storeOption,
uint8  networkInterface = 0 
)
pure virtual

This operation sends requests to set the station network addresses for multiple stations.

Parameters
stationAddressesContains the parameters to identify the stations and set the network addresses.
storeOptionSpecifies whether the values shall be set permanently or not.
networkInterfaceID of the network interface.
Returns
Arp.Io.ProfinetStack.System.Services.DcpResult contains an error code and the xid that has to be used to retrieve the confirmation for each request station.

◆ SetNames()

virtual std::vector< DcpResult > Arp::Io::ProfinetStack::System::Services::IDcpService::SetNames ( const std::vector< Station > &  stations,
StoreOption  storeOption,
uint8  networkInterface = 0 
)
pure virtual

This operation sends requests to set the station names for multiple stations.

Parameters
stationsContains the parameters to identify the stations and set the names.
storeOptionSpecifies whether the values shall be set permanently or not.
networkInterfaceID of the network interface.
Returns
Arp.Io.ProfinetStack.System.Services.DcpResult contains an error code and the xid that has to be used to retrieve the confirmation for each request station.

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