PLCnext API Documentation 24.0.0.71
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::Device::Interface::Services::IDeviceControlService Class Referenceabstract

This service provides operations to control the device. More...

#include <IDeviceControlService.hpp>

Inheritance diagram for Arp::Device::Interface::Services::IDeviceControlService:
Inheritance graph

Public Types

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

Public Member Functions

 IDeviceControlService (void)=default
 Constructs an IDeviceControlService instance.
 
virtual void RestartDevice ()=0
 This operation reboots the device.
 
virtual AccessErrorCode ResetToFactoryDefaults (uint16 resetType)=0
 This operation resets the device configuration to factory default settings. More...
 
virtual AccessErrorCode StartFirmwareUpdate (uint16 updateType)=0
 This operation starts a firmware update. 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 operations to control the device.

The service is defined in the library Arp.Device.Interface.
A current documentation of device control service can be found in the Phoenix Contact "PLCnext Info Center", e.g.: PLCnext Info Center: IDeviceControlService.

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

Member Function Documentation

◆ ResetToFactoryDefaults()

virtual AccessErrorCode Arp::Device::Interface::Services::IDeviceControlService::ResetToFactoryDefaults ( uint16  resetType)
pure virtual

This operation resets the device configuration to factory default settings.

Parameters
resetTypeType of reset to be performed:
Type 1 resets the device configuration to factory default settings.
Type 2 downgrades the firmware to the initial factory version and resets the device configuration to factory default settings.
Returns
The result of the start of the reset operation as Arp.Device.Interface.Services.AccessErrorCode.

When the reset was started successfully, the PLC will stop and then reboot. During the reboot the requested defaults will be set.

◆ StartFirmwareUpdate()

virtual AccessErrorCode Arp::Device::Interface::Services::IDeviceControlService::StartFirmwareUpdate ( uint16  updateType)
pure virtual

This operation starts a firmware update.

Parameters
updateTypeReserved for future extentions, must be 0 in this version.
Returns
The result of the start of the update operation as Arp.Device.Interface.Services.AccessErrorCode.

Prior to starting the firmware update, the respective raucb-container must be copied to the path "/opt/plcnext" on the device.
When the start of the firmware update was successfull, the PLC will stop, perform the update and then reboot.


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